Who it is forA privacy-minded developer who cannot send documents to a hosted model.
The problemThe default setup sends everything to OpenAI.
The outcomeGraphiti running against local deepseek-r1:7b and nomic-embed-text models via OpenAIGenericClient.
What you need first
- Python 3.10 or higher; install with `pip install graphiti-core`
- A graph database: Neo4j 5.26, FalkorDB 1.1.2, Amazon Neptune, or Kuzu (deprecated)
- An OpenAI API key by default, or another provider such as Anthropic, Gemini, Groq or a local Ollama server
Steps
- Pull the models with
ollama pull deepseek-r1:7bandollama pull nomic-embed-text - Make sure Ollama is running with
ollama serve - Configure OpenAIGenericClient with base_url http://localhost:11434/v1 and an OpenAIEmbedder with embedding_dim 768, as in the README
- Set structured_output_mode to json_object if your local model does not honor json_schema
Prompt for your agent
Using getzep/graphiti with a local Ollama server, configure OpenAIGenericClient and OpenAIEmbedder as the README shows, ingest <my notes folder>, and report how many entities were extracted and any extraction failures.
Caveat. Very small local models often emit JSON that does not match the schema; prefer the most capable model you can run.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for getzep/graphiti and "Build a private knowledge graph with local models"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer