gitextract_waa09c9u/ ├── .commitlintrc ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── auto-bump-and-release.yaml │ ├── build-push-docker.yaml │ ├── pr-lint.yaml │ ├── style-check.yaml │ └── unit-test.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE.txt ├── README.md ├── app.py ├── doc_env_reqs.txt ├── docs/ │ ├── about.md │ ├── development/ │ │ ├── contributing.md │ │ ├── create-a-component.md │ │ ├── data-components.md │ │ ├── index.md │ │ └── utilities.md │ ├── extra/ │ │ └── css/ │ │ └── code_select.css │ ├── index.md │ ├── local_model.md │ ├── online_install.md │ ├── pages/ │ │ └── app/ │ │ ├── customize-flows.md │ │ ├── ext/ │ │ │ └── user-management.md │ │ ├── features.md │ │ ├── functional-description.md │ │ ├── index/ │ │ │ └── file.md │ │ └── settings/ │ │ ├── overview.md │ │ └── user-settings.md │ ├── scripts/ │ │ ├── generate_examples_docs.py │ │ └── generate_reference_docs.py │ ├── theme/ │ │ ├── assets/ │ │ │ └── pymdownx-extras/ │ │ │ ├── extra-fb5a2a1c86.css │ │ │ ├── extra-loader-MCFnu0Wd.js │ │ │ ├── material-extra-3rdparty-E-i8w1WA.js │ │ │ └── material-extra-theme-TVq-kNRT.js │ │ ├── main.html │ │ └── partials/ │ │ ├── footer.html │ │ ├── header.html │ │ └── libs.html │ └── usage.md ├── flowsettings.py ├── fly.toml ├── launch.sh ├── libs/ │ ├── kotaemon/ │ │ ├── README.md │ │ ├── kotaemon/ │ │ │ ├── __init__.py │ │ │ ├── agents/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── io/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── base.py │ │ │ │ ├── langchain_based.py │ │ │ │ ├── react/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agent.py │ │ │ │ │ └── prompt.py │ │ │ │ ├── rewoo/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agent.py │ │ │ │ │ ├── planner.py │ │ │ │ │ ├── prompt.py │ │ │ │ │ └── solver.py │ │ │ │ ├── tools/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── google.py │ │ │ │ │ ├── llm.py │ │ │ │ │ ├── mcp.py │ │ │ │ │ └── wikipedia.py │ │ │ │ └── utils.py │ │ │ ├── base/ │ │ │ │ ├── __init__.py │ │ │ │ ├── component.py │ │ │ │ └── schema.py │ │ │ ├── chatbot/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── simple_respondent.py │ │ │ ├── cli.py │ │ │ ├── contribs/ │ │ │ │ ├── __init__.py │ │ │ │ ├── docs.py │ │ │ │ └── promptui/ │ │ │ │ ├── .gitignore │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── cli.py │ │ │ │ ├── config.py │ │ │ │ ├── export.py │ │ │ │ ├── logs.py │ │ │ │ ├── themes.py │ │ │ │ ├── tunnel.py │ │ │ │ └── ui/ │ │ │ │ ├── __init__.py │ │ │ │ ├── blocks.py │ │ │ │ ├── chat.py │ │ │ │ └── pipeline.py │ │ │ ├── embeddings/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── endpoint_based.py │ │ │ │ ├── fastembed.py │ │ │ │ ├── langchain_based.py │ │ │ │ ├── openai.py │ │ │ │ ├── tei_endpoint_embed.py │ │ │ │ └── voyageai.py │ │ │ ├── indices/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── extractors/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── doc_parsers.py │ │ │ │ ├── ingests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── files.py │ │ │ │ ├── qa/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── citation.py │ │ │ │ │ ├── citation_qa.py │ │ │ │ │ ├── citation_qa_inline.py │ │ │ │ │ ├── format_context.py │ │ │ │ │ └── utils.py │ │ │ │ ├── rankings/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── cohere.py │ │ │ │ │ ├── llm.py │ │ │ │ │ ├── llm_scoring.py │ │ │ │ │ └── llm_trulens.py │ │ │ │ ├── retrievers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── jina_web_search.py │ │ │ │ │ └── tavily_web_search.py │ │ │ │ ├── splitters/ │ │ │ │ │ └── __init__.py │ │ │ │ └── vectorindex.py │ │ │ ├── llms/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── branching.py │ │ │ │ ├── chats/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── endpoint_based.py │ │ │ │ │ ├── langchain_based.py │ │ │ │ │ ├── llamacpp.py │ │ │ │ │ └── openai.py │ │ │ │ ├── completions/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ └── langchain_based.py │ │ │ │ ├── cot.py │ │ │ │ ├── linear.py │ │ │ │ └── prompts/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── template.py │ │ │ ├── loaders/ │ │ │ │ ├── __init__.py │ │ │ │ ├── adobe_loader.py │ │ │ │ ├── azureai_document_intelligence_loader.py │ │ │ │ ├── base.py │ │ │ │ ├── composite_loader.py │ │ │ │ ├── docling_loader.py │ │ │ │ ├── docx_loader.py │ │ │ │ ├── excel_loader.py │ │ │ │ ├── html_loader.py │ │ │ │ ├── mathpix_loader.py │ │ │ │ ├── ocr_loader.py │ │ │ │ ├── pdf_loader.py │ │ │ │ ├── txt_loader.py │ │ │ │ ├── unstructured_loader.py │ │ │ │ ├── utils/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adobe.py │ │ │ │ │ ├── box.py │ │ │ │ │ ├── gpt4v.py │ │ │ │ │ ├── pdf_ocr.py │ │ │ │ │ └── table.py │ │ │ │ └── web_loader.py │ │ │ ├── parsers/ │ │ │ │ ├── __init__.py │ │ │ │ └── regex_extractor.py │ │ │ ├── rerankings/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── cohere.py │ │ │ │ ├── tei_fast_rerank.py │ │ │ │ └── voyageai.py │ │ │ └── storages/ │ │ │ ├── __init__.py │ │ │ ├── docstores/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── elasticsearch.py │ │ │ │ ├── in_memory.py │ │ │ │ ├── lancedb.py │ │ │ │ └── simple_file.py │ │ │ └── vectorstores/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── chroma.py │ │ │ ├── in_memory.py │ │ │ ├── lancedb.py │ │ │ ├── milvus.py │ │ │ ├── qdrant.py │ │ │ └── simple_file.py │ │ ├── pyproject.toml │ │ ├── pytest.ini │ │ └── tests/ │ │ ├── __init__.py │ │ ├── _test_multimodal_reader.py │ │ ├── conftest.py │ │ ├── resources/ │ │ │ ├── dummy.docx │ │ │ ├── dummy.mhtml │ │ │ ├── dummy.xlsx │ │ │ ├── embedding_openai.json │ │ │ ├── embedding_openai_batch.json │ │ │ ├── fullocr_sample_output.json │ │ │ ├── ggml-vocab-llama.gguf │ │ │ ├── html/ │ │ │ │ └── dummy.html │ │ │ └── policy.md │ │ ├── simple_pipeline.py │ │ ├── test_agent.py │ │ ├── test_composite.py │ │ ├── test_cot.py │ │ ├── test_docstores.py │ │ ├── test_documents.py │ │ ├── test_embedding_models.py │ │ ├── test_indexing_retrieval.py │ │ ├── test_ingestor.py │ │ ├── test_llms_chat_models.py │ │ ├── test_llms_completion_models.py │ │ ├── test_mcp_manager.py │ │ ├── test_mcp_tools.py │ │ ├── test_post_processing.py │ │ ├── test_prompt.py │ │ ├── test_promptui.py │ │ ├── test_reader.py │ │ ├── test_reranking.py │ │ ├── test_splitter.py │ │ ├── test_table_reader.py │ │ ├── test_telemetry.py │ │ ├── test_template.py │ │ ├── test_tools.py │ │ └── test_vectorstore.py │ └── ktem/ │ ├── .gitignore │ ├── MANIFEST.in │ ├── alembic.ini │ ├── ktem/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── assets/ │ │ │ ├── __init__.py │ │ │ ├── css/ │ │ │ │ └── main.css │ │ │ ├── js/ │ │ │ │ ├── main.js │ │ │ │ └── pdf_viewer.js │ │ │ ├── md/ │ │ │ │ ├── about.md │ │ │ │ ├── changelogs.md │ │ │ │ └── usage.md │ │ │ └── theme.py │ │ ├── components.py │ │ ├── db/ │ │ │ ├── __init__.py │ │ │ ├── base_models.py │ │ │ ├── engine.py │ │ │ └── models.py │ │ ├── embeddings/ │ │ │ ├── __init__.py │ │ │ ├── db.py │ │ │ ├── manager.py │ │ │ └── ui.py │ │ ├── exceptions.py │ │ ├── extension_protocol.py │ │ ├── index/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── file/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── graph/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── graph_index.py │ │ │ │ │ ├── light_graph_index.py │ │ │ │ │ ├── lightrag_pipelines.py │ │ │ │ │ ├── nano_graph_index.py │ │ │ │ │ ├── nano_pipelines.py │ │ │ │ │ ├── pipelines.py │ │ │ │ │ └── visualize.py │ │ │ │ ├── index.py │ │ │ │ ├── knet/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── knet_index.py │ │ │ │ │ └── pipelines.py │ │ │ │ ├── pipelines.py │ │ │ │ ├── ui.py │ │ │ │ └── utils.py │ │ │ ├── manager.py │ │ │ ├── models.py │ │ │ └── ui.py │ │ ├── llms/ │ │ │ ├── __init__.py │ │ │ ├── db.py │ │ │ ├── manager.py │ │ │ └── ui.py │ │ ├── main.py │ │ ├── mcp/ │ │ │ ├── __init__.py │ │ │ ├── db.py │ │ │ ├── manager.py │ │ │ └── ui.py │ │ ├── pages/ │ │ │ ├── __init__.py │ │ │ ├── chat/ │ │ │ │ ├── __init__.py │ │ │ │ ├── chat_panel.py │ │ │ │ ├── chat_suggestion.py │ │ │ │ ├── common.py │ │ │ │ ├── control.py │ │ │ │ ├── demo_hint.py │ │ │ │ ├── paper_list.py │ │ │ │ └── report.py │ │ │ ├── help.py │ │ │ ├── login.py │ │ │ ├── resources/ │ │ │ │ ├── __init__.py │ │ │ │ └── user.py │ │ │ ├── settings.py │ │ │ └── setup.py │ │ ├── reasoning/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── prompt_optimization/ │ │ │ │ ├── __init__.py │ │ │ │ ├── decompose_question.py │ │ │ │ ├── fewshot_rewrite_question.py │ │ │ │ ├── mindmap.py │ │ │ │ ├── rephrase_question_train.json │ │ │ │ ├── rewrite_question.py │ │ │ │ ├── suggest_conversation_name.py │ │ │ │ └── suggest_followup_chat.py │ │ │ ├── react.py │ │ │ ├── rewoo.py │ │ │ └── simple.py │ │ ├── rerankings/ │ │ │ ├── __init__.py │ │ │ ├── db.py │ │ │ ├── manager.py │ │ │ └── ui.py │ │ ├── settings.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── commands.py │ │ ├── conversation.py │ │ ├── file.py │ │ ├── generator.py │ │ ├── hf_papers.py │ │ ├── lang.py │ │ ├── plantuml.py │ │ ├── rate_limit.py │ │ ├── render.py │ │ └── visualize_cited.py │ ├── ktem_tests/ │ │ ├── __init__.py │ │ ├── resources/ │ │ │ └── embedding_openai.json │ │ └── test_qa.py │ ├── migrations/ │ │ ├── README │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions/ │ │ └── .keep │ ├── pyproject.toml │ └── requirements.txt ├── mkdocs.yml ├── pyproject.toml ├── scripts/ │ ├── download_pdfjs.sh │ ├── migrate/ │ │ ├── __init__.py │ │ └── migrate_chroma_db.py │ ├── run_linux.sh │ ├── run_macos.sh │ ├── run_windows.bat │ ├── serve_local.py │ ├── server_llamacpp_linux.sh │ ├── server_llamacpp_macos.sh │ ├── server_llamacpp_windows.bat │ ├── update_linux.sh │ ├── update_macos.sh │ └── update_windows.bat ├── settings.yaml.example ├── sso_app.py ├── sso_app_demo.py └── templates/ ├── component-default/ │ └── README.md └── project-default/ ├── cookiecutter.json └── {{cookiecutter.project_name}}/ ├── .gitattributes ├── .gitignore ├── .pre-commit-config.yaml ├── README.md ├── setup.py ├── tests/ │ └── __init__.py └── {{cookiecutter.project_name}}/ ├── __init__.py └── pipeline.py