[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"tool-graphrag-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":29,"cover":48,"og":49,"expertise":50,"locales":51,"lang":52,"title":55,"description":56,"coverAlt":57,"url":32,"pricing":58,"kind":59,"metaTitle":60,"takeaways":61,"faq":67,"toc":80,"blocks":105,"others":456},"graphrag","2026-09-08",10,"rag",[9,10,11,12,13],"Knowledge graph","RAG","Global search","Community summaries","Token cost",[4,15,16,17,18,19,20,21],"microsoft graphrag","graphrag vs vector rag","graphrag indexing cost","graphrag query modes","graphrag lightRAG comparison","knowledge graph rag","graphrag dynamic community selection",[23,26],{"name":24,"url":25},"GraphRAG","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgraphrag\u002F",{"name":27,"url":28},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",[30,33,36,39,42,45],{"title":31,"url":32},"GraphRAG on GitHub","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fgraphrag",{"title":34,"url":35},"GraphRAG documentation","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002F",{"title":37,"url":38},"From Local to Global: A Graph RAG Approach to Query-Focused Summarization","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.16130",{"title":40,"url":41},"GraphRAG: Improving global search via dynamic community selection","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Fgraphrag-improving-global-search-via-dynamic-community-selection\u002F",{"title":43,"url":44},"LazyGraphRAG: Setting a new standard for quality and cost","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Flazygraphrag-setting-a-new-standard-for-quality-and-cost\u002F",{"title":46,"url":47},"Graph RAG in 2026: What Actually Works in Production","https:\u002F\u002Fwww.paperclipped.de\u002Fen\u002Fblog\u002Fgraph-rag-production\u002F","\u002Fimages\u002Fblog\u002Fgraphrag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgraphrag\u002Fog.jpg","ai-engineer",[52,53,54],"en","de","hu","Microsoft GraphRAG: a knowledge-graph RAG priced up front","A review of Microsoft GraphRAG 3.2.0: MIT, maintenance mode, and an indexing bill that is decided before the first query runs.","Cover art for the GraphRAG review: a document corpus folded into a graph of nodes and community rings","MIT · API pay per token","RAG pipeline","GraphRAG review: what the graph costs · Balázs Csorba",[62,63,64,65,66],"GraphRAG 3.2.0 was published on 23 September 2026 under MIT, while the repository states it is largely in maintenance mode with no new features.","The bill lands at indexing time: one model call per TextUnit and one per community report, reported at $50-200 for a 500-page corpus against under $5 for vectors.","Global Search is the mode vector search cannot imitate, and dynamic community selection cuts its token cost by 77% without a measured quality loss.","LazyGraphRAG reaches vector-RAG indexing cost at 0.1% of full GraphRAG, but ships in Microsoft Discovery and Azure Local rather than in the MIT package.","The graph pays only when questions are corpus-wide or multi-hop; lookup-heavy workloads stay cheaper on plain vector search.",[68,71,74,77],{"q":69,"a":70},"How much does GraphRAG cost to run?","The package is MIT and nothing is hosted, so the whole bill is model calls: one extraction call per TextUnit of 1,200 tokens, one summarisation call per merged entity or relationship, and one report call per community at every hierarchy level. One independent comparison puts a 500-page corpus at $50-200 and about 45 minutes through the full pipeline, against under $5 to embed the same corpus for vector search.",{"q":72,"a":73},"When does GraphRAG beat vector search?","When the answer has to be synthesised across the corpus or hop between entities that never share a chunk: themes, trends, comparisons over everything. Direct factual lookups map onto single chunks, so they gain nothing from the graph, and GraphRAG ships its own Basic mode — vector retrieval over the same embeddings — precisely for measuring that difference.",{"q":75,"a":76},"Is GraphRAG still maintained?","The README says the project is largely in maintenance mode: no new pull requests, no new features, bug fixes and dependency updates as appropriate. It also describes the code as a demonstration rather than an officially supported Microsoft offering. The latest release, 3.2.0, arrived on 23 September 2026, and 36,241 stars sit above 495 commits and 49 open issues and pull requests.",{"q":78,"a":79},"What does LazyGraphRAG change?","It drops the LLM from indexing and uses noun-phrase extraction instead, so indexing cost is stated as identical to vector RAG and 0.1% of full GraphRAG. Microsoft Research reports comparable Global Search quality at more than 700 times lower query cost, and better-than-Global-Search quality at 4% of its cost. The implementation lives in Microsoft Discovery and Azure Local, not in the MIT repository, so a self-hosted team cannot install it.",[81,84,87,90,93,96,99,102],{"id":82,"title":83},"what-it-is","What it is",{"id":85,"title":86},"how-it-works","How it works",{"id":88,"title":89},"getting-started","Getting started",{"id":91,"title":92},"indexing-cost","What indexing costs",{"id":94,"title":95},"query-cost","What queries cost",{"id":97,"title":98},"where-it-shingles","Where it falls short",{"id":100,"title":101},"verdict","Verdict",{"id":103,"title":104},"sources","Sources",[106,115,122,125,132,154,160,161,167,176,183,184,190,192,198,209,210,216,264,273,274,279,326,335,336,345,387,396,397,403,418,430,434,435],{"type":107,"content":108},"paragraph",[109,110,111,112,113,114],"GraphRAG is Microsoft Research’s MIT-licensed pipeline that turns a corpus into a knowledge graph, ","clusters it with the Leiden algorithm and writes an LLM summary for every community before a single ","question is asked. The position taken here is that it remains the most rigorously documented graph RAG ","available, and that the interesting part is no longer the engineering: the repository is in maintenance ","mode, and the question a team actually has to answer is whether the indexing bill can be justified ","against vector search.",{"type":107,"content":116},[117,118,119,120,121],"It competes with plain vector RAG, with lighter graph pipelines such as LightRAG, and with the graph ","retrieval built into LlamaIndex and Neo4j tooling. The distinction matters because GraphRAG is not a ","service: it is a Python package that spends the reader’s own tokens building an index and then exposes ","four query modes as library functions. Nothing is billed or hosted by Microsoft, and the README states ","that the code is a demonstration rather than an officially supported offering.",{"type":123,"level":124,"id":82,"text":83},"heading",2,{"type":107,"content":126},[127,128,129,130,131],"The design is deliberately front-loaded. Documents are split into TextUnits, an LLM extracts entities ","and relationships from each unit, duplicate descriptions are merged and summarised, Leiden clustering ","assigns the graph to a hierarchy of communities, and a further LLM pass writes a report for every ","community at every level. Only then does a question run, and by then the expensive work has already been ","paid for.",{"type":133,"ordered":134,"items":135},"list",false,[136,142,144,146,148,150,152],[137,138,141],"MIT licensed, shipped as ",{"tag":139,"children":140},"code",[4]," on PyPI, current release 3.2.0 of 23 September 2026, Python 3.11 to 3.13.",[143],"About 36,200 stars, 3,800 forks and 495 commits on GitHub, with 49 open issues and pull requests.",[145],"TextUnits default to 1,200 tokens: larger chunks index faster and extract less precisely.",[147],"Community detection is hierarchical Leiden and costs no model calls; summarising every community does.",[149],"Four query modes ship in the package — global, local, DRIFT and basic — plus dynamic community selection for global search.",[151],"The CLI names four indexing methods: standard, fast, standard-update and fast-update, with a separate update command for changed documents.",[153],"Every call goes to the reader’s own endpoint — Azure OpenAI, OpenAI or a compatible service — so cost is a function of model price and corpus size.",{"type":107,"content":155},[156,157,158,159],"Two consequences follow. The index becomes an asset rather than a by-product: entity descriptions and ","community reports are readable artefacts that can be reviewed, shared and versioned like any other ","output. And the graph is only as good as the extraction pass, so a corpus whose entity types matter has ","to be tuned before the first full run rather than after it.",{"type":123,"level":124,"id":85,"text":86},{"type":107,"content":162},[163,164,165,166],"Indexing is a fixed sequence: chunk, extract, merge, cluster, summarise, embed. Every stage either costs ","one model call per unit of text or costs nothing, and that boundary is where the bill comes from — one ","extraction call per TextUnit, one summarisation call per merged entity or relationship, and one report ","call per community at every level of the hierarchy.",{"type":168,"attrs":169,"inner":173,"caption":174},"diagram",{"viewBox":170,"role":171,"aria-labelledby":172},"0 0 720 310","img","gr-d1-t gr-d1-d","\u003Ctitle id=\"gr-d1-t\">One GraphRAG index, then four query modes\u003C\u002Ftitle>\u003Cdesc id=\"gr-d1-d\">Indexing splits the corpus into TextUnits, spends one model call per unit on extraction, clusters the graph with Leiden and spends one model call per community on reports. A question then routes to one of four modes: global map-reduce over the reports, local search around entities, DRIFT with follow-up questions, or basic vector search.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Where the tokens go\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">the index is the asset\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"52\" class=\"d-label\">INDEXING — PAID ONCE\u003C\u002Ftext>\u003Crect x=\"20\" y=\"62\" width=\"140\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"90\" y=\"90\" text-anchor=\"middle\" class=\"d-text\">Corpus\u003C\u002Ftext>\u003Ctext x=\"90\" y=\"111\" text-anchor=\"middle\" class=\"d-small\">your documents\u003C\u002Ftext>\u003Cpath d=\"M160 94 H192\" class=\"d-line\" \u002F>\u003Cpath d=\"M200 94 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"200\" y=\"62\" width=\"140\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"270\" y=\"90\" text-anchor=\"middle\" class=\"d-text\">TextUnits\u003C\u002Ftext>\u003Ctext x=\"270\" y=\"111\" text-anchor=\"middle\" class=\"d-small\">1,200 tokens\u003C\u002Ftext>\u003Cpath d=\"M340 94 H372\" class=\"d-line\" \u002F>\u003Cpath d=\"M380 94 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"380\" y=\"62\" width=\"150\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"455\" y=\"90\" text-anchor=\"middle\" class=\"d-text\">Extract\u003C\u002Ftext>\u003Ctext x=\"455\" y=\"111\" text-anchor=\"middle\" class=\"d-small\">one call each\u003C\u002Ftext>\u003Cpath d=\"M530 94 H562\" class=\"d-line\" \u002F>\u003Cpath d=\"M570 94 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"570\" y=\"62\" width=\"130\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"635\" y=\"90\" text-anchor=\"middle\" class=\"d-text\">Reports\u003C\u002Ftext>\u003Ctext x=\"635\" y=\"111\" text-anchor=\"middle\" class=\"d-small\">Leiden, then LLM\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"170\" class=\"d-label\">QUERY — PAID PER QUESTION\u003C\u002Ftext>\u003Crect x=\"20\" y=\"176\" width=\"130\" height=\"60\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"85\" y=\"204\" text-anchor=\"middle\" class=\"d-text\">Question\u003C\u002Ftext>\u003Ctext x=\"85\" y=\"225\" text-anchor=\"middle\" class=\"d-small\">plain words\u003C\u002Ftext>\u003Cpath d=\"M150 206 H645\" class=\"d-line\" \u002F>\u003Cpath d=\"M257 206 V228\" class=\"d-line\" \u002F>\u003Cpath d=\"M257 236 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M387 206 V228\" class=\"d-line\" \u002F>\u003Cpath d=\"M387 236 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M517 206 V228\" class=\"d-line\" \u002F>\u003Cpath d=\"M517 236 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M645 206 V228\" class=\"d-line\" \u002F>\u003Cpath d=\"M645 236 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"200\" y=\"236\" width=\"115\" height=\"60\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"257\" y=\"264\" text-anchor=\"middle\" class=\"d-text\">Global\u003C\u002Ftext>\u003Ctext x=\"257\" y=\"285\" text-anchor=\"middle\" class=\"d-small\">map-reduce\u003C\u002Ftext>\u003Crect x=\"330\" y=\"236\" width=\"115\" height=\"60\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"387\" y=\"264\" text-anchor=\"middle\" class=\"d-text\">Local\u003C\u002Ftext>\u003Ctext x=\"387\" y=\"285\" text-anchor=\"middle\" class=\"d-small\">entity walk\u003C\u002Ftext>\u003Crect x=\"460\" y=\"236\" width=\"115\" height=\"60\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"517\" y=\"264\" text-anchor=\"middle\" class=\"d-text\">DRIFT\u003C\u002Ftext>\u003Ctext x=\"517\" y=\"285\" text-anchor=\"middle\" class=\"d-small\">follow-ups\u003C\u002Ftext>\u003Crect x=\"590\" y=\"236\" width=\"110\" height=\"60\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"645\" y=\"264\" text-anchor=\"middle\" class=\"d-text\">Basic\u003C\u002Ftext>\u003Ctext x=\"645\" y=\"285\" text-anchor=\"middle\" class=\"d-small\">vector search\u003C\u002Ftext>",[175],"The expensive row is the first one: every query reuses an index that has already been paid for.",{"type":107,"content":177},[178,179,180,181,182],"The four modes are the product surface. Global Search runs map-reduce over community reports and is the ","mode vector search cannot imitate, because no chunk contains a corpus-wide answer. Local Search walks the ","graph around named entities and costs roughly what vector retrieval costs with traversal on top. DRIFT ","starts from the most relevant reports, asks follow-up questions and answers each of them locally. Basic ","Search is the package’s own vector RAG, included so a team can measure what the graph buys on its own data.",{"type":123,"level":124,"id":88,"text":89},{"type":107,"content":185},[186,187,188,189],"The entry point is a directory, an init command and two files. The sequence below creates a workspace, ","points it at a workable model, indexes a small input folder and asks a global question; settings.yaml is ","where the bill is set, so a first run should stay on a small corpus and an inexpensive model until the ","prompts have been tuned.",{"type":139,"code":191},"python -m venv .venv && source .venv\u002Fbin\u002Factivate\npython -m pip install graphrag\n\nmkdir ragtest && cd ragtest\ngraphrag init -r . -m gpt-4.1 -e text-embedding-3-large\n# write GRAPHRAG_API_KEY into the .env that init created\n# drop a few .txt or .md files into .\u002Finput, then index:\ngraphrag index -r . -m standard\n\n# global is the default; this prunes reports before the map-reduce step\ngraphrag query \"What are the top themes across these documents?\" -r . \\\n  --dynamic-community-selection\n\ngraphrag query \"Who is the main character?\" -r . -m local\ngraphrag update -r . -m standard-update\n",{"type":107,"content":193},[194,195,196,197],"Two habits keep the first bill small. Index a sample rather than the corpus, because the pipeline calls ","the model once per TextUnit and once per community level whatever the model costs; and run prompt-tune ","before scaling, since the documentation states that prompts used out of the box rarely produce the best ","results.",{"type":199,"variant":200,"title":201,"body":202},"callout","warn","Maintenance mode is part of the risk",[203],[204,205,206,207,208],"The README states that the project is largely in maintenance mode, will not accept new pull requests or ","implement new features, and that bug fixes and dependency updates happen as appropriate. It also states ","that the provided code serves as a demonstration and is not an officially supported Microsoft offering. ","For a team that would have to own this pipeline for years, both sentences belong in the risk register, ","next to the indexing bill.",{"type":123,"level":124,"id":91,"text":92},{"type":107,"content":211},[212,213,214,215],"There is no licence fee and no hosted service, so the entire cost is model calls. Extraction runs once ","per TextUnit and community reporting once per community at every level, which means the bill scales with ","corpus size and with the number of communities the Leiden hierarchy produces. The figures below come from ","one independent comparison published in March 2026 at GPT-4 pricing, not from a Microsoft price list:",{"type":217,"head":218,"rows":227},"table",[219,221,223,225],[220],"Approach",[222],"500-page index",[224],"Time",[226],"What you get",[228,237,246,255],[229,231,233,235],[230],"GraphRAG full pipeline",[232],"$50-200",[234],"about 45 min",[236],"entity graph, community reports, global search",[238,240,242,244],[239],"Vector RAG",[241],"under $5",[243],"minutes",[245],"chunks by similarity, no global queries",[247,249,251,253],[248],"LightRAG",[250],"about $0.50",[252],"about 3 min",[254],"flat graph, weaker global queries",[256,258,260,262],[257],"LazyGraphRAG",[259],"stated at 0.1% of full GraphRAG",[261],"not stated",[263],"not shipped in the MIT package",{"type":107,"content":265},[266,267,268,269,270,271,272],"The counter-measure Microsoft Research published is LazyGraphRAG, which replaces LLM extraction with ","noun-phrase extraction and defers every model call to query time. Its indexing cost is stated as ","identical to vector RAG and 0.1% of full GraphRAG, and the same evaluation reports comparable Global ","Search quality at more than 700 times lower query cost, or better-than-Global-Search quality at 4% of its ","cost. The implementation ships in Microsoft Discovery and Azure Local rather than in the MIT package, so a ","team running the open-source pipeline cannot install it: the number describes a direction, not an option ","on the shelf.",{"type":123,"level":124,"id":94,"text":95},{"type":107,"content":275},[276,277,278],"Query cost is where the modes differ and where the index either earns or fails to earn the money already ","spent on it. Global Search is the expensive one because it reads community reports in batches and then ","reduces them; the other three read a fraction of the graph:",{"type":217,"head":280,"rows":289},[281,283,285,287],[282],"Mode",[284],"What it reads",[286],"Cost shape",[288],"When to use it",[290,299,308,317],[291,293,295,297],[292],"Global",[294],"community reports at one level or a pruned selection",[296],"grows with the number of reports",[298],"corpus-wide synthesis",[300,302,304,306],[301],"Local",[303],"entity neighbourhood and its text units",[305],"vector retrieval plus traversal",[307],"entity and relationship questions",[309,311,313,315],[310],"DRIFT",[312],"top reports, then follow-up questions answered locally",[314],"between local and global",[316],"scoped questions that still need coverage",[318,320,322,324],[319],"Basic",[321],"embedded text units",[323],"the package’s own vector baseline",[325],"single-hop factual lookups",{"type":107,"content":327},[328,329,330,331,332,333,334],"Dynamic community selection is the published fix for the first row: a cheaper model rates each report ","from the root and prunes irrelevant branches before map-reduce. Microsoft Research measured an average ","77% reduction in token cost against static level-1 search over 50 global questions, with about 1,500 ","reports falling to 470 and no statistically significant difference in quality; letting the rating continue ","to level 3 cost 34% more on average and won 58.8% on comprehensiveness and 60.0% on empowerment. These ","are vendor figures from one dataset, but the direction is not in dispute — stop paying for reports that ","cannot answer the question.",{"type":123,"level":124,"id":97,"text":98},{"type":107,"content":337},[338,339,340,341,342,343,344],"The weaknesses are operational rather than algorithmic. The repository is in maintenance mode, so prompt ","formats, model behaviour and dependency drift are the reader’s problem, and the README calls the code a ","demonstration. Updating is its own command rather than a background job: documents change, entities merge, ","communities shift, and the update methods still extract changed text at model-call prices. The graph also ","carries the ontology, because entity and relationship types come from open-ended extraction, so a noisy ","corpus produces a noisy graph. Most importantly, the index is paid for whether or not questions arrive — ","the opposite of vector search’s pay-per-query profile.",{"type":217,"head":346,"rows":354},[347,349,350,352],[348],"Tool",[83],[351],"Where it runs",[353],"What you pay",[355,363,371,378],[356,357,359,361],[24],[358],"full pipeline with community summaries",[360],"Python package on your own keys",[362],"model calls while indexing and querying",[364,365,367,369],[239],[366],"chunk embeddings and similarity search",[368],"any vector store",[370],"embedding calls, cheap queries",[372,373,375,376],[248],[374],"flat graph with lighter extraction",[360],[377],"reported at about 1\u002F100 of the indexing cost",[379,381,383,385],[380],"Graphiti",[382],"temporal graph for agent memory",[384],"your stack with a Neo4j instance",[386],"extraction per interaction",{"type":107,"content":388},[389,390,391,392,393,394,395],"Read that table as a statement about the question each system is built for. GraphRAG answers corpus-wide ","and multi-hop questions that no single chunk contains; vector RAG answers lookup questions faster and more ","cheaply, which is why GraphRAG ships its own Basic mode rather than pretending the graph wins everywhere. ","LightRAG is the reasonable default when a flat graph captures most of the value at a fraction of the cost, ","and Graphiti solves agent memory rather than document retrieval. The position taken here is that most ","teams reach for the full pipeline because its benchmark is impressive, when their query mix is dominated ","by lookups — and the cheapest first step is to measure that mix before indexing anything.",{"type":123,"level":124,"id":100,"text":101},{"type":107,"content":398},[399,400,401,402],"GraphRAG is the right tool for a corpus whose questions are genuinely global, and the wrong default for a ","search box. It is the best-documented graph RAG available, it is MIT, and its index is a reusable artefact ","with reports people can read; it is also in maintenance mode, priced up front and slower to change than the ","corpus it indexes. Adopt it with a measured query mix and a small first corpus, or do not adopt it.",{"type":133,"ordered":404,"items":405},true,[406,408,410,412,414,416],[407],"Choose it when a meaningful share of questions need synthesis across the whole corpus: themes, trends, comparisons over everything.",[409],"Choose it when answers depend on hops between entities that never appear in the same chunk.",[411],"Choose it when the index itself has value — reports that people read, share and audit — because that is what the upfront spend buys.",[413],"Do not choose it for a lookup-heavy search box: vector search is cheaper per query, and GraphRAG’s own Basic mode is that same search.",[415],"Do not treat it as a maintained dependency; the repository states maintenance mode and no new features.",[417],"Before the full run, measure the query mix and index a sample with dynamic community selection enabled.",{"type":107,"content":419},[420,421,422,423,424,429],"One further consideration is where the index lives. It is a batch artefact, so it belongs where batch ","artefacts belong: built by a pipeline, versioned, reviewed and replaced, rather than rebuilt from inside a ","request handler. The mechanics of what the graph contains — entities, TextUnits, communities — are covered ","in an earlier piece on ",{"tag":425,"to":426,"children":427},"link","\u002Fblog\u002Fgraphrag-knowledge-graph-rag",[428],"knowledge-graph RAG","; this review is about the implementation, its modes and its bill.",{"type":431,"content":432},"quote",[433],"GraphRAG indexing can be an expensive operation, please read all of the documentation to understand the process and costs involved, and start small.",{"type":123,"level":124,"id":103,"text":104},{"type":133,"ordered":404,"items":436},[437,441,444,447,450,453],[438],{"tag":439,"href":32,"children":440},"a",[31],[442],{"tag":439,"href":35,"children":443},[34],[445],{"tag":439,"href":38,"children":446},[37],[448],{"tag":439,"href":41,"children":449},[40],[451],{"tag":439,"href":44,"children":452},[43],[454],{"tag":439,"href":47,"children":455},[46],[457,505,561,603],{"slug":458,"published":459,"minutes":460,"category":7,"tags":461,"keywords":465,"about":474,"sources":478,"cover":497,"og":498,"expertise":50,"locales":499,"lang":52,"title":500,"description":501,"coverAlt":502,"url":503,"pricing":504,"kind":462},"zep","2026-10-06",11,[462,9,463,464,10],"Agent memory","Temporal graph","Context engineering",[466,467,468,469,470,471,472,473],"zep ai","zep agent memory","graphiti knowledge graph","zep pricing","zep vs mem0","long-term memory for agents","temporal knowledge graph","zep cloud",[475],{"name":476,"url":477},"Zep","https:\u002F\u002Fwww.getzep.com\u002F",[479,482,485,488,491,494],{"title":480,"url":481},"Zep pricing: plans, credits and limits","https:\u002F\u002Fwww.getzep.com\u002Fpricing",{"title":483,"url":484},"Zep documentation","https:\u002F\u002Fhelp.getzep.com\u002F",{"title":486,"url":487},"Graphiti on GitHub","https:\u002F\u002Fgithub.com\u002Fgetzep\u002Fgraphiti",{"title":489,"url":490},"Graphiti product page","https:\u002F\u002Fwww.getzep.com\u002Fplatform\u002Fgraphiti\u002F",{"title":492,"url":493},"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":495,"url":496},"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",[52,53,54],"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":506,"published":507,"minutes":508,"category":7,"tags":509,"keywords":513,"about":521,"sources":528,"cover":553,"og":554,"expertise":50,"locales":555,"lang":52,"title":556,"description":557,"coverAlt":558,"url":559,"pricing":560,"kind":523},"lancedb","2026-09-21",9,[510,511,512,10],"Vector search","Hybrid search","Embedded database",[506,514,515,516,517,518,519,520],"lancedb review","lance vector database","embedded vector database","lancedb vs qdrant","hybrid search rrf","lancedb indexing","lance data format",[522,525],{"name":523,"url":524},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":526,"url":527},"Apache Arrow","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_Arrow",[529,532,535,538,541,544,547,550],{"title":530,"url":531},"LanceDB quickstart","https:\u002F\u002Fdocs.lancedb.com\u002Fquickstart",{"title":533,"url":534},"LanceDB vector indexes","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Fvector-index",{"title":536,"url":537},"LanceDB indexing guide","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Findex",{"title":539,"url":540},"LanceDB hybrid search","https:\u002F\u002Fdocs.lancedb.com\u002Fsearch\u002Fhybrid-search",{"title":542,"url":543},"LanceDB Enterprise","https:\u002F\u002Fdocs.lancedb.com\u002Fenterprise",{"title":545,"url":546},"LanceDB frequently asked questions","https:\u002F\u002Fdocs.lancedb.com\u002Ffaq\u002Ffaq-oss",{"title":548,"url":549},"LanceDB pricing","https:\u002F\u002Flancedb.com\u002Fpricing",{"title":551,"url":552},"LanceDB on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flancedb\u002F","\u002Fimages\u002Fblog\u002Flancedb\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flancedb\u002Fog.jpg",[52,53,54],"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":562,"published":507,"minutes":6,"category":7,"tags":563,"keywords":567,"about":574,"sources":580,"cover":595,"og":596,"expertise":50,"locales":597,"lang":52,"title":598,"description":599,"coverAlt":600,"url":576,"pricing":601,"kind":602},"pgvector",[510,564,565,10,566],"Postgres","HNSW","Quantisation",[562,568,569,570,571,572,573],"pgvector vs qdrant","postgres vector search","hnsw index postgres","iterative index scans","binary quantization postgres","vector database postgres",[575,577],{"name":562,"url":576},"https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"name":578,"url":579},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",[581,583,586,589,592],{"title":582,"url":576},"pgvector README",{"title":584,"url":585},"pgvector changelog","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":587,"url":588},"PostgreSQL news: pgvector 0.8.2 released","https:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Fnews\u002Fpgvector-082-released-3245\u002F",{"title":590,"url":591},"AWS: Scale pgvector with binary quantization","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fscale-pgvector-with-binary-quantization-on-amazon-aurora-postgresql\u002F",{"title":593,"url":594},"pgvector licence","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FLICENSE","\u002Fimages\u002Fblog\u002Fpgvector\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector\u002Fog.jpg",[52,53,54],"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":604,"published":605,"minutes":6,"category":7,"tags":606,"keywords":608,"about":614,"sources":618,"cover":646,"og":647,"expertise":50,"locales":648,"lang":52,"title":649,"description":650,"coverAlt":651,"url":617,"pricing":652,"kind":462},"mem0","2026-09-17",[462,607,10,510],"Long-term memory",[604,609,610,611,612,471,613],"mem0 review","agent memory layer","mem0 self-hosted","mem0 pricing","mem0 alternatives",[615],{"name":616,"url":617},"Mem0","https:\u002F\u002Fmem0.ai",[619,622,625,628,631,634,637,640,643],{"title":620,"url":621},"Mem0 documentation","https:\u002F\u002Fdocs.mem0.ai\u002Fintroduction",{"title":623,"url":624},"Mem0 quickstart","https:\u002F\u002Fdocs.mem0.ai\u002Fquickstart",{"title":626,"url":627},"How Mem0 works","https:\u002F\u002Fdocs.mem0.ai\u002Fcore-concepts\u002Fhow-it-works",{"title":629,"url":630},"Mem0 pricing","https:\u002F\u002Fmem0.ai\u002Fpricing",{"title":632,"url":633},"Mem0 on GitHub","https:\u002F\u002Fgithub.com\u002Fmem0ai\u002Fmem0",{"title":635,"url":636},"mem0ai on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fmem0ai\u002F",{"title":638,"url":639},"Mem0 research and benchmarks","https:\u002F\u002Fmem0.ai\u002Fresearch",{"title":641,"url":642},"Mem0 MCP server","https:\u002F\u002Fdocs.mem0.ai\u002Fplatform\u002Fmem0-mcp",{"title":644,"url":645},"Mem0 paper on arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.19413","\u002Fimages\u002Fblog\u002Fmem0\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmem0\u002Fog.jpg",[52,53,54],"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",1791383548760]