vector-graph-rag 0.2.2__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.env.example +8 -0
  2. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/PKG-INFO +33 -13
  3. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/README.md +27 -11
  4. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/architecture}/design-philosophy.md +3 -1
  5. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/architecture}/how-it-works.md +2 -0
  6. vector_graph_rag-0.3.0/docs/assets/evaluation/api-cost-latency.png +0 -0
  7. vector_graph_rag-0.3.0/docs/assets/evaluation/api-cost-latency.svg +537 -0
  8. vector_graph_rag-0.3.0/docs/assets/evaluation/quality-latency.png +0 -0
  9. vector_graph_rag-0.3.0/docs/assets/evaluation/quality-latency.svg +390 -0
  10. vector_graph_rag-0.3.0/docs/assets/evaluation/retrieval-comparison.png +0 -0
  11. vector_graph_rag-0.3.0/docs/assets/evaluation/retrieval-comparison.svg +689 -0
  12. vector_graph_rag-0.3.0/docs/evaluation.md +121 -0
  13. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/faq.md +1 -1
  14. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/getting-started.md +7 -7
  15. vector_graph_rag-0.3.0/docs/guides/document-import.md +112 -0
  16. vector_graph_rag-0.3.0/docs/guides/embedding-providers.md +79 -0
  17. vector_graph_rag-0.3.0/docs/guides/index.md +18 -0
  18. vector_graph_rag-0.3.0/docs/guides/multi-tenancy.md +94 -0
  19. vector_graph_rag-0.3.0/docs/guides/reranking.md +107 -0
  20. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/index.md +22 -7
  21. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/reference}/python-api.md +10 -2
  22. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/reference}/rest-api.md +1 -1
  23. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/README.md +4 -0
  24. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/evaluate.py +59 -7
  25. vector_graph_rag-0.3.0/evaluation/jev/README.md +21 -0
  26. vector_graph_rag-0.3.0/evaluation/jev/api-cost-latency-data.json +77 -0
  27. vector_graph_rag-0.3.0/evaluation/jev/api-cost-latency.md +42 -0
  28. vector_graph_rag-0.3.0/evaluation/jev/comparison-chart-data.json +126 -0
  29. vector_graph_rag-0.3.0/evaluation/jev/historical-500.md +99 -0
  30. vector_graph_rag-0.3.0/evaluation/jev/manifest.json +6009 -0
  31. vector_graph_rag-0.3.0/evaluation/jev/plot_api_comparison.py +184 -0
  32. vector_graph_rag-0.3.0/evaluation/jev/plot_retrieval.py +157 -0
  33. vector_graph_rag-0.3.0/evaluation/jev/results.json +4002 -0
  34. vector_graph_rag-0.3.0/evaluation/jev/summarize.py +86 -0
  35. vector_graph_rag-0.3.0/evaluation/jev/summary.json +226 -0
  36. vector_graph_rag-0.3.0/evaluation/jev/two-stage/README.md +82 -0
  37. vector_graph_rag-0.3.0/evaluation/jev/two-stage/manifest.json +10020 -0
  38. vector_graph_rag-0.3.0/evaluation/jev/two-stage/plot-data.json +62 -0
  39. vector_graph_rag-0.3.0/evaluation/jev/two-stage/plot.py +164 -0
  40. vector_graph_rag-0.3.0/evaluation/jev/two-stage/results.json.gz +0 -0
  41. vector_graph_rag-0.3.0/evaluation/jev/two-stage/summarize.py +38 -0
  42. vector_graph_rag-0.3.0/evaluation/jev/two-stage/summary.json +56 -0
  43. vector_graph_rag-0.3.0/evaluation/jev/two-stage/validation.json +18 -0
  44. vector_graph_rag-0.3.0/evaluation/jev/validation.json +14 -0
  45. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/mkdocs.yml +13 -7
  46. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/pyproject.toml +5 -2
  47. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/__init__.py +3 -2
  48. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/api/app.py +6 -2
  49. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/config.py +114 -3
  50. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/extractor.py +14 -6
  51. vector_graph_rag-0.3.0/src/vector_graph_rag/llm/jev.py +247 -0
  52. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/reranker.py +14 -6
  53. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/rag.py +91 -31
  54. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embeddings.py +1 -1
  55. vector_graph_rag-0.3.0/tests/test_api_settings.py +28 -0
  56. vector_graph_rag-0.3.0/tests/test_evaluation_manifest.py +82 -0
  57. vector_graph_rag-0.3.0/tests/test_jev_reranker.py +204 -0
  58. vector_graph_rag-0.3.0/tests/test_jev_two_stage.py +66 -0
  59. vector_graph_rag-0.3.0/tests/test_rag_passage_order.py +29 -0
  60. vector_graph_rag-0.3.0/tests/test_task_models.py +149 -0
  61. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/uv.lock +673 -3
  62. vector_graph_rag-0.2.2/docs/evaluation.md +0 -91
  63. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.dockerignore +0 -0
  64. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.github/workflows/docs.yml +0 -0
  65. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.github/workflows/release.yml +0 -0
  66. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.gitignore +0 -0
  67. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/AGENTS.md +0 -0
  68. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/CLAUDE.md +0 -0
  69. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/Dockerfile +0 -0
  70. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/LICENSE +0 -0
  71. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/__init__.py +0 -0
  72. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/main.py +0 -0
  73. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/schemas.py +0 -0
  74. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/assets/logo.png +0 -0
  75. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/assets/logo.svg +0 -0
  76. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/frontend.md +0 -0
  77. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/incremental-updates.md +0 -0
  78. {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/observability.md +0 -0
  79. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/stylesheets/custom.css +0 -0
  80. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/use-cases.md +0 -0
  81. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/2wikimultihopqa.json +0 -0
  82. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/2wikimultihopqa_corpus.json +0 -0
  83. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/hotpotqa.json +0 -0
  84. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/hotpotqa_corpus.json +0 -0
  85. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/musique.json +0 -0
  86. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/musique_corpus.json +0 -0
  87. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/2wikimultihopqa_queries.named_entity_output.tsv +0 -0
  88. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/hotpotqa_queries.named_entity_output.tsv +0 -0
  89. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/hotpotqa_train_queries.named_entity_output.tsv +0 -0
  90. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/musique_queries.named_entity_output.tsv +0 -0
  91. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/sample_queries.named_entity_output.tsv +0 -0
  92. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/openie_2wikimultihopqa_results_ner_gpt-3.5-turbo-1106_6119.json +0 -0
  93. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/openie_hotpotqa_results_ner_gpt-3.5-turbo-1106_9221.json +0 -0
  94. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/openie_musique_results_ner_gpt-3.5-turbo-1106_11656.json +0 -0
  95. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/openie_test_sample_results_ner_gpt-3.5-turbo-1106_20.json +0 -0
  96. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/test_sample.json +0 -0
  97. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/test_sample_corpus.json +0 -0
  98. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/.gitignore +0 -0
  99. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/README.md +0 -0
  100. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/eslint.config.js +0 -0
  101. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/index.html +0 -0
  102. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/package-lock.json +0 -0
  103. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/package.json +0 -0
  104. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/public/vite.svg +0 -0
  105. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/App.css +0 -0
  106. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/App.tsx +0 -0
  107. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/api/client.ts +0 -0
  108. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/api/queries.ts +0 -0
  109. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/assets/react.svg +0 -0
  110. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/EntityNode.tsx +0 -0
  111. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/GraphCanvas.tsx +0 -0
  112. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/GraphLegend.tsx +0 -0
  113. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/RelationEdge.tsx +0 -0
  114. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/index.ts +0 -0
  115. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/CreateGraphDialog.tsx +0 -0
  116. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/FileUploader.tsx +0 -0
  117. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/GraphSelector.tsx +0 -0
  118. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/GraphStatsPreview.tsx +0 -0
  119. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportDialog.tsx +0 -0
  120. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportProgress.tsx +0 -0
  121. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportSettings.tsx +0 -0
  122. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/UrlInput.tsx +0 -0
  123. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/AnswerPanel.tsx +0 -0
  124. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/NodeDetailPanel.tsx +0 -0
  125. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/index.ts +0 -0
  126. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/search/SearchInput.tsx +0 -0
  127. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/search/index.ts +0 -0
  128. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/settings/SettingsDialog.tsx +0 -0
  129. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/timeline/ProcessTimeline.tsx +0 -0
  130. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/timeline/index.ts +0 -0
  131. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/Header.tsx +0 -0
  132. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/button.tsx +0 -0
  133. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/dialog.tsx +0 -0
  134. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/input.tsx +0 -0
  135. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/label.tsx +0 -0
  136. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/progress.tsx +0 -0
  137. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/switch.tsx +0 -0
  138. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/tabs.tsx +0 -0
  139. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/hooks/use-toast.ts +0 -0
  140. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/index.css +0 -0
  141. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/main.tsx +0 -0
  142. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/datasetStore.ts +0 -0
  143. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/graphStore.ts +0 -0
  144. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/searchStore.ts +0 -0
  145. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/types/api.ts +0 -0
  146. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/utils/cn.ts +0 -0
  147. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/utils/graphLayout.ts +0 -0
  148. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.app.json +0 -0
  149. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.json +0 -0
  150. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.node.json +0 -0
  151. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/vite.config.ts +0 -0
  152. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/api/__init__.py +0 -0
  153. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/__init__.py +0 -0
  154. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/builder.py +0 -0
  155. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/graph.py +0 -0
  156. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/knowledge_graph.py +0 -0
  157. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/retriever.py +0 -0
  158. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/__init__.py +0 -0
  159. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/cache.py +0 -0
  160. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/__init__.py +0 -0
  161. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/chunker.py +0 -0
  162. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/converter.py +0 -0
  163. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/docling.py +0 -0
  164. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/mineru.py +0 -0
  165. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/url_fetcher.py +0 -0
  166. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/models.py +0 -0
  167. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/observability.py +0 -0
  168. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/__init__.py +0 -0
  169. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/__init__.py +0 -0
  170. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/google.py +0 -0
  171. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/huggingface.py +0 -0
  172. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/jina.py +0 -0
  173. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/local.py +0 -0
  174. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/mistral.py +0 -0
  175. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/ollama.py +0 -0
  176. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/onnx.py +0 -0
  177. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/openai.py +0 -0
  178. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/utils.py +0 -0
  179. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/voyage.py +0 -0
  180. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/milvus.py +0 -0
  181. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/__init__.py +0 -0
  182. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/conftest.py +0 -0
  183. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_api.py +0 -0
  184. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_embedding_providers.py +0 -0
  185. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_graph.py +0 -0
  186. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_loaders.py +0 -0
  187. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_milvus_store.py +0 -0
  188. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_observability.py +0 -0
  189. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_rag_incremental.py +0 -0
  190. {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_rag_metadata_filter.py +0 -0
@@ -99,3 +99,11 @@ MILVUS_URI=./vector_graph_rag.db
99
99
  # VGRAG_ENTITY_COLLECTION=vgrag_entities
100
100
  # VGRAG_RELATION_COLLECTION=vgrag_relations
101
101
  # VGRAG_PASSAGE_COLLECTION=vgrag_passages
102
+
103
+ # Task-specific models override the shared VGRAG_LLM_MODEL.
104
+ # VGRAG_EXTRACTOR_MODEL=gpt-5-mini
105
+ # VGRAG_RERANKER_MODEL=jev
106
+ # VGRAG_ANSWER_MODEL=gpt-4o-mini
107
+ # TYPESAFE_API_KEY=your-key
108
+
109
+ # VGRAG_JEV_MAX_CONCURRENCY=3
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: vector-graph-rag
3
- Version: 0.2.2
3
+ Version: 0.3.0
4
4
  Summary: A Graph RAG implementation using pure vector search with Milvus
5
5
  Project-URL: Homepage, https://github.com/zilliztech/vector-graph-rag
6
6
  Project-URL: Documentation, https://zilliztech.github.io/vector-graph-rag/
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
21
  Requires-Python: >=3.10
22
+ Requires-Dist: httpx>=0.27
22
23
  Requires-Dist: langchain-core>=0.3.0
23
24
  Requires-Dist: milvus-lite>=2.4.0
24
25
  Requires-Dist: numpy>=1.24.0
@@ -67,11 +68,14 @@ Requires-Dist: lxml-html-clean; extra == 'docling'
67
68
  Requires-Dist: trafilatura>=2.0.0; extra == 'docling'
68
69
  Provides-Extra: docs
69
70
  Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
71
+ Provides-Extra: evaluation
72
+ Requires-Dist: matplotlib>=3.9; extra == 'evaluation'
70
73
  Provides-Extra: google
71
74
  Requires-Dist: google-genai>=1.0; extra == 'google'
72
75
  Provides-Extra: hf
73
76
  Requires-Dist: torch>=2.0.0; extra == 'hf'
74
77
  Requires-Dist: transformers>=4.30.0; extra == 'hf'
78
+ Provides-Extra: jev
75
79
  Provides-Extra: jina
76
80
  Requires-Dist: httpx>=0.27; extra == 'jina'
77
81
  Provides-Extra: loaders
@@ -121,20 +125,24 @@ Description-Content-Type: text/markdown
121
125
  <a href="https://discord.com/invite/FG6hMJStWu"><img src="https://img.shields.io/badge/Discord-chat-7289da?style=flat-square&logo=discord&logoColor=white" alt="Discord"></a>
122
126
  </p>
123
127
 
124
- > 💡 Encode entities and relations as vectors in [Milvus](https://milvus.io/), replace iterative LLM agents with a single reranking pass — achieve state-of-the-art multi-hop retrieval at a fraction of the operational and computational cost.
128
+ > 💡 Encode entities and relations as vectors in [Milvus](https://milvus.io/), retrieve multi-hop evidence with single-pass generative reranking or two-stage Jev scoring, without an iterative search loop.
125
129
 
126
130
  <p align="center">
127
131
  <img src="https://github.com/user-attachments/assets/1185b651-ed72-4408-9dcd-25a74b12835b" alt="Vector Graph RAG Demo" width="800">
128
132
  </p>
129
133
 
134
+ ## What’s New
135
+
136
+ - **Two-stage Jev retrieval reaches the quality–latency Pareto frontier.** See the [evaluation results](evaluation/jev/README.md).
137
+
130
138
  ## ✨ Features
131
139
 
132
140
  - **No Graph Database Required** — Pure vector search with Milvus, no Neo4j or other graph databases needed
133
- - **Single-Pass LLM Reranking** — One LLM call to rerank, no iterative agent loops (unlike IRCoT or multi-step reflection)
141
+ - **Configurable Reranking** — Single-pass generative reranking or two-stage Jev relation and passage scoring
134
142
  - **Knowledge-Intensive Friendly** — Optimized for domains with dense factual content: legal, finance, medical, literature, etc.
135
143
  - **Zero Configuration** — Uses Milvus Lite by default, works out of the box with a single file
136
144
  - **Multi-hop Reasoning** — Subgraph expansion enables complex multi-hop question answering
137
- - **State-of-the-Art Performance** — 87.8% avg Recall@5 on multi-hop QA benchmarks, outperforming HippoRAG
145
+ - **State-of-the-Art Performance** — Two-stage Jev leads the compared baselines on MuSiQue and 2Wiki and reaches the quality–latency Pareto frontier. See the [latest results](evaluation/jev/README.md) and [historical three-dataset evaluation](docs/evaluation.md#historical-results).
138
146
 
139
147
  ## 📦 Installation
140
148
 
@@ -227,7 +235,7 @@ argument. The method replaces only that source's chunks and graph references.
227
235
  Source-level writes are not transactionally atomic, but the same upsert/delete
228
236
  operation can be retried after an interruption to converge the source back to a
229
237
  consistent state.
230
- See the [Incremental Updates guide](docs/incremental-updates.md) for parser
238
+ See the [Incremental Updates guide](docs/guides/incremental-updates.md) for parser
231
239
  integration, source key design, and retry recommendations.
232
240
 
233
241
  ```python
@@ -287,7 +295,7 @@ with observability_context(
287
295
 
288
296
  The built-in spans avoid document text, prompts, query text, generated answers,
289
297
  filters, and full URLs by default. See the
290
- [Observability guide](docs/observability.md) for setup details.
298
+ [Observability guide](docs/guides/observability.md) for setup details.
291
299
 
292
300
  </details>
293
301
 
@@ -339,7 +347,7 @@ VGRAG_MILVUS_URI=http://localhost:19530
339
347
 
340
348
  </details>
341
349
 
342
- > 📖 Full Python API reference → [Python API docs](https://zilliztech.github.io/vector-graph-rag/python-api/)
350
+ > 📖 Full Python API reference → [Python API docs](https://zilliztech.github.io/vector-graph-rag/reference/python-api/)
343
351
 
344
352
  ## 🔬 How It Works
345
353
 
@@ -363,11 +371,13 @@ Question → Entity Extraction → Vector Search → Subgraph Expansion → LLM
363
371
  4. **Single-pass LLM reranking** selects the most relevant passages
364
372
  5. Generate answer from selected passages
365
373
 
366
- > 📖 Detailed pipeline walkthrough with diagrams → [How It Works](https://zilliztech.github.io/vector-graph-rag/how-it-works/) · [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/design-philosophy/)
374
+ > 📖 Detailed pipeline walkthrough with diagrams → [How It Works](https://zilliztech.github.io/vector-graph-rag/architecture/how-it-works/) · [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/architecture/design-philosophy/)
367
375
 
368
376
  ## 📊 Evaluation Results
369
377
 
370
- Evaluated on three multi-hop QA benchmarks (Recall@5):
378
+ ### Historical evaluation — before September 2026
379
+
380
+ Before introducing Jev, we evaluated Vector Graph RAG on three multi-hop QA benchmarks (Recall@5):
371
381
 
372
382
  <p align="center">
373
383
  <img src="https://github.com/user-attachments/assets/221a0c8d-a414-4234-ac8b-ba4223aaa2cc" alt="Recall@5: Naive RAG vs Vector Graph RAG" width="700">
@@ -384,6 +394,16 @@ Evaluated on three multi-hop QA benchmarks (Recall@5):
384
394
 
385
395
  > 📖 Detailed analysis and reproduction steps → [Evaluation](https://zilliztech.github.io/vector-graph-rag/evaluation/)
386
396
 
397
+ ### Latest evaluation — October 2026: two-stage Jev
398
+
399
+ **Two-stage Jev reaches the quality–latency Pareto frontier.**
400
+
401
+ **86.07% average Recall@5**, the highest among the compared methods, with **3.13 seconds of additional model-call latency**. On MuSiQue and 2Wiki (1,000 questions each), two-stage Jev reaches the Pareto frontier under the reference latency estimates. This two-dataset result is separate from the historical three-dataset average above.
402
+
403
+ ![Quality and additional model latency](docs/assets/evaluation/quality-latency.png)
404
+
405
+ See [Evaluation Results](evaluation/jev/README.md) for the gains over relation-only Jev and other baselines, timing details and reproduction instructions.
406
+
387
407
  ## 🗄️ Milvus Backend
388
408
 
389
409
  Just change `milvus_uri` to switch between deployment modes:
@@ -452,13 +472,13 @@ cd frontend && npm install && npm run dev
452
472
 
453
473
  See API docs at `http://localhost:8000/docs` after starting the server.
454
474
 
455
- > 📖 Full endpoint reference → [REST API docs](https://zilliztech.github.io/vector-graph-rag/rest-api/) · [Frontend guide](https://zilliztech.github.io/vector-graph-rag/frontend/)
475
+ > 📖 Full endpoint reference → [REST API docs](https://zilliztech.github.io/vector-graph-rag/reference/rest-api/) · [Frontend guide](https://zilliztech.github.io/vector-graph-rag/guides/frontend/)
456
476
 
457
477
  ## 📚 Links
458
478
 
459
479
  - [Documentation](https://zilliztech.github.io/vector-graph-rag/) — full guides, API reference, and architecture details
460
- - [How It Works](https://zilliztech.github.io/vector-graph-rag/how-it-works/) — pipeline walkthrough with diagrams
461
- - [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/design-philosophy/) — why pure vector search, no graph DB
480
+ - [How It Works](https://zilliztech.github.io/vector-graph-rag/architecture/how-it-works/) — pipeline walkthrough with diagrams
481
+ - [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/architecture/design-philosophy/) — why pure vector search, no graph DB
462
482
  - [Milvus](https://milvus.io/) — the vector database powering Vector Graph RAG
463
483
  - [FAQ](https://zilliztech.github.io/vector-graph-rag/faq/) — common questions and troubleshooting
464
484
 
@@ -17,20 +17,24 @@
17
17
  <a href="https://discord.com/invite/FG6hMJStWu"><img src="https://img.shields.io/badge/Discord-chat-7289da?style=flat-square&logo=discord&logoColor=white" alt="Discord"></a>
18
18
  </p>
19
19
 
20
- > 💡 Encode entities and relations as vectors in [Milvus](https://milvus.io/), replace iterative LLM agents with a single reranking pass — achieve state-of-the-art multi-hop retrieval at a fraction of the operational and computational cost.
20
+ > 💡 Encode entities and relations as vectors in [Milvus](https://milvus.io/), retrieve multi-hop evidence with single-pass generative reranking or two-stage Jev scoring, without an iterative search loop.
21
21
 
22
22
  <p align="center">
23
23
  <img src="https://github.com/user-attachments/assets/1185b651-ed72-4408-9dcd-25a74b12835b" alt="Vector Graph RAG Demo" width="800">
24
24
  </p>
25
25
 
26
+ ## What’s New
27
+
28
+ - **Two-stage Jev retrieval reaches the quality–latency Pareto frontier.** See the [evaluation results](evaluation/jev/README.md).
29
+
26
30
  ## ✨ Features
27
31
 
28
32
  - **No Graph Database Required** — Pure vector search with Milvus, no Neo4j or other graph databases needed
29
- - **Single-Pass LLM Reranking** — One LLM call to rerank, no iterative agent loops (unlike IRCoT or multi-step reflection)
33
+ - **Configurable Reranking** — Single-pass generative reranking or two-stage Jev relation and passage scoring
30
34
  - **Knowledge-Intensive Friendly** — Optimized for domains with dense factual content: legal, finance, medical, literature, etc.
31
35
  - **Zero Configuration** — Uses Milvus Lite by default, works out of the box with a single file
32
36
  - **Multi-hop Reasoning** — Subgraph expansion enables complex multi-hop question answering
33
- - **State-of-the-Art Performance** — 87.8% avg Recall@5 on multi-hop QA benchmarks, outperforming HippoRAG
37
+ - **State-of-the-Art Performance** — Two-stage Jev leads the compared baselines on MuSiQue and 2Wiki and reaches the quality–latency Pareto frontier. See the [latest results](evaluation/jev/README.md) and [historical three-dataset evaluation](docs/evaluation.md#historical-results).
34
38
 
35
39
  ## 📦 Installation
36
40
 
@@ -123,7 +127,7 @@ argument. The method replaces only that source's chunks and graph references.
123
127
  Source-level writes are not transactionally atomic, but the same upsert/delete
124
128
  operation can be retried after an interruption to converge the source back to a
125
129
  consistent state.
126
- See the [Incremental Updates guide](docs/incremental-updates.md) for parser
130
+ See the [Incremental Updates guide](docs/guides/incremental-updates.md) for parser
127
131
  integration, source key design, and retry recommendations.
128
132
 
129
133
  ```python
@@ -183,7 +187,7 @@ with observability_context(
183
187
 
184
188
  The built-in spans avoid document text, prompts, query text, generated answers,
185
189
  filters, and full URLs by default. See the
186
- [Observability guide](docs/observability.md) for setup details.
190
+ [Observability guide](docs/guides/observability.md) for setup details.
187
191
 
188
192
  </details>
189
193
 
@@ -235,7 +239,7 @@ VGRAG_MILVUS_URI=http://localhost:19530
235
239
 
236
240
  </details>
237
241
 
238
- > 📖 Full Python API reference → [Python API docs](https://zilliztech.github.io/vector-graph-rag/python-api/)
242
+ > 📖 Full Python API reference → [Python API docs](https://zilliztech.github.io/vector-graph-rag/reference/python-api/)
239
243
 
240
244
  ## 🔬 How It Works
241
245
 
@@ -259,11 +263,13 @@ Question → Entity Extraction → Vector Search → Subgraph Expansion → LLM
259
263
  4. **Single-pass LLM reranking** selects the most relevant passages
260
264
  5. Generate answer from selected passages
261
265
 
262
- > 📖 Detailed pipeline walkthrough with diagrams → [How It Works](https://zilliztech.github.io/vector-graph-rag/how-it-works/) · [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/design-philosophy/)
266
+ > 📖 Detailed pipeline walkthrough with diagrams → [How It Works](https://zilliztech.github.io/vector-graph-rag/architecture/how-it-works/) · [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/architecture/design-philosophy/)
263
267
 
264
268
  ## 📊 Evaluation Results
265
269
 
266
- Evaluated on three multi-hop QA benchmarks (Recall@5):
270
+ ### Historical evaluation — before September 2026
271
+
272
+ Before introducing Jev, we evaluated Vector Graph RAG on three multi-hop QA benchmarks (Recall@5):
267
273
 
268
274
  <p align="center">
269
275
  <img src="https://github.com/user-attachments/assets/221a0c8d-a414-4234-ac8b-ba4223aaa2cc" alt="Recall@5: Naive RAG vs Vector Graph RAG" width="700">
@@ -280,6 +286,16 @@ Evaluated on three multi-hop QA benchmarks (Recall@5):
280
286
 
281
287
  > 📖 Detailed analysis and reproduction steps → [Evaluation](https://zilliztech.github.io/vector-graph-rag/evaluation/)
282
288
 
289
+ ### Latest evaluation — October 2026: two-stage Jev
290
+
291
+ **Two-stage Jev reaches the quality–latency Pareto frontier.**
292
+
293
+ **86.07% average Recall@5**, the highest among the compared methods, with **3.13 seconds of additional model-call latency**. On MuSiQue and 2Wiki (1,000 questions each), two-stage Jev reaches the Pareto frontier under the reference latency estimates. This two-dataset result is separate from the historical three-dataset average above.
294
+
295
+ ![Quality and additional model latency](docs/assets/evaluation/quality-latency.png)
296
+
297
+ See [Evaluation Results](evaluation/jev/README.md) for the gains over relation-only Jev and other baselines, timing details and reproduction instructions.
298
+
283
299
  ## 🗄️ Milvus Backend
284
300
 
285
301
  Just change `milvus_uri` to switch between deployment modes:
@@ -348,13 +364,13 @@ cd frontend && npm install && npm run dev
348
364
 
349
365
  See API docs at `http://localhost:8000/docs` after starting the server.
350
366
 
351
- > 📖 Full endpoint reference → [REST API docs](https://zilliztech.github.io/vector-graph-rag/rest-api/) · [Frontend guide](https://zilliztech.github.io/vector-graph-rag/frontend/)
367
+ > 📖 Full endpoint reference → [REST API docs](https://zilliztech.github.io/vector-graph-rag/reference/rest-api/) · [Frontend guide](https://zilliztech.github.io/vector-graph-rag/guides/frontend/)
352
368
 
353
369
  ## 📚 Links
354
370
 
355
371
  - [Documentation](https://zilliztech.github.io/vector-graph-rag/) — full guides, API reference, and architecture details
356
- - [How It Works](https://zilliztech.github.io/vector-graph-rag/how-it-works/) — pipeline walkthrough with diagrams
357
- - [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/design-philosophy/) — why pure vector search, no graph DB
372
+ - [How It Works](https://zilliztech.github.io/vector-graph-rag/architecture/how-it-works/) — pipeline walkthrough with diagrams
373
+ - [Design Philosophy](https://zilliztech.github.io/vector-graph-rag/architecture/design-philosophy/) — why pure vector search, no graph DB
358
374
  - [Milvus](https://milvus.io/) — the vector database powering Vector Graph RAG
359
375
  - [FAQ](https://zilliztech.github.io/vector-graph-rag/faq/) — common questions and troubleshooting
360
376
 
@@ -1,5 +1,7 @@
1
1
  # Design Philosophy
2
2
 
3
+ > The single-pass descriptions below cover the default generative reranker. Jev uses two-stage relation and passage scoring; see [models and reranking](../guides/reranking.md) for that pipeline and configuration.
4
+
3
5
  Vector Graph RAG is built on a simple but powerful observation: **you do not need a graph database to do Graph RAG**. By encoding entities, relations, and passages as vectors in Milvus, and replacing iterative LLM agents with a single reranking pass, we achieve competitive retrieval quality at a fraction of the operational and computational cost.
4
6
 
5
7
  This page explains the reasoning behind these choices, the trade-offs involved, and how the system compares to alternative approaches.
@@ -250,7 +252,7 @@ flowchart TB
250
252
  | **Vector Graph RAG** | 73.0% | **96.3%** | **94.1%** | **87.8%** |
251
253
 
252
254
  > [!INFO]
253
- > Recall@5 on standard multi-hop QA benchmarks. Vector Graph RAG achieves the highest average score while using fewer LLM calls and no graph database. See [Evaluation](evaluation.md) for methodology details.
255
+ > Recall@5 on standard multi-hop QA benchmarks. Vector Graph RAG achieves the highest average score while using fewer LLM calls and no graph database. See [Evaluation](../evaluation.md) for methodology details.
254
256
 
255
257
  ### Key Differentiators
256
258
 
@@ -1,5 +1,7 @@
1
1
  # How It Works
2
2
 
3
+ > The single-pass descriptions below cover the default generative reranker. Jev uses two-stage relation and passage scoring; see [models and reranking](../guides/reranking.md) for that pipeline and configuration.
4
+
3
5
  ## Overview
4
6
 
5
7
  Vector Graph RAG processes documents and answers questions through two main pipelines: **indexing** (offline) and **querying** (online).