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.
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.env.example +8 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/PKG-INFO +33 -13
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/README.md +27 -11
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/architecture}/design-philosophy.md +3 -1
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/architecture}/how-it-works.md +2 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/api-cost-latency.png +0 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/api-cost-latency.svg +537 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/quality-latency.png +0 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/quality-latency.svg +390 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/retrieval-comparison.png +0 -0
- vector_graph_rag-0.3.0/docs/assets/evaluation/retrieval-comparison.svg +689 -0
- vector_graph_rag-0.3.0/docs/evaluation.md +121 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/faq.md +1 -1
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/getting-started.md +7 -7
- vector_graph_rag-0.3.0/docs/guides/document-import.md +112 -0
- vector_graph_rag-0.3.0/docs/guides/embedding-providers.md +79 -0
- vector_graph_rag-0.3.0/docs/guides/index.md +18 -0
- vector_graph_rag-0.3.0/docs/guides/multi-tenancy.md +94 -0
- vector_graph_rag-0.3.0/docs/guides/reranking.md +107 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/index.md +22 -7
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/reference}/python-api.md +10 -2
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/reference}/rest-api.md +1 -1
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/README.md +4 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/evaluate.py +59 -7
- vector_graph_rag-0.3.0/evaluation/jev/README.md +21 -0
- vector_graph_rag-0.3.0/evaluation/jev/api-cost-latency-data.json +77 -0
- vector_graph_rag-0.3.0/evaluation/jev/api-cost-latency.md +42 -0
- vector_graph_rag-0.3.0/evaluation/jev/comparison-chart-data.json +126 -0
- vector_graph_rag-0.3.0/evaluation/jev/historical-500.md +99 -0
- vector_graph_rag-0.3.0/evaluation/jev/manifest.json +6009 -0
- vector_graph_rag-0.3.0/evaluation/jev/plot_api_comparison.py +184 -0
- vector_graph_rag-0.3.0/evaluation/jev/plot_retrieval.py +157 -0
- vector_graph_rag-0.3.0/evaluation/jev/results.json +4002 -0
- vector_graph_rag-0.3.0/evaluation/jev/summarize.py +86 -0
- vector_graph_rag-0.3.0/evaluation/jev/summary.json +226 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/README.md +82 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/manifest.json +10020 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/plot-data.json +62 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/plot.py +164 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/results.json.gz +0 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/summarize.py +38 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/summary.json +56 -0
- vector_graph_rag-0.3.0/evaluation/jev/two-stage/validation.json +18 -0
- vector_graph_rag-0.3.0/evaluation/jev/validation.json +14 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/mkdocs.yml +13 -7
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/pyproject.toml +5 -2
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/__init__.py +3 -2
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/api/app.py +6 -2
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/config.py +114 -3
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/extractor.py +14 -6
- vector_graph_rag-0.3.0/src/vector_graph_rag/llm/jev.py +247 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/reranker.py +14 -6
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/rag.py +91 -31
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embeddings.py +1 -1
- vector_graph_rag-0.3.0/tests/test_api_settings.py +28 -0
- vector_graph_rag-0.3.0/tests/test_evaluation_manifest.py +82 -0
- vector_graph_rag-0.3.0/tests/test_jev_reranker.py +204 -0
- vector_graph_rag-0.3.0/tests/test_jev_two_stage.py +66 -0
- vector_graph_rag-0.3.0/tests/test_rag_passage_order.py +29 -0
- vector_graph_rag-0.3.0/tests/test_task_models.py +149 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/uv.lock +673 -3
- vector_graph_rag-0.2.2/docs/evaluation.md +0 -91
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.dockerignore +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.github/workflows/docs.yml +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.github/workflows/release.yml +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/.gitignore +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/AGENTS.md +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/CLAUDE.md +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/Dockerfile +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/LICENSE +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/main.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/api/schemas.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/assets/logo.png +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/assets/logo.svg +0 -0
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/frontend.md +0 -0
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/incremental-updates.md +0 -0
- {vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/guides}/observability.md +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/stylesheets/custom.css +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/docs/use-cases.md +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/2wikimultihopqa.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/2wikimultihopqa_corpus.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/hotpotqa.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/hotpotqa_corpus.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/musique.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/musique_corpus.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/2wikimultihopqa_queries.named_entity_output.tsv +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/hotpotqa_queries.named_entity_output.tsv +0 -0
- {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
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/musique_queries.named_entity_output.tsv +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/ner_cache/sample_queries.named_entity_output.tsv +0 -0
- {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
- {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
- {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
- {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
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/test_sample.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/evaluation/data/test_sample_corpus.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/.gitignore +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/README.md +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/eslint.config.js +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/index.html +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/package-lock.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/package.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/public/vite.svg +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/App.css +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/App.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/api/client.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/api/queries.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/assets/react.svg +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/EntityNode.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/GraphCanvas.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/GraphLegend.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/RelationEdge.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/graph/index.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/CreateGraphDialog.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/FileUploader.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/GraphSelector.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/GraphStatsPreview.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportDialog.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportProgress.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/ImportSettings.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/import/UrlInput.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/AnswerPanel.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/NodeDetailPanel.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/panels/index.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/search/SearchInput.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/search/index.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/settings/SettingsDialog.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/timeline/ProcessTimeline.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/timeline/index.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/Header.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/button.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/dialog.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/input.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/label.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/progress.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/switch.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/components/ui/tabs.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/hooks/use-toast.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/index.css +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/main.tsx +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/datasetStore.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/graphStore.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/stores/searchStore.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/types/api.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/utils/cn.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/src/utils/graphLayout.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.app.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/tsconfig.node.json +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/frontend/vite.config.ts +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/api/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/builder.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/graph.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/knowledge_graph.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/graph/retriever.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/llm/cache.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/chunker.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/converter.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/docling.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/mineru.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/loaders/url_fetcher.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/models.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/observability.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/google.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/huggingface.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/jina.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/local.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/mistral.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/ollama.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/onnx.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/openai.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/utils.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/embedding_providers/voyage.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/src/vector_graph_rag/storage/milvus.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/__init__.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/conftest.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_api.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_embedding_providers.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_graph.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_loaders.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_milvus_store.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_observability.py +0 -0
- {vector_graph_rag-0.2.2 → vector_graph_rag-0.3.0}/tests/test_rag_incremental.py +0 -0
- {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.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: vector-graph-rag
|
|
3
|
-
Version: 0.
|
|
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/),
|
|
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
|
-
- **
|
|
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** —
|
|
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
|
-
|
|
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
|
+

|
|
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/),
|
|
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
|
-
- **
|
|
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** —
|
|
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
|
-
|
|
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
|
+

|
|
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
|
|
{vector_graph_rag-0.2.2/docs → vector_graph_rag-0.3.0/docs/architecture}/design-philosophy.md
RENAMED
|
@@ -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).
|
|
Binary file
|