ΠΠ°ΠΊ Ρ ΠΏΠΎΡΡΡΠΎΠΈΠ» Graph RAG ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ 96.7% Π·Π° 5 Π΄Π½Π΅ΠΉ: ΠΎΡ Π½Π°ΡΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ Π΄ΠΎ production-ready ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
Π― ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Graph RAG ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅Ρ 5 ΡΠ΅Ρ Π½ΠΈΠΊ ΠΈΠ· ΡΠ²Π΅ΠΆΠΈΡ Π½Π°ΡΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ (KET-RAG, HippoRAG 2, VectorCypher) Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΌ Datalog reasoning-Π΄Π²ΠΈΠΆΠΊΠΎΠΌ, ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅Π½Π°Π½ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ API. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 174/180 (96.7%) Π½Π° Π±ΠΈΠ»ΠΈΠ½Π³Π²Π°Π»ΡΠ½ΠΎΠΌ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ΅ ΠΈΠ· 30 Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΎΡΠ΅Π½ΡΠ½Π½ΡΡ Π² 6 ΡΠ΅ΠΆΠΈΠΌΠ°Ρ retrieval. Π’ΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ 100%. Π ΡΡΠ°ΡΡΠ΅ β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, 10 ΡΡΠΎΠΊΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΠΎΡ 38% Π΄ΠΎ 96.7% Π·Π° 10 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ.
https://habr.com/ru/articles/1003064/
#GraphRAG #RAG #Neo4j #NLP #LLM #Python #Datalog #Knowledge_Graph #embeddings #PageRank

Skeleton Indexing (KDD 2025) + HippoRAG 2 (ICML 2025) + VectorCypher + Datalog Reasoning + 10 ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ TL;DR Π― ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Graph RAG ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅Ρ 5 ΡΠ΅Ρ Π½ΠΈΠΊ ΠΈΠ· ΡΠ²Π΅ΠΆΠΈΡ Π½Π°ΡΡΠ½ΡΡ ...
Even though I mostly use #Datalog databases these days (mostly #Datomic), many #PostgreSQL tidbits make me (unreasonably?) happy. Like this one: βAggregate first - join laterβ
https://www.cybertec-postgresql.com/en/super-fast-aggregations-in-postgresql-19/
Recursion in #Draupnir is getting closer, making it very nearly a proper #Datalog compiler. What would normally be a simple task is becoming considerably harder due to the need to support general monoid bases for the relations (which we want for cleaner aggregates than Souffle), as well as the need to handle batch scheduling to support disk.
The main challenge so far has been coming up with an execution plan that safely batches each iteration, while playing nicely with our push+pull scheduler, and simultaneously making sure that it maintains the correct arity of each tuple. Not hard... but very finicky.
We've come up with a pretty clean set of extensions to our logical pipeline DAG that seem like they elegantly capture recursion, and compiling a simple (count the paths) query to the logical stage appears to be producing a sensible graph. This has revealed some bugs in the pipeline optimizer, and we still need to add support into the interpreter... but it's progressing.