[{"data":1,"prerenderedAt":633},["ShallowReactive",2],{"tool-mem0-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":20,"sources":24,"cover":52,"og":53,"expertise":54,"locales":55,"lang":56,"title":59,"description":60,"coverAlt":61,"url":23,"pricing":62,"kind":9,"metaTitle":63,"takeaways":64,"faq":70,"toc":83,"blocks":108,"others":437},"mem0","2026-09-17",10,"rag",[9,10,11,12],"Agent memory","Long-term memory","RAG","Vector search",[4,14,15,16,17,18,19],"mem0 review","agent memory layer","mem0 self-hosted","mem0 pricing","long-term memory for agents","mem0 alternatives",[21],{"name":22,"url":23},"Mem0","https:\u002F\u002Fmem0.ai",[25,28,31,34,37,40,43,46,49],{"title":26,"url":27},"Mem0 documentation","https:\u002F\u002Fdocs.mem0.ai\u002Fintroduction",{"title":29,"url":30},"Mem0 quickstart","https:\u002F\u002Fdocs.mem0.ai\u002Fquickstart",{"title":32,"url":33},"How Mem0 works","https:\u002F\u002Fdocs.mem0.ai\u002Fcore-concepts\u002Fhow-it-works",{"title":35,"url":36},"Mem0 pricing","https:\u002F\u002Fmem0.ai\u002Fpricing",{"title":38,"url":39},"Mem0 on GitHub","https:\u002F\u002Fgithub.com\u002Fmem0ai\u002Fmem0",{"title":41,"url":42},"mem0ai on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fmem0ai\u002F",{"title":44,"url":45},"Mem0 research and benchmarks","https:\u002F\u002Fmem0.ai\u002Fresearch",{"title":47,"url":48},"Mem0 MCP server","https:\u002F\u002Fdocs.mem0.ai\u002Fplatform\u002Fmem0-mcp",{"title":50,"url":51},"Mem0 paper on arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.19413","\u002Fimages\u002Fblog\u002Fmem0\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmem0\u002Fog.jpg","ai-engineer",[56,57,58],"en","de","hu","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","Mem0 review: memory that costs per turn · Balázs Csorba",[65,66,67,68,69],"Mem0 turns conversation into stored facts: an LLM extracts, deduplicates and embeds them, so every write costs a model call on top of the storage write.","The current algorithm scores 92.5 on LoCoMo and 94.4 on LongMemEval, and the README states those numbers come from the managed platform rather than the open-source SDK.","Cloud tiers are Hobby for free, Starter at $19 a month and Pro at $249 a month, with graph memory and Dream consolidation gated behind Pro.","Open-source retrieval has no graph memory and boosts on entity overlap alone, so self-hosting buys the API rather than the benchmark tables.","The free tier allows 10,000 add and 1,000 retrieval requests a month, which is roughly thirty-three searches a day.",[71,74,77,80],{"q":72,"a":73},"Is Mem0 free to self-host?","The library is Apache-2.0 and the README offers a docker-compose server with authentication on by default, so there is no licence fee. It still needs an LLM for extraction, gpt-5-mini by default, and a vector store, Qdrant by default, so the cost moves to inference and operations rather than to a subscription.",{"q":75,"a":76},"Mem0 or a summary of the transcript in Postgres?","If a product holds one short session per user, a rolling summary plus a table of facts is cheaper and easier to audit, and it has no extraction step that can invent a fact. Mem0 earns its place when memories outlive sessions, have to be filtered per user, agent and run, and are read on the hot path of every request.",{"q":78,"a":79},"Does the open-source version reach the published benchmark scores?","No, and the repository says so: the numbers reflect the managed platform, which contains proprietary optimizations that are not in the open-source SDK. Open-source retrieval has no graph memory and depends on the vector store that is configured.",{"q":81,"a":82},"How does Mem0 reach an agent that already speaks MCP?","Through a hosted server at mcp.mem0.ai over HTTPS, exposing eleven tools including add_memory, search_memories, update_memory and delete_memory. It authenticates with a browser sign-in flow or an API key sent as a bearer token, and nothing runs on the developer's machine.",[84,87,90,93,96,99,102,105],{"id":85,"title":86},"what-it-is","What it is",{"id":88,"title":89},"how-it-works","How it works",{"id":91,"title":92},"getting-started","Getting started",{"id":94,"title":95},"benchmarks","Benchmarks",{"id":97,"title":98},"pricing","Pricing",{"id":100,"title":101},"where-it-shingles","Where it falls short",{"id":103,"title":104},"verdict","Verdict",{"id":106,"title":107},"sources","Sources",[109,113,116,119,131,149,150,153,162,165,166,181,183,190,201,202,205,262,265,275,276,279,324,327,328,331,377,380,385,386,389,402,406,407],{"type":110,"content":111},"paragraph",[112],"Mem0 is a memory layer for agents: conversation goes in, facts come out, and the facts are fetched back before the next model call. The position taken here is that it is the most carefully built memory API in this market and a bad default at the same time, because an LLM call sits on the write path — remembering is billed per turn, not per user. It earns its place when memories have to outlive sessions and be filtered per user, agent and run; a rolling summary and a table beat it when they do not.",{"type":110,"content":114},[115],"It sits between the application and the model, replacing the habit of appending transcript to the prompt, and competes with Zep, LangMem, Letta and whatever a team builds from a database and a summarisation step. It ships in three shapes under one API: an Apache-2.0 library, a self-hosted server behind docker compose with authentication on by default, and a hosted platform with a dashboard, metered plans and an MCP endpoint.",{"type":117,"level":118,"id":85,"text":86},"heading",2,{"type":110,"content":120},[121,122,126,127,130],"Two products share the name. The open-source repository is the ",{"tag":123,"children":124},"code",[125],"mem0ai"," library for Python and JavaScript, embedded in a process; the platform is a hosted API with scopes, plans and a dashboard, which the same SDK reaches over HTTPS at ",{"tag":123,"children":128},[129],"api.mem0.ai",". The homepage listed 62,590 GitHub stars in early October 2026.",{"type":132,"ordered":133,"items":134},"list",false,[135,137,139,141,143,145,147],[136],"Published on PyPI as mem0ai, version 2.2.1, under Apache-2.0, with a matching JavaScript package.",[138],"Three deployment modes in the README: library for a prototype, a docker-compose server with authentication on by default for a team, and the cloud platform for zero operations.",[140],"Operations are add, search, get_all, update and delete, each scoped by user_id, agent_id, app_id or run_id.",[142],"Writes are inferred: an LLM extracts durable facts, deduplicates and embeds them, and infer=False stores the raw message instead.",[144],"Defaults are gpt-5-mini for extraction and text-embedding-3-small for embeddings, with Qdrant as the packaged vector store.",[146],"Hosted MCP server at mcp.mem0.ai exposing eleven memory tools, authenticated by browser sign-in or by an API key as a bearer token.",[148],"Compliance listed on the homepage as SOC 2 Type 1, HIPAA and GDPR, with BYOK and on-premises deployment on the Enterprise tier.",{"type":117,"level":118,"id":88,"text":89},{"type":110,"content":151},[152],"The pipeline is asymmetric, and that asymmetry is the product. On add, Mem0 looks up related memories so the same fact is not stored twice, extracts new facts with an LLM, deduplicates and embeds them, pulls out entities, and writes to a SQL store for facts, a vector store for embeddings and an entity store for links. On search, four signals are scored and fused: semantic similarity, keyword matching, entity overlap, and a temporal signal scored from metadata written at extraction time.",{"type":154,"attrs":155,"inner":159,"caption":160},"diagram",{"viewBox":156,"role":157,"aria-labelledby":158},"0 0 720 380","img","d-m0-t d-m0-d","\u003Ctitle id=\"d-m0-t\">How a memory is written and read\u003C\u002Ftitle>\u003Cdesc id=\"d-m0-d\">A conversation box on the left feeds an extraction box in the middle, labelled one LLM call and ADD only, which produces facts rather than transcripts. An arrow continues to a deduplicate box that embeds the facts and links entities. From there the flow fans out into three stores: a SQL store for facts and metadata, a vector store for embeddings, and an entity store for boosting. The three stores merge into a search box at the bottom, labelled semantic, keyword, entity and time. A long return arrow runs from the search box back to the conversation box, labelled memories into the prompt, which closes the loop. A label at the top right reads one model call on the write path.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"m0-arrow\" 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>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"26\" class=\"d-title\">How a memory is written and read\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"26\" text-anchor=\"end\" class=\"d-label\">one model call on the write path\u003C\u002Ftext>\u003Crect x=\"30\" y=\"48\" width=\"180\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"120\" y=\"74\" text-anchor=\"middle\" class=\"d-text\">Conversation\u003C\u002Ftext>\u003Ctext x=\"120\" y=\"96\" text-anchor=\"middle\" class=\"d-small\">user and assistant turns\u003C\u002Ftext>\u003Cpath d=\"M214 80 H244\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Crect x=\"250\" y=\"40\" width=\"210\" height=\"80\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"355\" y=\"68\" text-anchor=\"middle\" class=\"d-text\">Extraction\u003C\u002Ftext>\u003Ctext x=\"355\" y=\"90\" text-anchor=\"middle\" class=\"d-small\">one LLM call, ADD only\u003C\u002Ftext>\u003Ctext x=\"355\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">facts, not transcripts\u003C\u002Ftext>\u003Cpath d=\"M464 80 H494\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Crect x=\"500\" y=\"48\" width=\"190\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"595\" y=\"74\" text-anchor=\"middle\" class=\"d-text\">Deduplicate\u003C\u002Ftext>\u003Ctext x=\"595\" y=\"96\" text-anchor=\"middle\" class=\"d-small\">embed and link entities\u003C\u002Ftext>\u003Cpath d=\"M595 112 V150\" class=\"d-line\" \u002F>\u003Cpath d=\"M130 150 H595\" class=\"d-line\" \u002F>\u003Cpath d=\"M130 150 V184\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Cpath d=\"M360 150 V184\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Cpath d=\"M590 150 V184\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Crect x=\"30\" y=\"190\" width=\"200\" height=\"68\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"130\" y=\"216\" text-anchor=\"middle\" class=\"d-text\">SQL store\u003C\u002Ftext>\u003Ctext x=\"130\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">facts and metadata\u003C\u002Ftext>\u003Crect x=\"260\" y=\"190\" width=\"200\" height=\"68\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"360\" y=\"216\" text-anchor=\"middle\" class=\"d-text\">Vector store\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">embeddings\u003C\u002Ftext>\u003Crect x=\"490\" y=\"190\" width=\"200\" height=\"68\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"590\" y=\"216\" text-anchor=\"middle\" class=\"d-text\">Entity store\u003C\u002Ftext>\u003Ctext x=\"590\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">links for boosting\u003C\u002Ftext>\u003Cpath d=\"M130 258 V278\" class=\"d-line\" \u002F>\u003Cpath d=\"M360 258 V278\" class=\"d-line\" \u002F>\u003Cpath d=\"M590 258 V278\" class=\"d-line\" \u002F>\u003Cpath d=\"M130 278 H590\" class=\"d-line\" \u002F>\u003Cpath d=\"M360 278 V294\" class=\"d-line\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Crect x=\"250\" y=\"300\" width=\"220\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"360\" y=\"326\" text-anchor=\"middle\" class=\"d-text\">Search\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"348\" text-anchor=\"middle\" class=\"d-small\">semantic, keyword, entity, time\u003C\u002Ftext>\u003Cpath d=\"M250 332 H14 V80 H26\" class=\"d-line d-dash\" marker-end=\"url(#m0-arrow)\" \u002F>\u003Ctext x=\"30\" y=\"290\" class=\"d-label\">memories into\u003C\u002Ftext>\u003Ctext x=\"30\" y=\"306\" class=\"d-label\">the prompt\u003C\u002Ftext>",[161],"Facts are extracted once per add and read back by a scoped search; the open-source build has no entity graph, so its entity signal is overlap on extracted terms.",{"type":110,"content":163},[164],"The documentation is explicit about the split that follows. The platform fuses all four signals with graph-backed entity matching; the open-source build has no graph memory and boosts on entity overlap alone, depending on whichever vector store is configured. Extraction is additive as well — a new fact does not silently overwrite an old one — so corrections have to be explicit update or delete calls, which is the right default for an audit trail and an annoying one for a user who just changed their mind.",{"type":117,"level":118,"id":91,"text":92},{"type":110,"content":167},[168,169,172,173,176,177,180],"The hosted path is two calls. Install the SDK, take an API key from the dashboard, and give every call a scope: a memory without a ",{"tag":123,"children":170},[171],"user_id",", an ",{"tag":123,"children":174},[175],"agent_id"," or a ",{"tag":123,"children":178},[179],"run_id"," will be handed to whoever asks for it next.",{"type":123,"code":182},"from mem0 import MemoryClient\n\nclient = MemoryClient(api_key=\"your-api-key\")\n\nmessages = [\n    {\"role\": \"user\", \"content\": \"I'm a vegetarian and allergic to nuts.\"},\n    {\"role\": \"assistant\", \"content\": \"Noted.\"},\n]\nclient.add(messages, user_id=\"user123\")\n\nresults = client.search(\n    \"What are my dietary restrictions?\",\n    filters={\"user_id\": \"user123\"},\n)\nfor r in results[\"results\"]:\n    print(r[\"memory\"], r[\"score\"])",{"type":110,"content":184},[185,186,189],"The open-source library has the same shape and no server behind it: ",{"tag":123,"children":187},[188],"from mem0 import Memory",", then add, search, update and delete against stores you operate yourself. It needs an LLM key and a vector store before the first call, which is the real difference between the two halves — the library is Apache-2.0, and the retrieval that makes the benchmark tables lives on the platform.",{"type":191,"variant":192,"title":193,"body":194},"callout","note","What the write path costs",[195],[196,197,200],"Extraction runs on every ",{"tag":123,"children":198},[199],"add",", so a chat product that stores memories per turn pays a model call and an embedding for the write, on top of the retrieval it already does. The number worth tracking is therefore not the price of the tier but the cost per conversation. The docs also tell you not to store secrets or unredacted sensitive data, because the whole point of the store is that it gets retrieved.",{"type":117,"level":118,"id":94,"text":95},{"type":110,"content":203},[204],"Mem0 publishes its own numbers, which is more than most memory layers do, and the README annotates the method: single-pass retrieval, one call with no agentic loop, a top-200 retrieval budget, on the same production-representative model stack.",{"type":206,"head":207,"rows":218},"table",[208,210,212,214,216],[209],"Benchmark",[211],"Before April 2026",[213],"Current score",[215],"Tokens per query",[217],"p50 latency",[219,230,241,252],[220,222,224,226,228],[221],"LoCoMo",[223],"71.4",[225],"92.5",[227],"7.0K",[229],"0.88 s",[231,233,235,237,239],[232],"LongMemEval",[234],"67.8",[236],"94.4",[238],"6.8K",[240],"1.09 s",[242,244,246,248,250],[243],"BEAM, 1M tokens",[245],"not published",[247],"64.1",[249],"6.7K",[251],"1.00 s",[253,255,256,258,260],[254],"BEAM, 10M tokens",[245],[257],"48.6",[259],"6.9K",[261],"1.05 s",{"type":110,"content":263},[264],"The caveat sits in the same paragraph: those scores reflect the managed platform, which carries proprietary optimizations that are not in the open-source SDK, and open-source users should expect directionally similar rather than identical numbers. The paper behind it, posted to arXiv in April 2025, reports 91% lower p95 latency and more than 90% token savings against full-context prompting on LoCoMo, a 26% relative gain in LLM-as-a-Judge over OpenAI's memory, and about 2% more from the graph variant.",{"type":191,"variant":266,"title":267,"body":268},"warn","A vendor table is not a comparison",[269],[270,271,274],"Choosing Mem0 over Zep, or over a summary in the prompt, on the strength of these rows means comparing a vendor's platform against your own stack. The evaluation framework published as ",{"tag":123,"children":272},[273],"mem0ai\u002Fmemory-benchmarks"," is the part worth reproducing.",{"type":117,"level":118,"id":97,"text":98},{"type":110,"content":277},[278],"The pricing page meters two counters, add requests and retrieval requests, and end users are unlimited on every tier. The figures below are what the page listed in early October 2026; usage-based pricing exists for traffic that does not fit a tier.",{"type":206,"head":280,"rows":289},[281,283,285,287],[282],"Plan",[284],"Price",[286],"Add requests per month",[288],"Retrieval requests per month",[290,299,308,316],[291,293,295,297],[292],"Hobby",[294],"Free",[296],"10,000",[298],"1,000",[300,302,304,306],[301],"Starter",[303],"$19 a month",[305],"50,000",[307],"5,000",[309,311,313,315],[310],"Pro",[312],"$249 a month",[314],"500,000",[305],[317,319,321,323],[318],"Enterprise",[320],"Custom",[322],"Unlimited",[322],{"type":110,"content":325},[326],"Two features that carry the marketing — graph memory for entity linking and Dream consolidation — are listed under Pro and Enterprise rather than in the free tiers, and the README's own comparison table describes the self-hosted server's advanced features as teasers. Hobby's 1,000 retrievals work out to about thirty-three searches a day: enough to prove an integration, not enough to run a product.",{"type":117,"level":118,"id":100,"text":101},{"type":110,"content":329},[330],"The weaknesses are structural rather than cosmetic. Every add is a model call, so write latency and the token bill both scale with conversation volume, and the extraction step can store an inference the user never stated — a derived fact is harder to audit than a logged message. The features that make Mem0 interesting live on the platform, which means the open-source build and the paid product share a name more than a feature set. Lock-in is real but modest: memories are rows readable back through the API, and the move to the v3 API has a published migration guide.",{"type":206,"head":332,"rows":341},[333,335,337,339],[334],"Option",[336],"Memory model",[338],"Operational burden",[340],"Right for",[342,350,359,368],[343,344,346,348],[22],[345],"Extracted facts, scoped by user, agent and run",[347],"A library to run, or a platform to pay",[349],"Multi-session personalisation at a known cost per conversation",[351,353,355,357],[352],"Zep with Graphiti",[354],"Temporal knowledge graph of episodes",[356],"A graph store and its upkeep",[358],"Relationship-heavy memory where order in time matters",[360,362,364,366],[361],"LangMem",[363],"Memory stores and semantic search in the LangChain stack",[365],"Part of the LangChain toolchain",[367],"Teams already committed to LangChain",[369,371,373,375],[370],"A table of facts",[372],"Rows you write yourself, plus pgvector",[374],"Your own SQL and a summary prompt",[376],"Short-lived memory and strict audit requirements",{"type":110,"content":378},[379],"Which of these fits depends on how much memory the product needs, not on which row scores highest on LoCoMo. A support agent with a few dozen durable facts per account does not need a memory layer at all; a consumer assistant holding a year of history cannot afford to re-read the transcript.",{"type":191,"variant":266,"title":381,"body":382},"The gap between the SDK and the platform",[383],[384],"Graph memory, temporal ranking and the fused entity signal are platform features. A self-hosted deployment gets vector search, keyword matching and entity overlap, so a team that runs it itself should size the product on that feature set rather than on the benchmark tables.",{"type":117,"level":118,"id":103,"text":104},{"type":110,"content":387},[388],"Adopt it when memory is a product feature that outlives sessions and the write-path model call can be priced into the product. Skip it when a session's context fits into a summary, or when every stored fact needs provenance a human can check, because inference on the way in is the design rather than a side effect.",{"type":132,"ordered":390,"items":391},true,[392,394,396,398,400],[393],"Start with the library: the API has the same shape, and it keeps the move to the platform open.",[395],"Scope every call. An unscoped memory is the one failure mode that crosses users.",[397],"Budget the write path before the tier: one extraction call per add is the cost model, whatever the plan costs.",[399],"Take the platform for graph memory, temporal ranking and fused retrieval — the parts the open-source build does not have.",[401],"Never store secrets or unredacted personal data; retrieval is designed to surface what is in the store.",{"type":403,"content":404},"quote",[405],"Avoid storing secrets, raw credentials, or unredacted sensitive data. Mem0 is designed to retrieve stored context.",{"type":117,"level":118,"id":106,"text":107},{"type":132,"ordered":390,"items":408},[409,413,416,419,422,425,428,431,434],[410],{"tag":411,"href":27,"children":412},"a",[26],[414],{"tag":411,"href":30,"children":415},[29],[417],{"tag":411,"href":33,"children":418},[32],[420],{"tag":411,"href":36,"children":421},[35],[423],{"tag":411,"href":39,"children":424},[38],[426],{"tag":411,"href":42,"children":427},[41],[429],{"tag":411,"href":45,"children":430},[44],[432],{"tag":411,"href":48,"children":433},[47],[435],{"tag":411,"href":51,"children":436},[50],[438,485,540,582],{"slug":439,"published":440,"minutes":441,"category":7,"tags":442,"keywords":446,"about":454,"sources":458,"cover":477,"og":478,"expertise":54,"locales":479,"lang":56,"title":480,"description":481,"coverAlt":482,"url":483,"pricing":484,"kind":9},"zep","2026-10-06",11,[9,443,444,445,11],"Knowledge graph","Temporal graph","Context engineering",[447,448,449,450,451,18,452,453],"zep ai","zep agent memory","graphiti knowledge graph","zep pricing","zep vs mem0","temporal knowledge graph","zep cloud",[455],{"name":456,"url":457},"Zep","https:\u002F\u002Fwww.getzep.com\u002F",[459,462,465,468,471,474],{"title":460,"url":461},"Zep pricing: plans, credits and limits","https:\u002F\u002Fwww.getzep.com\u002Fpricing",{"title":463,"url":464},"Zep documentation","https:\u002F\u002Fhelp.getzep.com\u002F",{"title":466,"url":467},"Graphiti on GitHub","https:\u002F\u002Fgithub.com\u002Fgetzep\u002Fgraphiti",{"title":469,"url":470},"Graphiti product page","https:\u002F\u002Fwww.getzep.com\u002Fplatform\u002Fgraphiti\u002F",{"title":472,"url":473},"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":475,"url":476},"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",[56,57,58],"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",{"slug":486,"published":487,"minutes":488,"category":7,"tags":489,"keywords":492,"about":500,"sources":507,"cover":532,"og":533,"expertise":54,"locales":534,"lang":56,"title":535,"description":536,"coverAlt":537,"url":538,"pricing":539,"kind":502},"lancedb","2026-09-21",9,[12,490,491,11],"Hybrid search","Embedded database",[486,493,494,495,496,497,498,499],"lancedb review","lance vector database","embedded vector database","lancedb vs qdrant","hybrid search rrf","lancedb indexing","lance data format",[501,504],{"name":502,"url":503},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":505,"url":506},"Apache Arrow","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_Arrow",[508,511,514,517,520,523,526,529],{"title":509,"url":510},"LanceDB quickstart","https:\u002F\u002Fdocs.lancedb.com\u002Fquickstart",{"title":512,"url":513},"LanceDB vector indexes","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Fvector-index",{"title":515,"url":516},"LanceDB indexing guide","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Findex",{"title":518,"url":519},"LanceDB hybrid search","https:\u002F\u002Fdocs.lancedb.com\u002Fsearch\u002Fhybrid-search",{"title":521,"url":522},"LanceDB Enterprise","https:\u002F\u002Fdocs.lancedb.com\u002Fenterprise",{"title":524,"url":525},"LanceDB frequently asked questions","https:\u002F\u002Fdocs.lancedb.com\u002Ffaq\u002Ffaq-oss",{"title":527,"url":528},"LanceDB pricing","https:\u002F\u002Flancedb.com\u002Fpricing",{"title":530,"url":531},"LanceDB on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flancedb\u002F","\u002Fimages\u002Fblog\u002Flancedb\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flancedb\u002Fog.jpg",[56,57,58],"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":541,"published":487,"minutes":6,"category":7,"tags":542,"keywords":546,"about":553,"sources":559,"cover":574,"og":575,"expertise":54,"locales":576,"lang":56,"title":577,"description":578,"coverAlt":579,"url":555,"pricing":580,"kind":581},"pgvector",[12,543,544,11,545],"Postgres","HNSW","Quantisation",[541,547,548,549,550,551,552],"pgvector vs qdrant","postgres vector search","hnsw index postgres","iterative index scans","binary quantization postgres","vector database postgres",[554,556],{"name":541,"url":555},"https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"name":557,"url":558},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",[560,562,565,568,571],{"title":561,"url":555},"pgvector README",{"title":563,"url":564},"pgvector changelog","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":566,"url":567},"PostgreSQL news: pgvector 0.8.2 released","https:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Fnews\u002Fpgvector-082-released-3245\u002F",{"title":569,"url":570},"AWS: Scale pgvector with binary quantization","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fscale-pgvector-with-binary-quantization-on-amazon-aurora-postgresql\u002F",{"title":572,"url":573},"pgvector licence","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FLICENSE","\u002Fimages\u002Fblog\u002Fpgvector\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector\u002Fog.jpg",[56,57,58],"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":583,"published":584,"minutes":6,"category":7,"tags":585,"keywords":588,"about":597,"sources":607,"cover":626,"og":627,"expertise":54,"locales":628,"lang":56,"title":629,"description":630,"coverAlt":631,"url":600,"pricing":632,"kind":502},"milvus-zilliz","2026-09-08",[12,490,586,587,11],"BM25 full text","Distributed",[589,590,591,592,593,594,595,596],"milvus","milvus vs qdrant","zilliz cloud pricing","vector database comparison","milvus hybrid search","apache milvus self-hosting","milvus 3.0","rag vector store",[598,601,604],{"name":599,"url":600},"Milvus","https:\u002F\u002Fmilvus.io",{"name":602,"url":603},"Zilliz Cloud","https:\u002F\u002Fzilliz.com",{"name":605,"url":606},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",[608,611,614,617,620,623],{"title":609,"url":610},"Milvus architecture overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Farchitecture_overview.md",{"title":612,"url":613},"Milvus release notes","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Frelease_notes.md",{"title":615,"url":616},"Milvus releases on GitHub","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus\u002Freleases",{"title":618,"url":619},"Milvus README: features and licence","https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus",{"title":621,"url":622},"Zilliz Cloud pricing","https:\u002F\u002Fzilliz.com\u002Fpricing",{"title":624,"url":625},"Zilliz Cloud list price","https:\u002F\u002Fzilliz.com\u002Fpricing\u002Fpricing-guide","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmilvus-zilliz\u002Fog.jpg",[56,57,58],"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",1791383548711]