[{"data":1,"prerenderedAt":569},["ShallowReactive",2],{"tool-zep-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":27,"cover":46,"og":47,"expertise":48,"locales":49,"lang":50,"title":53,"description":54,"coverAlt":55,"url":56,"pricing":57,"kind":9,"metaTitle":58,"takeaways":59,"faq":65,"toc":78,"blocks":103,"others":369},"zep","2026-10-06",11,"rag",[9,10,11,12,13],"Agent memory","Knowledge graph","Temporal graph","Context engineering","RAG",[15,16,17,18,19,20,21,22],"zep ai","zep agent memory","graphiti knowledge graph","zep pricing","zep vs mem0","long-term memory for agents","temporal knowledge graph","zep cloud",[24],{"name":25,"url":26},"Zep","https:\u002F\u002Fwww.getzep.com\u002F",[28,31,34,37,40,43],{"title":29,"url":30},"Zep pricing: plans, credits and limits","https:\u002F\u002Fwww.getzep.com\u002Fpricing",{"title":32,"url":33},"Zep documentation","https:\u002F\u002Fhelp.getzep.com\u002F",{"title":35,"url":36},"Graphiti on GitHub","https:\u002F\u002Fgithub.com\u002Fgetzep\u002Fgraphiti",{"title":38,"url":39},"Graphiti product page","https:\u002F\u002Fwww.getzep.com\u002Fplatform\u002Fgraphiti\u002F",{"title":41,"url":42},"Announcing a new direction for Zep's open-source strategy","https:\u002F\u002Fwww.getzep.com\u002Fblog\u002Fannouncing-a-new-direction-for-zeps-open-source-strategy\u002F",{"title":44,"url":45},"Graphiti: temporal knowledge graphs for AI agents (arXiv)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.13956","\u002Fimages\u002Fblog\u002Fzep\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fzep\u002Fog.jpg","ai-engineer",[50,51,52],"en","de","hu","Zep review: agent memory on a temporal graph","Zep is a hosted agent-memory API on a temporal knowledge graph: credits on writes, retrieval free, Flex from $125 a month, Graphiti as the part you can self-host.","Diagram of how a fact reaches the prompt in Zep: messages and facts are extracted into a per-user context graph of entities and relationships, and retrieval walks the graph to return a context block with the supporting facts.","https:\u002F\u002Fwww.getzep.com","Apache-2.0 core · Cloud from $50 per month","Zep review: memory, credits, self-hosting · Balázs Csorba",[60,61,62,63,64],"Zep is a hosted agent-memory API that stores facts in a temporal knowledge graph and returns the context an assistant should see on the next turn.","Credits are charged on writes only, one credit per episode up to 350 bytes, while retrieval, storage, threads and users are free.","Self-serve plans are Free with 10,000 credits, Flex at $125 for 50,000 credits and Flex Plus at $375 for 200,000, with SOC 2 Type II and a HIPAA BAA reserved for Enterprise.","Zep Community Edition was discontinued in April 2025, so Graphiti is the only part that can be self-hosted.","Extraction runs a model on every write, which makes cost a function of how talkative the agent is and makes extractor errors silently wrong context.",[66,69,72,75],{"q":67,"a":68},"How does Zep charge for usage?","By credits on writes: an episode up to 350 bytes costs one credit, a 640-byte episode costs two and a 1,200-byte episode costs four. Retrieval, storage, threads, users and graph storage cost nothing, so a read-heavy agent keeps running cheaply.",{"q":70,"a":71},"Can Zep be self-hosted?","Not as a product. Zep Community Edition was discontinued in April 2025 and its code sits in a legacy folder; Graphiti, the Apache-2.0 temporal graph library, can run locally, and the full service is available inside your own VPC only through the Enterprise tier.",{"q":73,"a":74},"How much does Zep cost?","The free tier gives 10,000 credits a month, Flex is $125 a month for 50,000 credits with overage at $25 per 10,000, and Flex Plus is $375 for 200,000 credits. Enterprise pricing is negotiated and adds SOC 2 Type II, a HIPAA BAA and deployment options.",{"q":76,"a":77},"What is the difference between Zep and a vector store for chat history?","A vector store returns what is textually similar, including superseded facts, while Zep stores entities and relations with validity windows, so retrieval can return what is true now and what changed. The trade-off is a model call on every write, and its mistakes become context.",[79,82,85,88,91,94,97,100],{"id":80,"title":81},"what-it-is","What it is",{"id":83,"title":84},"how-it-works","How it works",{"id":86,"title":87},"getting-started","Getting started",{"id":89,"title":90},"performance","Performance and cost",{"id":92,"title":93},"pricing","Pricing",{"id":95,"title":96},"where-it-shingles","Where it shingles",{"id":98,"title":99},"verdict","Verdict",{"id":101,"title":102},"sources","Sources",[104,112,115,118,138,156,157,160,169,172,173,176,178,181,188,189,192,240,243,251,254,255,258,268,269,272,317,320,326,327,330,343,347,348],{"type":105,"content":106},"paragraph",[107,108],"Zep is an agent-memory service: the application sends messages and facts, the service keeps a temporal knowledge graph per user, and each turn it returns the context an assistant should see next. ",{"tag":109,"children":110},"strong",[111],"It is the right purchase for a team whose agents fail because they forget, and the wrong one for a team that has to run everything itself, because the only self-hostable part is the Graphiti library.",{"type":105,"content":113},[114],"It sits between the application and the model, replacing hand-rolled summary buffers, vector stores full of old chat logs and the memory helpers inside LangChain and LlamaIndex. It competes with Mem0, with LangMem, with a Postgres table plus embeddings, and with the long-term memory endpoints the model vendors are adding; the difference is that Zep stores facts with a valid-from and valid-to time instead of a flat list of past messages.",{"type":116,"level":117,"id":80,"text":81},"heading",2,{"type":105,"content":119},[120,121,125,126,129,130,133,134,137],"The product is a managed API: ",{"tag":122,"children":123},"code",[124],"user.add"," for durable facts, ",{"tag":122,"children":127},[128],"thread.create"," and ",{"tag":122,"children":131},[132],"thread.add_messages"," for conversation, ",{"tag":122,"children":135},[136],"graph.get_user_context"," for retrieval. Ingestion is where the work happens, an extraction pass turns each episode into entities, relations and observations stamped with time, and retrieval assembles a context block together with the facts that support it. The open-source half is Graphiti, an Apache-2.0 library that performs the same temporal graph maintenance, including fact-level incremental updates rather than a nightly full re-index.",{"type":139,"ordered":140,"items":141},"list",false,[142,144,146,148,150,152,154],[143],"Licence and ownership: Graphiti is Apache-2.0 and maintained by Zep Software; the Zep memory service itself is a closed, hosted product.",[145],"Self-hosting: Zep Community Edition was discontinued in April 2025 and its code was moved to a legacy folder, so the graph engine can run locally while the full service cannot.",[147],"Metering: one credit per episode up to 350 bytes, one more per further 350 bytes or part thereof, and an eighth of a credit per webhook invocation.",[149],"Not metered: retrieval, storage, threads, users and graph storage cost nothing, so a read-heavy agent stays cheap to keep running.",[151],"Performance: the vendor reports p95 retrieval latency of 148 ms on a 10,000-node graph and 168 ms on a 100-million-node graph.",[153],"Benchmarks: vendor-reported 94.7% on LoCoMo and 90.2% on LongMemEval, two long-conversation memory benchmarks.",[155],"Deployment: cloud, cloud with customer-managed keys, or bring-your-own-cloud inside a customer VPC; SOC 2 Type II and a HIPAA BAA belong to the Enterprise tier.",{"type":116,"level":117,"id":83,"text":84},{"type":105,"content":158},[159],"Every message or fact sent is an episode. The extraction pass asks a model to identify entities and relations, writes them into the graph with a validity window, and touches only the nodes that episode affects: a correction closes the previous interval instead of overwriting it. Retrieval then walks the graph around the subject of the current question, takes the still-valid facts and the recent episodes, and returns a context string within a token budget.",{"type":161,"attrs":162,"inner":166,"caption":167},"diagram",{"viewBox":163,"role":164,"aria-labelledby":165},"0 0 760 300","img","d-zep-t d-zep-d","\u003Ctitle id=\"d-zep-t\">How a fact reaches the prompt\u003C\u002Ftitle>\u003Cdesc id=\"d-zep-d\">Messages and facts written by the application are extracted into a per-user context graph of entities and relationships, each with a validity window. On every turn the retrieval call walks that graph, skips superseded statements and returns a context block plus the supporting facts.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-n\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003Cmarker id=\"ah-na\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head-accent\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Crect x=\"270\" y=\"18\" width=\"220\" height=\"72\" rx=\"12\" class=\"d-accent\" \u002F>\u003Ctext x=\"380\" y=\"48\" text-anchor=\"middle\" class=\"d-text\">context graph\u003C\u002Ftext>\u003Ctext x=\"380\" y=\"72\" text-anchor=\"middle\" class=\"d-small\">entities and facts over time\u003C\u002Ftext>\u003Crect x=\"10\" y=\"188\" width=\"140\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"221\" text-anchor=\"middle\" class=\"d-text\">Alice\u003C\u002Ftext>\u003Crect x=\"200\" y=\"223\" width=\"140\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"256\" text-anchor=\"middle\" class=\"d-text\">CRM migration\u003C\u002Ftext>\u003Crect x=\"420\" y=\"223\" width=\"140\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"490\" y=\"256\" text-anchor=\"middle\" class=\"d-text\">Snowflake\u003C\u002Ftext>\u003Crect x=\"610\" y=\"188\" width=\"140\" height=\"54\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"680\" y=\"221\" text-anchor=\"middle\" class=\"d-text\">Q3 deadline\u003C\u002Ftext>\u003Cpath d=\"M380 92 L80 181\" class=\"d-line\" marker-end=\"url(#ah-n)\" \u002F>\u003Cpath d=\"M380 92 L270 216\" class=\"d-line\" marker-end=\"url(#ah-n)\" \u002F>\u003Cpath d=\"M380 92 L490 216\" class=\"d-line\" marker-end=\"url(#ah-n)\" \u002F>\u003Cpath d=\"M380 92 L680 181\" class=\"d-line\" marker-end=\"url(#ah-n)\" \u002F>\u003Cpath d=\"M150 229 L196 245\" class=\"d-dash d-line\" \u002F>\u003Cpath d=\"M340 250 L416 250\" class=\"d-dash d-line\" \u002F>\u003Cpath d=\"M560 245 L606 229\" class=\"d-dash d-line\" \u002F>\u003Ctext x=\"380\" y=\"244\" text-anchor=\"middle\" class=\"d-small\">works on\u003C\u002Ftext>\u003Ctext x=\"380\" y=\"294\" text-anchor=\"middle\" class=\"d-small\">superseded by\u003C\u002Ftext>\u003Cpath d=\"M270 44 L214 44 L214 160 L80 160 L80 181\" class=\"d-line-accent\" marker-end=\"url(#ah-na)\" \u002F>\u003Ctext x=\"206\" y=\"120\" text-anchor=\"end\" class=\"d-small\">get_user_context\u003C\u002Ftext>",[168],"The graph is kept per user and per thread, and retrieval assembles a context block rather than a similarity-ranked list of chunks.",{"type":105,"content":170},[171],"The design choice that matters is temporal rather than vector. A fact has a lifetime, so the graph can answer what is true now, what changed and when, and which of two contradictory statements supersedes the other. A summarising buffer cannot do that without a second system, and pure vector retrieval returns whatever is textually similar, including the stale version of a fact corrected last week.",{"type":116,"level":117,"id":86,"text":87},{"type":105,"content":174},[175],"The hosted quickstart is four calls. The snippet below stores a fact, opens a thread, appends a message and asks for the context an assistant should receive.",{"type":122,"code":177},"from zep_cloud.client import Zep\n\nclient = Zep(api_key=\"zep-...\")\n\n# durable facts, extracted into the context graph\nclient.user.add(user_id=\"alice\", fact=\"Alice leads the migration off the legacy CRM\")\n\n# episodic history: writes are charged as credits by size, retrieval is free\nclient.thread.create(thread_id=\"t-1\", user_id=\"alice\")\nclient.thread.add_messages(\n    thread_id=\"t-1\",\n    messages=[{\"role\": \"user\", \"content\": \"Where did we stop on the CRM migration?\"}],\n)\n\n# what the assistant should see on this turn\ncontext = client.graph.get_user_context(user_id=\"alice\", max_facts=25)\nprint(context.context)",{"type":105,"content":179},[180],"Two things behave differently from a vector store. First, ingestion is asynchronous and charged, so the natural pattern is to send messages as they happen and read context once per turn. Second, retrieval returns prose with its supporting facts rather than chunk ids, which moves the summarisation decision out of your prompt and into the service; convenient, but the quality of what the model now sees is Zep's extraction quality as much as your own prompt.",{"type":182,"variant":183,"title":184,"body":185},"callout","tip","Memory writes are model calls",[186],[187],"Every episode is extracted by a model before it reaches the graph, so a chatty agent that dumps raw tool output burns credits and, more importantly, inherits whatever the extractor decides is a fact. Send messages rather than tool dumps, cap the facts retrieved per call, and read what the service believes about a user after the first hundred turns.",{"type":116,"level":117,"id":89,"text":90},{"type":105,"content":190},[191],"Cost is credits, and credits are bytes: a 700-byte message costs two credits, so Flex with 50,000 credits a month holds roughly 25,000 average-sized messages before overage at $25 per 10,000 credits. The unusual part is that retrieval is unmetered, because that is the call an agent makes every turn; the meter runs only when memory is written.",{"type":193,"head":194,"rows":203},"table",[195,197,199,201],[196],"Operation",[198],"Credit cost",[200],"Charged when",[202],"What to watch",[204,213,222,231],[205,207,209,211],[206],"Episode up to 350 bytes",[208],"1",[210],"On every write: message, fact or JSON payload",[212],"Raw tool output pasted into messages is the usual overrun",[214,216,218,220],[215],"Each further 350 bytes",[217],"+1",[219],"Per episode, rounded up",[221],"A 1,200-byte episode already costs 4 credits",[223,225,227,229],[224],"Webhook invocation",[226],"1\u002F8",[228],"Where webhooks are enabled",[230],"Chatty automations add up quietly",[232,234,236,238],[233],"Retrieval, storage, users",[235],"0",[237],"Never",[239],"Read-heavy agents stay cheap",{"type":105,"content":241},[242],"The self-serve plans are Free with 10,000 credits a month, Flex at $125 for 50,000 credits and Flex Plus at $375 for 200,000, with overage at $25 per 10,000 and $75 per 40,000 credits respectively. Latency figures are vendor-reported: p95 retrieval of 148 ms at 10,000 nodes and 168 ms at 100 million, which says the graph does not visibly degrade with size and says nothing about the latency of the extraction step that runs before it.",{"type":139,"ordered":140,"items":244},[245,247,249],[246],"Size the plan on writes rather than reads: messages a day, average bytes, times credits, times thirty.",[248],"Strip raw tool payloads before they become episodes; a summarised tool result costs a fraction of a transcript.",[250],"Set a fact budget on retrieval so the context block never grows into a system prompt nobody reads.",{"type":105,"content":252},[253],"None of that is unusual for a memory vendor, they all bill writes and promise cheap reads. The specific risk here is the extraction step, because whatever the extractor misses cannot be retrieved later: there is no second pass over the raw messages once they are reduced to facts.",{"type":116,"level":117,"id":92,"text":93},{"type":105,"content":256},[257],"The pricing page lists credit-based self-serve plans and a negotiated Enterprise tier. The paid entry point on the current page is Flex at $125 a month, and below it sits only the free tier; Enterprise adds custom credits, guaranteed rate limits and the compliance paperwork.",{"type":139,"ordered":140,"items":259},[260,262,264,266],[261],"Free: 10,000 credits a month, two projects, one Memory MCP server seat, variable rate limits, no rollover.",[263],"Flex: $125 a month for 50,000 credits, then $25 per 10,000, 600 requests per minute, five projects, 30-day rollover, community support.",[265],"Flex Plus: $375 a month for 200,000 credits, then $75 per 40,000, 1,000 requests per minute, observations, webhooks, analytics and seven-day API logs.",[267],"Enterprise: custom credits and rates, SOC 2 Type II, HIPAA BAA, one-year audit and API logs, DPA for EU customers, deployment inside your own VPC.",{"type":116,"level":117,"id":95,"text":96},{"type":105,"content":270},[271],"Start with the deployment weakness: since Community Edition was discontinued in April 2025, the graph engine, Graphiti, runs locally but the product does not, so an air-gapped or regulated deployment is an Enterprise conversation and the self-serve tiers do not include SOC 2 Type II or a BAA. Second, memory is only as good as the extraction, and the extraction is a model call, so a hallucinated relation or a missed update is not a queryable error but silently wrong context. Third, credit metering makes cost a function of how talkative the agent is rather than of how many users it serves. Fourth, a graph is a different debugging surface from a chat log: explaining why the model saw a fact requires the graph, not the transcript.",{"type":193,"head":273,"rows":281},[274,276,277,279],[275],"Tool",[81],[278],"Where it wins",[280],"What you give up",[282,290,299,308],[283,284,286,288],[25],[285],"Hosted memory API over a temporal context graph",[287],"Facts with validity windows and vendor-reported p95 under 170 ms",[289],"No self-hosted product, and every write costs credits",[291,293,295,297],[292],"Mem0",[294],"Open-source memory layer with a hosted option",[296],"Simpler API and a server you can run yourself",[298],"Flatter memory model with less temporal bookkeeping",[300,302,304,306],[301],"LangMem and LangGraph",[303],"Memory primitives inside a graph framework",[305],"Memory next to the agents and stores you already run",[307],"Storage, extraction and retrieval have to be assembled by you",[309,311,313,315],[310],"Postgres plus embeddings",[312],"Chat history in a table, similarity search over it",[314],"No new vendor and full control of the data",[316],"No temporal reasoning, so superseded facts stay retrievable",{"type":105,"content":318},[319],"The real question is whether forgetting is the failure mode. If agents repeat themselves, lose decisions between sessions or cannot say what changed, a graph with validity windows answers it directly. If retrieval keeps returning the wrong document, memory is the wrong layer altogether, and the same effort spent on chunking and reranking pays back sooner.",{"type":182,"variant":321,"title":322,"body":323},"warn","Poisoning is a memory problem",[324],[325],"One message, web page or document written into memory can shape every later session that reads it, which is why Zep published a post on defending agent memory against poisoning in September 2026. Treat writes as trusted input: scope them per user, restrict which sources are allowed to write facts, and keep the retrieval budget small enough that a poisoned fact cannot crowd out the system prompt.",{"type":116,"level":117,"id":98,"text":99},{"type":105,"content":328},[329],"Zep is a good product with a clear price of admission: it solves forgetting well, and what it costs is the ability to run the whole thing yourself. Teams shipping agents to paying users, where the visible failure is a customer being asked the same question twice, should take it. Teams with a data-residency constraint should build on Graphiti and own the service around it.",{"type":139,"ordered":331,"items":332},true,[333,335,337,339,341],[334],"Take it when agents fail by forgetting, and the failure shows up as repeated questions or decisions lost between sessions.",[336],"Take it when memory writes are human messages: the credit model is cheapest when episodes are short and infrequent.",[338],"Do not take it as a self-hosted deployment, since April 2025 only Graphiti is yours to run and everything around it lives in Zep's cloud.",[340],"Do not take it when retrieval quality rather than memory is the problem, because no memory layer fixes a bad index.",[342],"Budget the extraction step: every write is a model call, so cost tracks how verbose the agent is, not how many users it serves.",{"type":344,"content":345},"quote",[346],"Agent memory is a state-management problem wearing an AI costume: a graph that gives facts a lifetime is exactly what a summary buffer cannot provide, and the bill is a model call for every message you decide to remember.",{"type":116,"level":117,"id":101,"text":102},{"type":139,"ordered":331,"items":349},[350,354,357,360,363,366],[351],{"tag":352,"href":30,"children":353},"a",[29],[355],{"tag":352,"href":33,"children":356},[32],[358],{"tag":352,"href":36,"children":359},[35],[361],{"tag":352,"href":39,"children":362},[38],[364],{"tag":352,"href":42,"children":365},[41],[367],{"tag":352,"href":45,"children":368},[44],[370,426,469,518],{"slug":371,"published":372,"minutes":373,"category":7,"tags":374,"keywords":378,"about":386,"sources":393,"cover":418,"og":419,"expertise":48,"locales":420,"lang":50,"title":421,"description":422,"coverAlt":423,"url":424,"pricing":425,"kind":388},"lancedb","2026-09-21",9,[375,376,377,13],"Vector search","Hybrid search","Embedded database",[371,379,380,381,382,383,384,385],"lancedb review","lance vector database","embedded vector database","lancedb vs qdrant","hybrid search rrf","lancedb indexing","lance data format",[387,390],{"name":388,"url":389},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":391,"url":392},"Apache Arrow","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_Arrow",[394,397,400,403,406,409,412,415],{"title":395,"url":396},"LanceDB quickstart","https:\u002F\u002Fdocs.lancedb.com\u002Fquickstart",{"title":398,"url":399},"LanceDB vector indexes","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Fvector-index",{"title":401,"url":402},"LanceDB indexing guide","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Findex",{"title":404,"url":405},"LanceDB hybrid search","https:\u002F\u002Fdocs.lancedb.com\u002Fsearch\u002Fhybrid-search",{"title":407,"url":408},"LanceDB Enterprise","https:\u002F\u002Fdocs.lancedb.com\u002Fenterprise",{"title":410,"url":411},"LanceDB frequently asked questions","https:\u002F\u002Fdocs.lancedb.com\u002Ffaq\u002Ffaq-oss",{"title":413,"url":414},"LanceDB pricing","https:\u002F\u002Flancedb.com\u002Fpricing",{"title":416,"url":417},"LanceDB on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flancedb\u002F","\u002Fimages\u002Fblog\u002Flancedb\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flancedb\u002Fog.jpg",[50,51,52],"LanceDB: vector search that starts as a library","A review of LanceDB: an Apache-2.0 embedded vector library, its IVF and HNSW index choices, hybrid search with rank fusion, and what the Enterprise tier adds.","Cover art for the LanceDB review: one Lance table feeding a vector index and a full-text index into a fused ranking","https:\u002F\u002Flancedb.com","Apache-2.0 · Cloud paid",{"slug":427,"published":372,"minutes":428,"category":7,"tags":429,"keywords":433,"about":440,"sources":446,"cover":461,"og":462,"expertise":48,"locales":463,"lang":50,"title":464,"description":465,"coverAlt":466,"url":442,"pricing":467,"kind":468},"pgvector",10,[375,430,431,13,432],"Postgres","HNSW","Quantisation",[427,434,435,436,437,438,439],"pgvector vs qdrant","postgres vector search","hnsw index postgres","iterative index scans","binary quantization postgres","vector database postgres",[441,443],{"name":427,"url":442},"https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"name":444,"url":445},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",[447,449,452,455,458],{"title":448,"url":442},"pgvector README",{"title":450,"url":451},"pgvector changelog","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":453,"url":454},"PostgreSQL news: pgvector 0.8.2 released","https:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Fnews\u002Fpgvector-082-released-3245\u002F",{"title":456,"url":457},"AWS: Scale pgvector with binary quantization","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fscale-pgvector-with-binary-quantization-on-amazon-aurora-postgresql\u002F",{"title":459,"url":460},"pgvector licence","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FLICENSE","\u002Fimages\u002Fblog\u002Fpgvector\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector\u002Fog.jpg",[50,51,52],"pgvector, reviewed: the vector database you do not have to run","A review of pgvector 0.8.7: iterative scans for filtered search, HNSW and IVFFlat, binary quantisation at 100M vectors, and the CVE that made index builds a patch item.","A query enters at the top and splits into an exact sequential scan, an HNSW graph walk and an IVFFlat probe; a band below shows an iterative scan continuing until the limit is full.","PostgreSQL licence","Vector database extension",{"slug":470,"published":471,"minutes":428,"category":7,"tags":472,"keywords":474,"about":480,"sources":483,"cover":511,"og":512,"expertise":48,"locales":513,"lang":50,"title":514,"description":515,"coverAlt":516,"url":482,"pricing":517,"kind":9},"mem0","2026-09-17",[9,473,13,375],"Long-term memory",[470,475,476,477,478,20,479],"mem0 review","agent memory layer","mem0 self-hosted","mem0 pricing","mem0 alternatives",[481],{"name":292,"url":482},"https:\u002F\u002Fmem0.ai",[484,487,490,493,496,499,502,505,508],{"title":485,"url":486},"Mem0 documentation","https:\u002F\u002Fdocs.mem0.ai\u002Fintroduction",{"title":488,"url":489},"Mem0 quickstart","https:\u002F\u002Fdocs.mem0.ai\u002Fquickstart",{"title":491,"url":492},"How Mem0 works","https:\u002F\u002Fdocs.mem0.ai\u002Fcore-concepts\u002Fhow-it-works",{"title":494,"url":495},"Mem0 pricing","https:\u002F\u002Fmem0.ai\u002Fpricing",{"title":497,"url":498},"Mem0 on GitHub","https:\u002F\u002Fgithub.com\u002Fmem0ai\u002Fmem0",{"title":500,"url":501},"mem0ai on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fmem0ai\u002F",{"title":503,"url":504},"Mem0 research and benchmarks","https:\u002F\u002Fmem0.ai\u002Fresearch",{"title":506,"url":507},"Mem0 MCP server","https:\u002F\u002Fdocs.mem0.ai\u002Fplatform\u002Fmem0-mcp",{"title":509,"url":510},"Mem0 paper on arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.19413","\u002Fimages\u002Fblog\u002Fmem0\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmem0\u002Fog.jpg",[50,51,52],"Mem0: what an agent memory layer costs per turn","A review of Mem0: facts extracted from every turn, the April 2026 benchmark table and its platform-only caveat, four cloud tiers and what self-hosting leaves out.","A loop that turns conversation into stored facts and reads them back into the prompt","Free tier · from $19 per month",{"slug":519,"published":520,"minutes":428,"category":7,"tags":521,"keywords":524,"about":533,"sources":543,"cover":562,"og":563,"expertise":48,"locales":564,"lang":50,"title":565,"description":566,"coverAlt":567,"url":536,"pricing":568,"kind":388},"milvus-zilliz","2026-09-08",[375,376,522,523,13],"BM25 full text","Distributed",[525,526,527,528,529,530,531,532],"milvus","milvus vs qdrant","zilliz cloud pricing","vector database comparison","milvus hybrid search","apache milvus self-hosting","milvus 3.0","rag vector store",[534,537,540],{"name":535,"url":536},"Milvus","https:\u002F\u002Fmilvus.io",{"name":538,"url":539},"Zilliz Cloud","https:\u002F\u002Fzilliz.com",{"name":541,"url":542},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",[544,547,550,553,556,559],{"title":545,"url":546},"Milvus architecture overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Farchitecture_overview.md",{"title":548,"url":549},"Milvus release notes","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Frelease_notes.md",{"title":551,"url":552},"Milvus releases on GitHub","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus\u002Freleases",{"title":554,"url":555},"Milvus README: features and licence","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus",{"title":557,"url":558},"Zilliz Cloud pricing","https:\u002F\u002Fzilliz.com\u002Fpricing",{"title":560,"url":561},"Zilliz Cloud list price","https:\u002F\u002Fzilliz.com\u002Fpricing\u002Fpricing-guide","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fog.jpg",[50,51,52],"Milvus review: the most complete vector database to operate","Milvus 3.0.2 is the most complete open-source vector database and the heaviest to run. A review of its architecture, hybrid search, costs and where it should not be used.","Cover artwork for the Milvus review showing a pipeline from ingest to index, search and reranking","Apache-2.0 · Zilliz Cloud free tier",1791383548628]