gitextract_rq0j1lje/ ├── .clinerules/ │ └── 01-basic.md ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── feature_request.yml │ │ └── question.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── claude.yml │ ├── copilot-setup-steps.yml │ ├── docker-build-lite.yml │ ├── docker-build-manual.yml │ ├── docker-publish.yml │ ├── linting.yaml │ ├── pypi-publish.yml │ ├── stale.yaml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── AGENTS.md ├── Dockerfile ├── Dockerfile.lite ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README-zh.md ├── README.md ├── SECURITY.md ├── config.ini.example ├── docker-build-push.sh ├── docker-compose-full.yml ├── docker-compose.yml ├── docs/ │ ├── Algorithm.md │ ├── DockerDeployment.md │ ├── FrontendBuildGuide.md │ ├── InteractiveSetup.md │ ├── LightRAG_concurrent_explain.md │ ├── MilvusConfigurationGuide.md │ ├── OfflineDeployment.md │ └── UV_LOCK_GUIDE.md ├── env.example ├── examples/ │ ├── generate_query.py │ ├── graph_visual_with_html.py │ ├── graph_visual_with_neo4j.py │ ├── graph_visual_with_opensearch.py │ ├── insert_custom_kg.py │ ├── lightrag_azure_openai_demo.py │ ├── lightrag_gemini_demo.py │ ├── lightrag_gemini_postgres_demo.py │ ├── lightrag_gemini_workspace_demo.py │ ├── lightrag_ollama_demo.py │ ├── lightrag_openai_compatible_demo.py │ ├── lightrag_openai_demo.py │ ├── lightrag_openai_mongodb_graph_demo.py │ ├── lightrag_openai_opensearch_graph_demo.py │ ├── lightrag_vllm_demo.py │ ├── milvus_kwargs_configuration_demo.py │ ├── modalprocessors_example.py │ ├── opensearch_storage_demo.py │ ├── raganything_example.py │ ├── rerank_example.py │ └── unofficial-sample/ │ ├── copy_llm_cache_to_another_storage.py │ ├── lightrag_bedrock_demo.py │ ├── lightrag_cloudflare_demo.py │ ├── lightrag_hf_demo.py │ ├── lightrag_llamaindex_direct_demo.py │ ├── lightrag_llamaindex_litellm_demo.py │ ├── lightrag_llamaindex_litellm_opik_demo.py │ ├── lightrag_lmdeploy_demo.py │ ├── lightrag_nvidia_demo.py │ └── lightrag_openai_neo4j_milvus_redis_demo.py ├── k8s-deploy/ │ ├── README-zh.md │ ├── README.md │ ├── databases/ │ │ ├── 00-config.sh │ │ ├── 01-prepare.sh │ │ ├── 02-install-database.sh │ │ ├── 03-uninstall-database.sh │ │ ├── 04-cleanup.sh │ │ ├── README.md │ │ ├── elasticsearch/ │ │ │ └── values.yaml │ │ ├── install-kubeblocks.sh │ │ ├── mongodb/ │ │ │ └── values.yaml │ │ ├── neo4j/ │ │ │ └── values.yaml │ │ ├── postgresql/ │ │ │ └── values.yaml │ │ ├── qdrant/ │ │ │ └── values.yaml │ │ ├── redis/ │ │ │ └── values.yaml │ │ ├── scripts/ │ │ │ └── common.sh │ │ └── uninstall-kubeblocks.sh │ ├── install_lightrag.sh │ ├── install_lightrag_dev.sh │ ├── lightrag/ │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates/ │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── deployment.yaml │ │ │ ├── pvc.yaml │ │ │ ├── secret.yaml │ │ │ └── service.yaml │ │ └── values.yaml │ ├── uninstall_lightrag.sh │ └── uninstall_lightrag_dev.sh ├── lightrag/ │ ├── __init__.py │ ├── api/ │ │ ├── .gitignore │ │ ├── README-zh.md │ │ ├── README.md │ │ ├── __init__.py │ │ ├── auth.py │ │ ├── config.py │ │ ├── gunicorn_config.py │ │ ├── lightrag_server.py │ │ ├── routers/ │ │ │ ├── __init__.py │ │ │ ├── document_routes.py │ │ │ ├── graph_routes.py │ │ │ ├── ollama_api.py │ │ │ └── query_routes.py │ │ ├── run_with_gunicorn.py │ │ ├── runtime_validation.py │ │ ├── static/ │ │ │ └── swagger-ui/ │ │ │ ├── swagger-ui-bundle.js │ │ │ └── swagger-ui.css │ │ └── utils_api.py │ ├── base.py │ ├── constants.py │ ├── evaluation/ │ │ ├── README_EVALUASTION_RAGAS.md │ │ ├── __init__.py │ │ ├── eval_rag_quality.py │ │ ├── sample_dataset.json │ │ └── sample_documents/ │ │ ├── 01_lightrag_overview.md │ │ ├── 02_rag_architecture.md │ │ ├── 03_lightrag_improvements.md │ │ ├── 04_supported_databases.md │ │ ├── 05_evaluation_and_deployment.md │ │ └── README.md │ ├── exceptions.py │ ├── kg/ │ │ ├── __init__.py │ │ ├── deprecated/ │ │ │ └── chroma_impl.py │ │ ├── faiss_impl.py │ │ ├── json_doc_status_impl.py │ │ ├── json_kv_impl.py │ │ ├── memgraph_impl.py │ │ ├── milvus_impl.py │ │ ├── mongo_impl.py │ │ ├── nano_vector_db_impl.py │ │ ├── neo4j_impl.py │ │ ├── networkx_impl.py │ │ ├── opensearch_impl.py │ │ ├── postgres_impl.py │ │ ├── qdrant_impl.py │ │ ├── redis_impl.py │ │ └── shared_storage.py │ ├── lightrag.py │ ├── llm/ │ │ ├── __init__.py │ │ ├── anthropic.py │ │ ├── azure_openai.py │ │ ├── bedrock.py │ │ ├── binding_options.py │ │ ├── deprecated/ │ │ │ └── siliconcloud.py │ │ ├── gemini.py │ │ ├── hf.py │ │ ├── jina.py │ │ ├── llama_index_impl.py │ │ ├── lmdeploy.py │ │ ├── lollms.py │ │ ├── nvidia_openai.py │ │ ├── ollama.py │ │ ├── openai.py │ │ └── zhipu.py │ ├── namespace.py │ ├── operate.py │ ├── prompt.py │ ├── rerank.py │ ├── tools/ │ │ ├── README_CLEAN_LLM_QUERY_CACHE.md │ │ ├── README_MIGRATE_LLM_CACHE.md │ │ ├── __init__.py │ │ ├── check_initialization.py │ │ ├── clean_llm_query_cache.py │ │ ├── download_cache.py │ │ ├── lightrag_visualizer/ │ │ │ ├── README-zh.md │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── assets/ │ │ │ │ ├── LICENSE - Geist.txt │ │ │ │ ├── LICENSE - SmileySans.txt │ │ │ │ └── place_font_here │ │ │ ├── graph_visualizer.py │ │ │ └── requirements.txt │ │ ├── migrate_llm_cache.py │ │ └── prepare_qdrant_legacy_data.py │ ├── types.py │ ├── utils.py │ └── utils_graph.py ├── lightrag.service.example ├── lightrag_webui/ │ ├── .gitignore │ ├── .prettierrc.json │ ├── README.md │ ├── components.json │ ├── env.development.smaple │ ├── env.local.sample │ ├── eslint.config.js │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.tsx │ │ ├── AppRouter.tsx │ │ ├── api/ │ │ │ └── lightrag.ts │ │ ├── components/ │ │ │ ├── ApiKeyAlert.tsx │ │ │ ├── AppSettings.tsx │ │ │ ├── LanguageToggle.tsx │ │ │ ├── Root.tsx │ │ │ ├── ThemeProvider.tsx │ │ │ ├── ThemeToggle.tsx │ │ │ ├── documents/ │ │ │ │ ├── ClearDocumentsDialog.tsx │ │ │ │ ├── DeleteDocumentsDialog.tsx │ │ │ │ ├── PipelineStatusDialog.tsx │ │ │ │ └── UploadDocumentsDialog.tsx │ │ │ ├── graph/ │ │ │ │ ├── EditablePropertyRow.tsx │ │ │ │ ├── FocusOnNode.tsx │ │ │ │ ├── FullScreenControl.tsx │ │ │ │ ├── GraphControl.tsx │ │ │ │ ├── GraphLabels.tsx │ │ │ │ ├── GraphSearch.tsx │ │ │ │ ├── LayoutsControl.tsx │ │ │ │ ├── Legend.tsx │ │ │ │ ├── LegendButton.tsx │ │ │ │ ├── MergeDialog.tsx │ │ │ │ ├── PropertiesView.tsx │ │ │ │ ├── PropertyEditDialog.tsx │ │ │ │ ├── PropertyRowComponents.tsx │ │ │ │ ├── Settings.tsx │ │ │ │ ├── SettingsDisplay.tsx │ │ │ │ └── ZoomControl.tsx │ │ │ ├── retrieval/ │ │ │ │ ├── ChatMessage.tsx │ │ │ │ └── QuerySettings.tsx │ │ │ ├── status/ │ │ │ │ ├── StatusCard.tsx │ │ │ │ ├── StatusDialog.tsx │ │ │ │ └── StatusIndicator.tsx │ │ │ └── ui/ │ │ │ ├── Alert.tsx │ │ │ ├── AlertDialog.tsx │ │ │ ├── AsyncSearch.tsx │ │ │ ├── AsyncSelect.tsx │ │ │ ├── Badge.tsx │ │ │ ├── Button.tsx │ │ │ ├── Card.tsx │ │ │ ├── Checkbox.tsx │ │ │ ├── Command.tsx │ │ │ ├── DataTable.tsx │ │ │ ├── Dialog.tsx │ │ │ ├── EmptyCard.tsx │ │ │ ├── FileUploader.tsx │ │ │ ├── Input.tsx │ │ │ ├── NumberInput.tsx │ │ │ ├── PaginationControls.tsx │ │ │ ├── Popover.tsx │ │ │ ├── Progress.tsx │ │ │ ├── ScrollArea.tsx │ │ │ ├── Select.tsx │ │ │ ├── Separator.tsx │ │ │ ├── TabContent.tsx │ │ │ ├── Table.tsx │ │ │ ├── Tabs.tsx │ │ │ ├── Text.tsx │ │ │ ├── Textarea.tsx │ │ │ ├── Tooltip.tsx │ │ │ └── UserPromptInputWithHistory.tsx │ │ ├── contexts/ │ │ │ ├── TabVisibilityProvider.tsx │ │ │ ├── context.ts │ │ │ ├── types.ts │ │ │ └── useTabVisibility.ts │ │ ├── features/ │ │ │ ├── ApiSite.tsx │ │ │ ├── DocumentManager.tsx │ │ │ ├── GraphViewer.tsx │ │ │ ├── LoginPage.tsx │ │ │ ├── RetrievalTesting.tsx │ │ │ └── SiteHeader.tsx │ │ ├── hooks/ │ │ │ ├── useDebounce.tsx │ │ │ ├── useLightragGraph.tsx │ │ │ ├── useRandomGraph.tsx │ │ │ └── useTheme.tsx │ │ ├── i18n.ts │ │ ├── index.css │ │ ├── lib/ │ │ │ ├── constants.ts │ │ │ ├── extensions.ts │ │ │ └── utils.ts │ │ ├── locales/ │ │ │ ├── ar.json │ │ │ ├── de.json │ │ │ ├── en.json │ │ │ ├── fr.json │ │ │ ├── ja.json │ │ │ ├── ko.json │ │ │ ├── ru.json │ │ │ ├── uk.json │ │ │ ├── vi.json │ │ │ ├── zh.json │ │ │ └── zh_TW.json │ │ ├── main.tsx │ │ ├── services/ │ │ │ └── navigation.ts │ │ ├── stores/ │ │ │ ├── graph.ts │ │ │ ├── settings.ts │ │ │ └── state.ts │ │ ├── types/ │ │ │ └── katex.d.ts │ │ ├── utils/ │ │ │ ├── SearchHistoryManager.ts │ │ │ ├── clipboard.ts │ │ │ ├── graphColor.ts │ │ │ └── remarkFootnotes.ts │ │ └── vite-env.d.ts │ ├── tailwind.config.js │ ├── tsconfig.json │ └── vite.config.ts ├── pyproject.toml ├── reproduce/ │ ├── Step_0.py │ ├── Step_1.py │ ├── Step_1_openai_compatible.py │ ├── Step_2.py │ ├── Step_3.py │ ├── Step_3_openai_compatible.py │ └── batch_eval.py ├── requirements-offline-llm.txt ├── requirements-offline-storage.txt ├── requirements-offline.txt ├── scripts/ │ ├── setup/ │ │ ├── lib/ │ │ │ ├── file_ops.sh │ │ │ ├── presets.sh │ │ │ ├── prompts.sh │ │ │ ├── storage_requirements.sh │ │ │ └── validation.sh │ │ ├── setup.sh │ │ └── templates/ │ │ ├── memgraph.yml │ │ ├── milvus-gpu.yml │ │ ├── milvus.yml │ │ ├── mongodb.yml │ │ ├── neo4j.yml │ │ ├── opensearch.yml │ │ ├── postgres.yml │ │ ├── qdrant-gpu.yml │ │ ├── qdrant.yml │ │ ├── redis.conf.template │ │ ├── redis.yml │ │ ├── vllm-embed-gpu.yml │ │ ├── vllm-embed.yml │ │ ├── vllm-rerank-gpu.yml │ │ └── vllm-rerank.yml │ └── test.sh ├── setup.py └── tests/ ├── README_WORKSPACE_ISOLATION_TESTS.md ├── conftest.py ├── test_aquery_data_endpoint.py ├── test_batch_embeddings.py ├── test_chunking.py ├── test_curl_aquery_data.sh ├── test_description_api_validation.py ├── test_dimension_mismatch.py ├── test_doc_status_chunk_preservation.py ├── test_document_file_path_normalization.py ├── test_extract_entities.py ├── test_faiss_meta_inconsistency.py ├── test_graph_storage.py ├── test_interactive_setup_outputs.py ├── test_lightrag_ollama_chat.py ├── test_llm_cache_tools_opensearch.py ├── test_milvus_index_config.py ├── test_milvus_index_creation.py ├── test_milvus_kwargs_bridge.py ├── test_neo4j_fulltext_index.py ├── test_no_model_suffix_safety.py ├── test_opensearch_storage.py ├── test_overlap_validation.py ├── test_postgres_index_name.py ├── test_postgres_migration.py ├── test_postgres_retry_integration.py ├── test_postgres_upsert.py ├── test_qdrant_migration.py ├── test_qdrant_upsert_batching.py ├── test_rerank_chunking.py ├── test_runtime_target_validation.py ├── test_token_auto_renewal.py ├── test_unified_lock_safety.py ├── test_workspace_isolation.py ├── test_workspace_migration_isolation.py ├── test_workspace_sanitization.py ├── test_write_json_optimization.py └── test_zhipu_llm.py