<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>graphiti &#8211; iAIFeed</title>
	<atom:link href="https://www.iaifeed.com/tag/graphiti/feed" rel="self" type="application/rss+xml" />
	<link>https://www.iaifeed.com</link>
	<description>iAIFeed</description>
	<lastBuildDate>Wed, 07 Oct 2026 12:45:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://www.iaifeed.com/wp-content/uploads/2026/07/cropped-iaifeed1-80x80.png</url>
	<title>graphiti &#8211; iAIFeed</title>
	<link>https://www.iaifeed.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Give an AI Agent Long-Term Memory with Graphiti</title>
		<link>https://www.iaifeed.com/how-to-give-an-ai-agent-long-term-memory-with-graphiti</link>
					<comments>https://www.iaifeed.com/how-to-give-an-ai-agent-long-term-memory-with-graphiti#respond</comments>
		
		<dc:creator><![CDATA[iamltlb]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 12:45:27 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[graphiti]]></category>
		<guid isPermaLink="false">https://www.iaifeed.com/how-to-give-an-ai-agent-long-term-memory-with-graphiti</guid>

					<description><![CDATA[A chat agent forgets everything between sessions. Graphiti stores facts as a time-stamped graph so the agent remembers what changed and when. Here is how to wire it into an agent loop.]]></description>
										<content:encoded><![CDATA[<p>Most AI agents have no memory past the current conversation. Stuff a summary into the prompt and it ages badly — the agent keeps citing a fact a user changed last week. <a href="https://www.iaifeed.com/ai-tool/graphiti">Graphiti</a> fixes this by storing facts in a temporal graph: each becomes invalid when it is superseded, and retrievable while it is still true.</p>
<p>This assumes you already have Graphiti installed and connected to a graph database. If not, start with the knowledge-graph setup guide — here we look at the agent integration.</p>
<h2>Why is a vector store not enough for agent memory?</h2>
<p>A vector store returns the most similar text regardless of when it was written. Ask &#8220;what plan is the customer on?&#8221; and it can return both the old plan and the new one, leaving the model to guess. Temporal graphs rank by recency and validity, so outdated facts are filtered out rather than mixed in.</p>
<h2>How do you wire Graphiti into an agent loop?</h2>
<ol>
<li>After each user turn, add the turn as an episode.</li>
<li>Before answering, query the graph for relevant, currently-valid facts.</li>
<li>Inject those facts into the model&#8217;s context as structured notes.</li>
<li>Let the model answer; store the reply as the next episode.</li>
</ol>
<p>The graph grows with the conversation and stays current without re-summarizing history.</p>
<h2>How do you handle facts that change?</h2>
<p>When a new episode contradicts an old edge, Graphiti invalidates the old one instead of deleting it. You can ask &#8220;what was the plan last quarter?&#8221; and still get the historical answer, while current queries see only the fresh value. This history is exactly what a summary-based memory loses.</p>
<h2>How do you control cost and noise?</h2>
<ul>
<li>Don&#8217;t ingest everything — store decisions and state changes, not chit-chat.</li>
<li>Batch episodes where you can, since extraction costs tokens per episode.</li>
<li>Prune entities the agent never queries.</li>
<li>Use a smaller, cheaper model for extraction if your accuracy tolerates it.</li>
</ul>
<h2>How do you retrieve the right facts?</h2>
<p>Use hybrid search: semantic similarity to find candidate entities, plus graph traversal to pull in their relationships, plus a time filter to keep only valid edges. Then cap the number of facts you inject — flooding the context with 50 facts hurts answer quality more than it helps.</p>
<h2>What are the limitations?</h2>
<p>You now run a graph database alongside your app, and extraction can misread ambiguous statements, planting wrong edges. The system is as good as the data you feed it. For a short-lived chat assistant, this is more machinery than the problem needs; for an agent that tracks a customer or project over months, it pays off.</p>
<h2>Key Takeaways</h2>
<ul>
<li>Graphiti gives agents time-aware memory that filters out stale facts.</li>
<li>Add each turn as an episode; query valid facts before answering.</li>
<li>Superseded facts are invalidated, not deleted, keeping history queryable.</li>
<li>Ingest sparingly and cap injected facts to protect quality.</li>
<li>Overkill for short chats; valuable for long-lived agent state.</li>
</ul>
<p>Last updated October 2026. More at <a href="https://www.iaifeed.com/ai-tool/graphiti">Graphiti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iaifeed.com/how-to-give-an-ai-agent-long-term-memory-with-graphiti/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Build a Temporal Knowledge Graph with Graphiti</title>
		<link>https://www.iaifeed.com/how-to-build-a-temporal-knowledge-graph-with-graphiti</link>
					<comments>https://www.iaifeed.com/how-to-build-a-temporal-knowledge-graph-with-graphiti#respond</comments>
		
		<dc:creator><![CDATA[iamltlb]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 12:45:10 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[graphiti]]></category>
		<guid isPermaLink="false">https://www.iaifeed.com/how-to-build-a-temporal-knowledge-graph-with-graphiti</guid>

					<description><![CDATA[Graphiti builds knowledge graphs that track how facts change over time, so your AI agent knows what is still true. Here is how to install it, add episodes, and query the graph.]]></description>
										<content:encoded><![CDATA[<p>Graphiti is an open-source framework from Zep for building temporally-aware knowledge graphs aimed at AI agents. Unlike a static graph, every edge has a validity window, so when a fact changes the old version is invalidated rather than overwritten. Ask a question and you get what was true then, not a merged blur.</p>
<p>It is Python, runs against Neo4j or FalkorDB, and pairs with a Neo4j graph database you host yourself. If you are building memory for an agent that needs to reason about state over time — subscriptions, org charts, inventory — <a href="https://www.iaifeed.com/ai-tool/graphiti">Graphiti</a> is built for exactly that.</p>
<h2>What is Graphiti?</h2>
<p>Graphiti is a library that ingests data as &#8220;episodes&#8221; and extracts entities and relationships into a graph, timestamping each fact. It supports incremental updates, so new episodes merge into the existing graph, and hybrid search that mixes semantic and keyword retrieval.</p>
<h2>What do you need before starting?</h2>
<ul>
<li>Python 3.10 or newer.</li>
<li>A running Neo4j (or FalkorDB) instance with credentials.</li>
<li>An LLM API key for entity extraction (OpenAI or compatible).</li>
<li>Optionally an embedding model for semantic search.</li>
</ul>
<p>Neo4j Aura&#8217;s free tier works for testing.</p>
<h2>How do you install and connect?</h2>
<ol>
<li><code>pip install graphiti-core</code></li>
<li>Set <code>NEO4J_URI</code>, <code>NEO4J_USER</code>, <code>NEO4J_PASSWORD</code> in your environment.</li>
<li>Set your model API key.</li>
<li>Initialize the client pointed at the graph.</li>
<li>Build indexes once before the first ingest.</li>
</ol>
<p>Index building takes a bit the first time, then ingests are fast.</p>
<h2>How do you add data?</h2>
<p>You add episodes — text, JSON or message objects. Graphiti runs entity extraction, links new nodes to existing ones, and records when each relationship became valid. Point it at a stream of updates (a CRM feed, a changelog) and it keeps the graph current instead of rebuilding it.</p>
<h2>How do you query it?</h2>
<p>Search combines semantic similarity with keyword and graph traversal. You can ask for an entity and get its current relationships, or ask a time-bounded question and get only facts valid in that window. This temporal filter is the part that separates it from a plain vector store, which would return stale chunks alongside fresh ones.</p>
<h2>What are the trade-offs?</h2>
<p>You run and pay for a graph database, and entity extraction costs LLM tokens per episode, so ingesting everything is expensive. Noisy input produces a noisy graph. It also adds real complexity — for a simple FAQ bot, a vector database is easier and cheaper. Graphiti earns its keep when relationships and time matter.</p>
<h2>Key Takeaways</h2>
<ul>
<li>Graphiti builds temporally-aware knowledge graphs for AI agents.</li>
<li>Every edge has a validity window; old facts are invalidated, not deleted.</li>
<li>Needs Python 3.10+, Neo4j/FalkorDB and an LLM key.</li>
<li>Ingests data as episodes with incremental updates.</li>
<li>Worth it when time and relationships matter; overkill for simple search.</li>
</ul>
<p>Last updated October 2026. Details at <a href="https://www.iaifeed.com/ai-tool/graphiti">Graphiti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iaifeed.com/how-to-build-a-temporal-knowledge-graph-with-graphiti/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
