[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Cinnamon--kotaemon":3,"tool-Cinnamon--kotaemon":61},[4,18,28,37,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":76,"owner_url":77,"languages":78,"stars":111,"forks":112,"last_commit_at":113,"license":114,"difficulty_score":24,"env_os":115,"env_gpu":116,"env_ram":117,"env_deps":118,"category_tags":131,"github_topics":132,"view_count":24,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":137,"updated_at":138,"faqs":139,"releases":168},9950,"Cinnamon\u002Fkotaemon","kotaemon","An open-source RAG-based tool for chatting with your documents.","kotaemon 是一款开源的 RAG（检索增强生成）工具，旨在让用户能够轻松地与自己的文档进行智能对话。它有效解决了大模型无法直接访问私有数据或本地文件的痛点，通过构建高效的检索管道，让 AI 能基于用户提供的特定文档内容回答疑问，而非仅依赖通用训练数据。\n\n这款工具兼顾了普通用户与开发者的需求。对于希望快速上手体验的非技术用户，kotaemon 提供了简洁美观的交互界面，支持一键部署，并能灵活对接 OpenAI、Azure 等云端模型或通过 Ollama 运行本地大模型，充分保护数据隐私。对于开发者和研究人员，它不仅仅是一个现成的应用，更是一个可定制的 RAG 流水线框架。基于 Gradio 构建的前端允许开发者直观地调试和展示自建的检索逻辑，同时提供丰富的主题定制能力。无论是想搭建个人知识库助手，还是希望研发专属文档问答系统的团队，kotaemon 都能提供从原型验证到实际应用的一站式支持，让私有数据与大模型的结合变得更加简单高效。","\u003Cdiv align=\"center\">\n\n# kotaemon\n\nAn open-source clean & customizable RAG UI for chatting with your documents. Built with both end users and\ndevelopers in mind.\n\n![Preview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_18170cf347c5.png)\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F11607\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_4a68feb902da.png\" alt=\"Cinnamon%2Fkotaemon | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\n[Live Demo #1](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon) |\n[Live Demo #2](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon-demo) |\n[Online Install](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002Fonline_install\u002F) |\n[Colab Notebook (Local RAG)](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1eTfieec_UOowNizTJA1NjawBJH9y_1nn)\n\n[User Guide](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002F) |\n[Developer Guide](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002Fdevelopment\u002F) |\n[Feedback](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues) |\n[Contact](mailto:kotaemon.support@cinnamon.is)\n\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-31013\u002F)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpkgs\u002Fcontainer\u002Fkotaemon\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker_pull-kotaemon:latest-brightgreen\" alt=\"docker pull ghcr.io\u002Fcinnamon\u002Fkotaemon:latest\">\u003C\u002Fa>\n![download](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FCinnamon\u002Fkotaemon\u002Ftotal.svg?label=downloads&color=blue)\n\u003Ca href='https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon-demo'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue'>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Fen\u002Frepository\u002Fd3141471a0244d5798bc654982b263eb\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fabroad.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=d3141471a0244d5798bc654982b263eb&claim_uid=RLiD9UZ1rEHNaMf&theme=small\" alt=\"Featured｜HelloGitHub\" \u002F>\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n\u003C!-- start-intro -->\n\n## Introduction\n\nThis project serves as a functional RAG UI for both end users who want to do QA on their\ndocuments and developers who want to build their own RAG pipeline.\n\u003Cbr>\n\n```yml\n+----------------------------------------------------------------------------+\n| End users: Those who use apps built with `kotaemon`.                       |\n| (You use an app like the one in the demo above)                            |\n|     +----------------------------------------------------------------+     |\n|     | Developers: Those who built with `kotaemon`.                   |     |\n|     | (You have `import kotaemon` somewhere in your project)         |     |\n|     |     +----------------------------------------------------+     |     |\n|     |     | Contributors: Those who make `kotaemon` better.    |     |     |\n|     |     | (You make PR to this repo)                         |     |     |\n|     |     +----------------------------------------------------+     |     |\n|     +----------------------------------------------------------------+     |\n+----------------------------------------------------------------------------+\n```\n\n### For end users\n\n- **Clean & Minimalistic UI**: A user-friendly interface for RAG-based QA.\n- **Support for Various LLMs**: Compatible with LLM API providers (OpenAI, AzureOpenAI, Cohere, etc.) and local LLMs (via `ollama` and `llama-cpp-python`).\n- **Easy Installation**: Simple scripts to get you started quickly.\n\n### For developers\n\n- **Framework for RAG Pipelines**: Tools to build your own RAG-based document QA pipeline.\n- **Customizable UI**: See your RAG pipeline in action with the provided UI, built with \u003Ca href='https:\u002F\u002Fgithub.com\u002Fgradio-app\u002Fgradio'>Gradio \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fgradio-app\u002Fgradio'>\u003C\u002Fa>.\n- **Gradio Theme**: If you use Gradio for development, check out our theme here: [kotaemon-gradio-theme](https:\u002F\u002Fgithub.com\u002Flone17\u002Fkotaemon-gradio-theme).\n\n## Key Features\n\n- **Host your own document QA (RAG) web-UI**: Support multi-user login, organize your files in private\u002Fpublic collections, collaborate and share your favorite chat with others.\n\n- **Organize your LLM & Embedding models**: Support both local LLMs & popular API providers (OpenAI, Azure, Ollama, Groq).\n\n- **Hybrid RAG pipeline**: Sane default RAG pipeline with hybrid (full-text & vector) retriever and re-ranking to ensure best retrieval quality.\n\n- **Multi-modal QA support**: Perform Question Answering on multiple documents with figures and tables support. Support multi-modal document parsing (selectable options on UI).\n\n- **Advanced citations with document preview**: By default the system will provide detailed citations to ensure the correctness of LLM answers. View your citations (incl. relevant score) directly in the _in-browser PDF viewer_ with highlights. Warning when retrieval pipeline return low relevant articles.\n\n- **Support complex reasoning methods**: Use question decomposition to answer your complex\u002Fmulti-hop question. Support agent-based reasoning with `ReAct`, `ReWOO` and other agents.\n\n- **Configurable settings UI**: You can adjust most important aspects of retrieval & generation process on the UI (incl. prompts).\n\n- **Extensible**: Being built on Gradio, you are free to customize or add any UI elements as you like. Also, we aim to support multiple strategies for document indexing & retrieval. `GraphRAG` indexing pipeline is provided as an example.\n\n![Preview](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_58fbcd4de0f0.png)\n\n## Installation\n\n> If you are not a developer and just want to use the app, please check out our easy-to-follow [User Guide](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002F). Download the `.zip` file from the [latest release](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Freleases\u002Flatest) to get all the newest features and bug fixes.\n\n### System requirements\n\n1. [Python](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F) >= 3.10\n2. [Docker](https:\u002F\u002Fwww.docker.com\u002F): optional, if you [install with Docker](#with-docker-recommended)\n3. [Unstructured](https:\u002F\u002Fdocs.unstructured.io\u002Fopen-source\u002Finstallation\u002Ffull-installation#full-installation) if you want to process files other than `.pdf`, `.html`, `.mhtml`, and `.xlsx` documents. Installation steps differ depending on your operating system. Please visit the link and follow the specific instructions provided there.\n\n### With Docker (recommended)\n\n1. We support both `lite` & `full` version of Docker images. With `full` version, the extra packages of `unstructured` will be installed, which can support additional file types (`.doc`, `.docx`, ...) but the cost is larger docker image size. For most users, the `lite` image should work well in most cases.\n\n   - To use the `full` version.\n\n     ```bash\n     docker run \\\n     -e GRADIO_SERVER_NAME=0.0.0.0 \\\n     -e GRADIO_SERVER_PORT=7860 \\\n     -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n     -p 7860:7860 -it --rm \\\n     ghcr.io\u002Fcinnamon\u002Fkotaemon:main-full\n     ```\n\n   - To use the `full` version with bundled **Ollama** for _local \u002F private RAG_.\n\n     ```bash\n     # change image name to\n     docker run \u003C...> ghcr.io\u002Fcinnamon\u002Fkotaemon:main-ollama\n     ```\n\n   - To use the `lite` version.\n\n   ```bash\n    # change image name to\n    docker run \u003C...> ghcr.io\u002Fcinnamon\u002Fkotaemon:main-lite\n   ```\n\n2. We currently support and test two platforms: `linux\u002Famd64` and `linux\u002Farm64` (for newer Mac). You can specify the platform by passing `--platform` in the `docker run` command. For example:\n\n   ```bash\n   # To run docker with platform linux\u002Farm64\n   docker run \\\n   -e GRADIO_SERVER_NAME=0.0.0.0 \\\n   -e GRADIO_SERVER_PORT=7860 \\\n   -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n   -p 7860:7860 -it --rm \\\n   --platform linux\u002Farm64 \\\n   ghcr.io\u002Fcinnamon\u002Fkotaemon:main-lite\n   ```\n\n3. Once everything is set up correctly, you can go to `http:\u002F\u002Flocalhost:7860\u002F` to access the WebUI.\n\n4. We use [GHCR](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpackages\u002Fworking-with-a-github-packages-registry\u002Fworking-with-the-container-registry) to store docker images, all images can be found [here.](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpkgs\u002Fcontainer\u002Fkotaemon)\n\n### Without Docker\n\n#### Option 1: Using uv (Recommended for faster installation)\n\n1. Clone the repository and run the uv installation script:\n\n   ```shell\n   # clone this repo\n   git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n   cd kotaemon\n\n   # run the uv installation script (installs uv automatically if not present)\n   bash scripts\u002Frun_uv.sh\n   ```\n\n   This script will:\n\n   - Install uv package manager if not present\n   - Create a virtual environment with Python 3.10\n   - Install all dependencies using uv (significantly faster than conda\u002Fpip)\n   - Set up PDF.js viewer\n   - Launch the application\n\n#### Option 2: Using conda (Traditional method)\n\n1. Clone and install required packages on a fresh python environment.\n\n   ```shell\n   # optional (setup env)\n   conda create -n kotaemon python=3.10\n   conda activate kotaemon\n\n   # clone this repo\n   git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n   cd kotaemon\n\n   pip install -e \"libs\u002Fkotaemon[all]\"\n   pip install -e \"libs\u002Fktem\"\n   ```\n\n2. Create a `.env` file in the root of this project. Use `.env.example` as a template\n\n   The `.env` file is there to serve use cases where users want to pre-config the models before starting up the app (e.g. deploy the app on HF hub). The file will only be used to populate the db once upon the first run, it will no longer be used in consequent runs.\n\n3. (Optional) To enable in-browser `PDF_JS` viewer, download [PDF_JS_DIST](https:\u002F\u002Fgithub.com\u002Fmozilla\u002Fpdf.js\u002Freleases\u002Fdownload\u002Fv4.0.379\u002Fpdfjs-4.0.379-dist.zip) then extract it to `libs\u002Fktem\u002Fktem\u002Fassets\u002Fprebuilt`\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_74829a525ea6.png\" alt=\"pdf-setup\" width=\"300\">\n\n4. Start the web server:\n\n   ```shell\n   python app.py\n   ```\n\n   - The app will be automatically launched in your browser.\n   - Default username and password are both `admin`. You can set up additional users directly through the UI.\n\n   ![Chat tab](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_3ee40496ec72.png)\n\n5. Check the `Resources` tab and `LLMs and Embeddings` and ensure that your `api_key` value is set correctly from your `.env` file. If it is not set, you can set it there.\n\n### Setup GraphRAG\n\n> [!NOTE]\n> Official MS GraphRAG indexing only works with OpenAI or Ollama API.\n> We recommend most users to use NanoGraphRAG implementation for straightforward integration with Kotaemon.\n\n\u003Cdetails>\n\n\u003Csummary>Setup Nano GRAPHRAG\u003C\u002Fsummary>\n\n- Install nano-GraphRAG: `pip install nano-graphrag`\n- `nano-graphrag` install might introduce version conflicts, see [this issue](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F440)\n  - To quickly fix: `pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib`\n- Launch Kotaemon with `USE_NANO_GRAPHRAG=true` environment variable.\n- Set your default LLM & Embedding models in Resources setting and it will be recognized automatically from NanoGraphRAG.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>Setup LIGHTRAG\u003C\u002Fsummary>\n\n- Install LightRAG: `pip install git+https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG.git`\n- `LightRAG` install might introduce version conflicts, see [this issue](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F440)\n  - To quickly fix: `pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib`\n- Launch Kotaemon with `USE_LIGHTRAG=true` environment variable.\n- Set your default LLM & Embedding models in Resources setting and it will be recognized automatically from LightRAG.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>Setup MS GRAPHRAG\u003C\u002Fsummary>\n\n- **Non-Docker Installation**: If you are not using Docker, install GraphRAG with the following command:\n\n  ```shell\n  pip install \"graphrag\u003C=0.3.6\" future\n  ```\n\n- **Setting Up API KEY**: To use the GraphRAG retriever feature, ensure you set the `GRAPHRAG_API_KEY` environment variable. You can do this directly in your environment or by adding it to a `.env` file.\n- **Using Local Models and Custom Settings**: If you want to use GraphRAG with local models (like `Ollama`) or customize the default LLM and other configurations, set the `USE_CUSTOMIZED_GRAPHRAG_SETTING` environment variable to true. Then, adjust your settings in the `settings.yaml.example` file.\n\n\u003C\u002Fdetails>\n\n### Setup Local Models (for local\u002Fprivate RAG)\n\nSee [Local model setup](docs\u002Flocal_model.md).\n\n### Setup multimodal document parsing (OCR, table parsing, figure extraction)\n\nThese options are available:\n\n- [Azure Document Intelligence (API)](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fai-document-intelligence)\n- [Adobe PDF Extract (API)](https:\u002F\u002Fdeveloper.adobe.com\u002Fdocument-services\u002Fdocs\u002Foverview\u002Fpdf-extract-api\u002F)\n- [Docling (local, open-source)](https:\u002F\u002Fgithub.com\u002FDS4SD\u002Fdocling)\n  - To use Docling, first install required dependencies: `pip install docling`\n\nSelect corresponding loaders in `Settings -> Retrieval Settings -> File loader`\n\n### Customize your application\n\n- By default, all application data is stored in the `.\u002Fktem_app_data` folder. You can back up or copy this folder to transfer your installation to a new machine.\n\n- For advanced users or specific use cases, you can customize these files:\n\n  - `flowsettings.py`\n  - `.env`\n\n#### `flowsettings.py`\n\nThis file contains the configuration of your application. You can use the example\n[here](flowsettings.py) as the starting point.\n\n\u003Cdetails>\n\n\u003Csummary>Notable settings\u003C\u002Fsummary>\n\n```python\n# setup your preferred document store (with full-text search capabilities)\nKH_DOCSTORE=(Elasticsearch | LanceDB | SimpleFileDocumentStore)\n\n# setup your preferred vectorstore (for vector-based search)\nKH_VECTORSTORE=(ChromaDB | LanceDB | InMemory | Milvus | Qdrant)\n\n# Enable \u002F disable multimodal QA\nKH_REASONINGS_USE_MULTIMODAL=True\n\n# Setup your new reasoning pipeline or modify existing one.\nKH_REASONINGS = [\n    \"ktem.reasoning.simple.FullQAPipeline\",\n    \"ktem.reasoning.simple.FullDecomposeQAPipeline\",\n    \"ktem.reasoning.react.ReactAgentPipeline\",\n    \"ktem.reasoning.rewoo.RewooAgentPipeline\",\n]\n```\n\n\u003C\u002Fdetails>\n\n#### `.env`\n\nThis file provides another way to configure your models and credentials.\n\n\u003Cdetails>\n\n\u003Csummary>Configure model via the .env file\u003C\u002Fsummary>\n\n- Alternatively, you can configure the models via the `.env` file with the information needed to connect to the LLMs. This file is located in the folder of the application. If you don't see it, you can create one.\n\n- Currently, the following providers are supported:\n\n  - **OpenAI**\n\n    In the `.env` file, set the `OPENAI_API_KEY` variable with your OpenAI API key in order\n    to enable access to OpenAI's models. There are other variables that can be modified,\n    please feel free to edit them to fit your case. Otherwise, the default parameter should\n    work for most people.\n\n    ```shell\n    OPENAI_API_BASE=https:\u002F\u002Fapi.openai.com\u002Fv1\n    OPENAI_API_KEY=\u003Cyour OpenAI API key here>\n    OPENAI_CHAT_MODEL=gpt-3.5-turbo\n    OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002\n    ```\n\n  - **Azure OpenAI**\n\n    For OpenAI models via Azure platform, you need to provide your Azure endpoint and API\n    key. Your might also need to provide your developments' name for the chat model and the\n    embedding model depending on how you set up Azure development.\n\n    ```shell\n    AZURE_OPENAI_ENDPOINT=\n    AZURE_OPENAI_API_KEY=\n    OPENAI_API_VERSION=2024-02-15-preview\n    AZURE_OPENAI_CHAT_DEPLOYMENT=gpt-35-turbo\n    AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002\n    ```\n\n  - **Local Models**\n\n    - Using `ollama` OpenAI compatible server:\n\n      - Install [ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama) and start the application.\n\n      - Pull your model, for example:\n\n        ```shell\n        ollama pull llama3.1:8b\n        ollama pull nomic-embed-text\n        ```\n\n      - Set the model names on web UI and make it as default:\n\n        ![Models](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_8153f9ed4600.png)\n\n    - Using `GGUF` with `llama-cpp-python`\n\n      You can search and download a LLM to be ran locally from the [Hugging Face Hub](https:\u002F\u002Fhuggingface.co\u002Fmodels). Currently, these model formats are supported:\n\n      - GGUF\n\n        You should choose a model whose size is less than your device's memory and should leave\n        about 2 GB. For example, if you have 16 GB of RAM in total, of which 12 GB is available,\n        then you should choose a model that takes up at most 10 GB of RAM. Bigger models tend to\n        give better generation but also take more processing time.\n\n        Here are some recommendations and their size in memory:\n\n      - [Qwen1.5-1.8B-Chat-GGUF](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen1.5-1.8B-Chat-GGUF\u002Fresolve\u002Fmain\u002Fqwen1_5-1_8b-chat-q8_0.gguf?download=true): around 2 GB\n\n        Add a new LlamaCpp model with the provided model name on the web UI.\n\n  \u003C\u002Fdetails>\n\n### Adding your own RAG pipeline\n\n#### Custom Reasoning Pipeline\n\n1. Check the default pipeline implementation in [here](libs\u002Fktem\u002Fktem\u002Freasoning\u002Fsimple.py). You can make quick adjustment to how the default QA pipeline work.\n2. Add new `.py` implementation in `libs\u002Fktem\u002Fktem\u002Freasoning\u002F` and later include it in `flowssettings` to enable it on the UI.\n\n#### Custom Indexing Pipeline\n\n- Check sample implementation in `libs\u002Fktem\u002Fktem\u002Findex\u002Ffile\u002Fgraph`\n\n> (more instruction WIP).\n\n\u003C!-- end-intro -->\n\n## Citation\n\nPlease cite this project as\n\n```BibTeX\n@misc{kotaemon2024,\n    title = {Kotaemon - An open-source RAG-based tool for chatting with any content.},\n    author = {The Kotaemon Team},\n    year = {2024},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon}},\n}\n```\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#Cinnamon\u002Fkotaemon&Date\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png&theme=dark\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## Contribution\n\nSince our project is actively being developed, we greatly value your feedback and contributions. Please see our [Contributing Guide](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) to get started. Thank you to all our contributors!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_9e1c216c7c5f.png\" \u002F>\n\u003C\u002Fa>\n","\u003Cdiv align=\"center\">\n\n# kotaemon\n\n一款开源、简洁且可定制的 RAG 用户界面，用于与您的文档进行对话。专为最终用户和开发者设计。\n\n![预览](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_18170cf347c5.png)\n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F11607\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_4a68feb902da.png\" alt=\"Cinnamon%2Fkotaemon | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\n[实时演示 #1](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon) |\n[实时演示 #2](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon-demo) |\n[在线安装](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002Fonline_install\u002F) |\n[Colab 笔记本（本地 RAG）](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1eTfieec_UOowNizTJA1NjawBJH9y_1nn)\n\n[用户指南](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002F) |\n[开发者指南](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002Fdevelopment\u002F) |\n[反馈](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues) |\n[联系邮箱](mailto:kotaemon.support@cinnamon.is)\n\n[![Python 3.10+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-31013\u002F)\n[![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpkgs\u002Fcontainer\u002Fkotaemon\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker_pull-kotaemon:latest-brightgreen\" alt=\"docker pull ghcr.io\u002Fcinnamon\u002Fkotaemon:latest\">\u003C\u002Fa>\n![下载量](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FCinnamon\u002Fkotaemon\u002Ftotal.svg?label=downloads&color=blue)\n\u003Ca href='https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon-demo'>\u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue'>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Fen\u002Frepository\u002Fd3141471a0244d5798bc654982b263eb\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fabroad.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=d3141471a0244d5798bc654982b263eb&claim_uid=RLiD9UZ1rEHNaMf&theme=small\" alt=\"精选｜HelloGitHub\" \u002F>\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n\u003C!-- start-intro -->\n\n## 简介\n\n该项目既为希望对其文档进行问答的最终用户提供了一个功能齐全的 RAG 用户界面，也为希望构建自有 RAG 流程的开发者提供了支持。\n\u003Cbr>\n\n```yml\n+----------------------------------------------------------------------------+\n| 终端用户：使用基于 `kotaemon` 构建的应用程序的人。                       |\n| （您使用的是类似上述演示中的应用程序）                            |\n|     +----------------------------------------------------------------+     |\n|     | 开发者：使用 `kotaemon` 进行开发的人。                   |     |\n|     | （您的项目中某处有 `import kotaemon`）         |     |\n|     |     +----------------------------------------------------+     |     |\n|     |     | 贡献者：致力于让 `kotaemon` 更完善的人员。    |     |     |\n|     |     | （您向此仓库提交 PR）                         |     |     |\n|     |     +----------------------------------------------------+     |     |\n|     +----------------------------------------------------------------+     |\n+----------------------------------------------------------------------------+\n```\n\n### 针对终端用户\n\n- **简洁极简的界面**：面向 RAG 式问答的友好用户界面。\n- **支持多种 LLM**：兼容 LLM API 提供商（OpenAI、Azure OpenAI、Cohere 等）以及本地 LLM（通过 `ollama` 和 `llama-cpp-python`）。\n- **轻松安装**：只需简单脚本即可快速上手。\n\n### 针对开发者\n\n- **RAG 流程框架**：帮助您构建自己的基于 RAG 的文档问答流程。\n- **可定制界面**：借助提供的 UI，亲眼见证您的 RAG 流程运行效果，该界面基于 \u003Ca href='https:\u002F\u002Fgithub.com\u002Fgradio-app\u002Fgradio'>Gradio \u003Cimg src='https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fgradio-app\u002Fgradio'>\u003C\u002Fa> 打造。\n- **Gradio 主题**：如果您在开发中使用 Gradio，不妨试试我们的主题：[kotaemon-gradio-theme](https:\u002F\u002Fgithub.com\u002Flone17\u002Fkotaemon-gradio-theme)。\n\n## 核心特性\n\n- **托管您自己的文档问答（RAG）Web 界面**：支持多用户登录，将文件组织成私有\u002F公有集合，协作并与他人分享您喜爱的对话。\n  \n- **管理您的 LLM 和嵌入模型**：同时支持本地 LLM 和主流 API 提供商（OpenAI、Azure、Ollama、Groq 等）。\n  \n- **混合 RAG 流程**：提供合理的默认 RAG 流程，结合全文检索与向量检索，并加入重排序机制，以确保最佳的检索质量。\n  \n- **多模态问答支持**：可在包含图表和表格的多份文档上执行问答任务。支持多模态文档解析（UI 上可选择相应选项）。\n  \n- **高级引用与文档预览**：系统默认会提供详细的引用信息，以确保 LLM 回答的准确性。您可以在带有高亮显示的 _浏览器内 PDF 查看器_ 中直接查看引用内容（包括相关得分）。当检索流程返回相关性较低的文章时，系统会发出警告。\n  \n- **支持复杂推理方法**：利用问题分解来解答复杂的多跳问题。支持基于代理的推理方式，如 `ReAct`、`ReWOO` 等代理。\n  \n- **可配置的设置界面**：您可以在界面上调整检索和生成过程中的大部分重要参数（包括提示词）。\n  \n- **可扩展性**：由于基于 Gradio 构建，您可以自由地自定义或添加任何所需的 UI 元素。此外，我们还计划支持多种文档索引与检索策略。作为示例，我们提供了 `GraphRAG` 索引流程。\n  \n![预览](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_58fbcd4de0f0.png)\n\n## 安装\n\n> 如果您不是开发者，只是想使用这款应用，请参阅我们易于操作的[用户指南](https:\u002F\u002Fcinnamon.github.io\u002Fkotaemon\u002F)。从[最新发布](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Freleases\u002Flatest)下载 `.zip` 文件，即可获得所有最新功能和错误修复。\n\n### 系统要求\n\n1. [Python](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F) ≥ 3.10\n2. [Docker](https:\u002F\u002Fwww.docker.com\u002F)：可选，如果您希望通过[Docker 安装](#with-docker-recommended)的话。\n3. [Unstructured](https:\u002F\u002Fdocs.unstructured.io\u002Fopen-source\u002Finstallation\u002Ffull-installation#full-installation)：如果您需要处理除 `.pdf`、`.html`、`.mhtml` 和 `.xlsx` 之外的其他格式文件，则需安装此工具。具体安装步骤因操作系统而异，请访问链接并按照其中提供的说明进行操作。\n\n### 使用 Docker（推荐）\n\n1. 我们支持 `lite` 和 `full` 两种版本的 Docker 镜像。使用 `full` 版本时，会安装 `unstructured` 的额外包，从而支持更多文件类型（如 `.doc`、`.docx` 等），但镜像体积也会更大。对于大多数用户来说，`lite` 镜像通常已经足够。\n\n   - 使用 `full` 版本：\n\n     ```bash\n     docker run \\\n     -e GRADIO_SERVER_NAME=0.0.0.0 \\\n     -e GRADIO_SERVER_PORT=7860 \\\n     -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n     -p 7860:7860 -it --rm \\\n     ghcr.io\u002Fcinnamon\u002Fkotaemon:main-full\n     ```\n\n   - 使用包含 **Ollama** 的 `full` 版本，适用于本地\u002F私有 RAG 场景：\n\n     ```bash\n     # 将镜像名称更改为\n     docker run \u003C...> ghcr.io\u002Fcinnamon\u002Fkotaemon:main-ollama\n     ```\n\n   - 使用 `lite` 版本：\n\n     ```bash\n     # 将镜像名称更改为\n     docker run \u003C...> ghcr.io\u002Fcinnamon\u002Fkotaemon:main-lite\n     ```\n\n2. 目前我们支持并测试两个平台：`linux\u002Famd64` 和 `linux\u002Farm64`（适用于较新的 Mac）。您可以通过在 `docker run` 命令中添加 `--platform` 参数来指定平台。例如：\n\n   ```bash\n   # 在 linux\u002Farm64 平台上运行 Docker\n   docker run \\\n   -e GRADIO_SERVER_NAME=0.0.0.0 \\\n   -e GRADIO_SERVER_PORT=7860 \\\n   -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n   -p 7860:7860 -it --rm \\\n   --platform linux\u002Farm64 \\\n   ghcr.io\u002Fcinnamon\u002Fkotaemon:main-lite\n   ```\n\n3. 一切设置正确后，您可以访问 `http:\u002F\u002Flocalhost:7860\u002F` 来使用 Web UI。\n\n4. 我们使用 [GHCR](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpackages\u002Fworking-with-a-github-packages-registry\u002Fworking-with-the-container-registry) 存储 Docker 镜像，所有镜像都可以在这里找到：[链接](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpkgs\u002Fcontainer\u002Fkotaemon)。\n\n### 不使用 Docker\n\n#### 选项 1：使用 uv（推荐，安装速度更快）\n\n1. 克隆仓库并运行 uv 安装脚本：\n\n   ```shell\n   # 克隆此仓库\n   git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n   cd kotaemon\n\n   # 运行 uv 安装脚本（如果未安装 uv，则会自动安装）\n   bash scripts\u002Frun_uv.sh\n   ```\n\n   该脚本将执行以下操作：\n   - 如果未安装 uv 包管理器，则会自动安装。\n   - 创建一个基于 Python 3.10 的虚拟环境。\n   - 使用 uv 安装所有依赖项（比 conda 或 pip 快得多）。\n   - 设置 PDF.js 查看器。\n   - 启动应用程序。\n\n#### 选项 2：使用 conda（传统方法）\n\n1. 在一个新的 Python 环境中克隆并安装所需软件包。\n\n   ```shell\n   # 可选（设置环境）\n   conda create -n kotaemon python=3.10\n   conda activate kotaemon\n\n   # 克隆此仓库\n   git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n   cd kotaemon\n\n   pip install -e \"libs\u002Fkotaemon[all]\"\n   pip install -e \"libs\u002Fktem\"\n   ```\n\n2. 在项目根目录下创建一个 `.env` 文件，以 `.env.example` 为模板。\n\n   `.env` 文件用于在启动应用之前预先配置模型的场景（例如在 HF Hub 上部署应用）。该文件仅会在首次运行时用于填充数据库，后续运行将不再使用。\n\n3. （可选）要启用浏览器中的 `PDF_JS` 查看器，下载 [PDF_JS_DIST](https:\u002F\u002Fgithub.com\u002Fmozilla\u002Fpdf.js\u002Freleases\u002Fdownload\u002Fv4.0.379\u002Fpdfjs-4.0.379-dist.zip)，然后将其解压到 `libs\u002Fktem\u002Fktem\u002Fassets\u002Fprebuilt` 目录中。\n\n   ![pdf-setup](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_74829a525ea6.png)\n\n4. 启动 Web 服务器：\n\n   ```shell\n   python app.py\n   ```\n\n   - 应用程序将自动在您的浏览器中打开。\n   - 默认用户名和密码均为 `admin`。您可以通过 UI 直接添加其他用户。\n\n   ![Chat tab](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_3ee40496ec72.png)\n\n5. 检查“资源”选项卡中的“LLMs 和 Embeddings”，确保从 `.env` 文件中正确设置了 `api_key` 值。如果未设置，可以在该页面进行配置。\n\n### 设置 GraphRAG\n\n> [!注意]\n> 官方 MS GraphRAG 索引功能仅支持 OpenAI 或 Ollama API。\n> 对于大多数用户，我们建议使用 NanoGraphRAG 实现，以便与 Kotaemon 更加便捷地集成。\n\n\u003Cdetails>\n\n\u003Csummary>设置 Nano GRAPHRAG\u003C\u002Fsummary>\n\n- 安装 nano-GraphRAG：`pip install nano-graphrag`\n- `nano-graphrag` 的安装可能会引入版本冲突，请参阅 [此问题](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F440)。\n  - 快速解决方法：`pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib`\n- 使用 `USE_NANO_GRAPHRAG=true` 环境变量启动 Kotaemon。\n- 在“资源”设置中配置默认的 LLM 和嵌入模型，NanoGraphRAG 会自动识别这些设置。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>设置 LIGHTRAG\u003C\u002Fsummary>\n\n- 安装 LightRAG：`pip install git+https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG.git`\n- `LightRAG` 的安装可能会引发版本冲突，请参阅 [此问题](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F440)。\n  - 快速解决方法：`pip uninstall hnswlib chroma-hnswlib && pip install chroma-hnswlib`\n- 使用 `USE_LIGHTRAG=true` 环境变量启动 Kotaemon。\n- 在“资源”设置中配置默认的 LLM 和嵌入模型，LightRAG 会自动识别这些设置。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>设置 MS GRAPHRAG\u003C\u002Fsummary>\n\n- **非 Docker 安装**：如果您不使用 Docker，请使用以下命令安装 GraphRAG：\n\n  ```shell\n  pip install \"graphrag\u003C=0.3.6\" future\n  ```\n\n- **设置 API 密钥**：要使用 GraphRAG 的检索功能，务必设置 `GRAPHRAG_API_KEY` 环境变量。您可以在当前环境中直接设置，也可以将其添加到 `.env` 文件中。\n- **使用本地模型和自定义设置**：如果您希望使用本地模型（如 `Ollama`）或自定义默认 LLM 及其他配置，请将 `USE_CUSTOMIZED_GRAPHRAG_SETTING` 环境变量设置为 `true`。然后，在 `settings.yaml.example` 文件中调整相关设置。\n\n\u003C\u002Fdetails>\n\n### 设置本地模型（用于本地\u002F私有 RAG）\n\n请参阅 [本地模型设置](docs\u002Flocal_model.md)。\n\n### 设置多模态文档解析（OCR、表格解析、图表提取）\n\n可用的选项包括：\n\n- [Azure Document Intelligence（API）](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fai-document-intelligence)\n- [Adobe PDF Extract（API）](https:\u002F\u002Fdeveloper.adobe.com\u002Fdocument-services\u002Fdocs\u002Foverview\u002Fpdf-extract-api\u002F)\n- [Docling（本地开源）](https:\u002F\u002Fgithub.com\u002FDS4SD\u002Fdocling)\n  - 使用 Docling 时，需先安装其依赖项：`pip install docling`\n\n请在“设置 -> 检索设置 -> 文件加载器”中选择相应的加载器。\n\n### 自定义您的应用\n\n- 默认情况下，所有应用数据都存储在 `.\u002Fktem_app_data` 文件夹中。您可以备份或复制此文件夹，以将您的安装迁移到新机器上。\n\n- 对于高级用户或特定用例，您可以自定义以下文件：\n\n  - `flowsettings.py`\n  - `.env`\n\n#### `flowsettings.py`\n\n此文件包含您应用的配置。您可以使用[此处](flowsettings.py)的示例作为起点。\n\n\u003Cdetails>\n\n\u003Csummary>重要设置\u003C\u002Fsummary>\n\n```python\n# 设置您偏好的文档存储（具备全文搜索功能）\nKH_DOCSTORE=(Elasticsearch | LanceDB | SimpleFileDocumentStore)\n\n# 设置您偏好的向量存储（用于基于向量的搜索）\nKH_VECTORSTORE=(ChromaDB | LanceDB | InMemory | Milvus | Qdrant)\n\n# 启用\u002F禁用多模态问答\nKH_REASONINGS_USE_MULTIMODAL=True\n\n# 设置新的推理管道或修改现有管道。\nKH_REASONINGS = [\n    \"ktem.reasoning.simple.FullQAPipeline\",\n    \"ktem.reasoning.simple.FullDecomposeQAPipeline\",\n    \"ktem.reasoning.react.ReactAgentPipeline\",\n    \"ktem.reasoning.rewoo.RewooAgentPipeline\",\n]\n```\n\n\u003C\u002Fdetails>\n\n#### `.env`\n\n此文件提供了另一种配置模型和凭据的方式。\n\n\u003Cdetails>\n\n\u003Csummary>通过 .env 文件配置模型\u003C\u002Fsummary>\n\n- 您也可以通过 `.env` 文件配置模型，提供连接到 LLM 所需的信息。该文件位于应用程序的文件夹中。如果未找到，您可以创建一个。\n\n- 目前支持以下提供商：\n\n  - **OpenAI**\n\n    在 `.env` 文件中，设置 `OPENAI_API_KEY` 变量为您的 OpenAI API 密钥，以启用对 OpenAI 模型的访问。还有其他可修改的变量，请根据您的需求进行调整。否则，默认参数通常适用于大多数人。\n\n    ```shell\n    OPENAI_API_BASE=https:\u002F\u002Fapi.openai.com\u002Fv1\n    OPENAI_API_KEY=\u003C您的 OpenAI API 密钥>\n    OPENAI_CHAT_MODEL=gpt-3.5-turbo\n    OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002\n    ```\n\n  - **Azure OpenAI**\n\n    对于通过 Azure 平台使用的 OpenAI 模型，您需要提供 Azure 终端节点和 API 密钥。根据您的 Azure 开发设置，可能还需要指定聊天模型和嵌入模型的名称。\n\n    ```shell\n    AZURE_OPENAI_ENDPOINT=\n    AZURE_OPENAI_API_KEY=\n    OPENAI_API_VERSION=2024-02-15-preview\n    AZURE_OPENAI_CHAT_DEPLOYMENT=gpt-35-turbo\n    AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT=text-embedding-ada-002\n    ```\n\n  - **本地模型**\n\n    - 使用 `ollama` OpenAI 兼容服务器：\n\n      - 安装 [ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama)，并启动应用程序。\n\n      - 拉取您的模型，例如：\n\n        ```shell\n        ollama pull llama3.1:8b\n        ollama pull nomic-embed-text\n        ```\n\n      - 在 Web 界面上设置模型名称，并将其设为默认：\n\n        ![模型](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_8153f9ed4600.png)\n\n    - 使用 `GGUF` 和 `llama-cpp-python`\n\n      您可以从 [Hugging Face Hub](https:\u002F\u002Fhuggingface.co\u002Fmodels) 搜索并下载可在本地运行的 LLM。目前支持以下模型格式：\n\n      - GGUF\n\n        您应选择模型大小不超过设备内存容量且留有约 2 GB 空间的模型。例如，如果您总共有 16 GB 内存，其中可用 12 GB，则应选择占用不超过 10 GB 内存的模型。较大的模型通常生成效果更好，但处理时间也更长。\n\n        以下是一些推荐及其内存占用情况：\n\n      - [Qwen1.5-1.8B-Chat-GGUF](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen1.5-1.8B-Chat-GGUF\u002Fresolve\u002Fmain\u002Fqwen1_5-1_8b-chat-q8_0.gguf?download=true)：约 2 GB\n\n        在 Web 界面中添加一个新的 LlamaCpp 模型，并使用提供的模型名称。\n\n  \u003C\u002Fdetails>\n\n### 添加您自己的 RAG 流程\n\n#### 自定义推理流程\n\n1. 查看默认流程的实现，位于[这里](libs\u002Fktem\u002Fktem\u002Freasoning\u002Fsimple.py)。您可以对默认 QA 流程的工作方式进行快速调整。\n2. 在 `libs\u002Fktem\u002Fktem\u002Freasoning\u002F` 中添加新的 `.py` 实现文件，然后将其纳入 `flowssettings`，以便在 UI 上启用。\n\n#### 自定义索引流程\n\n- 查看 `libs\u002Fktem\u002Fktem\u002Findex\u002Ffile\u002Fgraph` 中的示例实现。\n\n> （更多说明正在编写中）。\n\n\u003C!-- 结束简介 -->\n\n## 引用\n\n请按以下方式引用本项目：\n\n```BibTeX\n@misc{kotaemon2024,\n    title = {Kotaemon - 一款开源的基于 RAG 的工具，可用于与任何内容对话。},\n    author = {Kotaemon 团队},\n    year = {2024},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon}},\n}\n```\n\n## 星标历史\n\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#Cinnamon\u002Fkotaemon&Date\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png&theme=dark\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png\" \u002F>\n   \u003Cimg alt=\"星标历史图表\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_bc3db28440a5.png\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## 贡献\n\n由于我们的项目仍在积极开发中，我们非常重视您的反馈和贡献。请参阅我们的[贡献指南](https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)以开始参与。感谢所有贡献者！\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_readme_9e1c216c7c5f.png\" \u002F>\n\u003C\u002Fa>","# Kotaemon 快速上手指南\n\nKotaemon 是一款开源、简洁且可定制的 RAG（检索增强生成）用户界面，专为文档问答设计。它既适合终端用户直接进行文档 QA，也适合开发者构建自己的 RAG 流水线。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux (amd64\u002Farm64) 或 macOS (arm64)。Windows 用户建议使用 WSL2 或 Docker Desktop。\n*   **Python 版本**：>= 3.10\n*   **可选依赖**：\n    *   **Docker**：推荐使用 Docker 部署，可避免复杂的环境配置。\n    *   **Unstructured**：如果您需要处理除 `.pdf`, `.html`, `.mhtml`, `.xlsx` 以外的文件格式（如 Word 文档），需单独安装 Unstructured 库及其系统依赖。\n\n## 2. 安装步骤\n\n您可以根据需求选择 **Docker 部署**（推荐）或 **本地源码安装**。\n\n### 方案 A：使用 Docker（推荐）\n\nDocker 方式最简单，支持 `lite`（轻量版）和 `full`（完整版，支持更多文件格式）两种镜像。\n\n1.  **运行轻量版镜像**（适用于大多数 PDF\u002FHTML 场景）：\n    ```bash\n    docker run \\\n    -e GRADIO_SERVER_NAME=0.0.0.0 \\\n    -e GRADIO_SERVER_PORT=7860 \\\n    -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n    -p 7860:7860 -it --rm \\\n    ghcr.io\u002Fcinnamon\u002Fkotaemon:main-lite\n    ```\n\n2.  **运行完整版镜像**（支持 .doc, .docx 等更多格式）：\n    ```bash\n    docker run \\\n    -e GRADIO_SERVER_NAME=0.0.0.0 \\\n    -e GRADIO_SERVER_PORT=7860 \\\n    -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n    -p 7860:7860 -it --rm \\\n    ghcr.io\u002Fcinnamon\u002Fkotaemon:main-full\n    ```\n\n3.  **访问应用**：\n    启动成功后，在浏览器打开 `http:\u002F\u002Flocalhost:7860\u002F`。\n\n> **注意**：如果是 Apple Silicon (M1\u002FM2\u002FM3) 芯片的 Mac，请在命令中加入 `--platform linux\u002Farm64` 参数。\n\n### 方案 B：本地源码安装（无 Docker）\n\n#### 方法 1：使用 uv（推荐，速度更快）\n\n`uv` 是一个极速的 Python 包管理器。\n\n1.  克隆仓库并运行安装脚本：\n    ```shell\n    git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n    cd kotaemon\n\n    # 运行脚本（自动安装 uv、创建虚拟环境、安装依赖并启动）\n    bash scripts\u002Frun_uv.sh\n    ```\n\n#### 方法 2：使用 Conda\u002FPip（传统方式）\n\n1.  **创建环境并安装依赖**：\n    ```shell\n    # 创建并激活 conda 环境\n    conda create -n kotaemon python=3.10\n    conda activate kotaemon\n\n    # 克隆代码\n    git clone https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\n    cd kotaemon\n\n    # 安装核心库\n    pip install -e \"libs\u002Fkotaemon[all]\"\n    pip install -e \"libs\u002Fktem\"\n    ```\n    *(国内用户若下载慢，可添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple` 使用清华源)*\n\n2.  **配置环境变量（可选）**：\n    复制示例文件创建 `.env`，用于预配置模型 API Key：\n    ```shell\n    cp .env.example .env\n    # 编辑 .env 文件填入您的 API Key\n    ```\n\n3.  **配置 PDF 预览器（可选）**：\n    若需启用浏览器内 PDF 高亮预览，请下载 [PDF.js](https:\u002F\u002Fgithub.com\u002Fmozilla\u002Fpdf.js\u002Freleases\u002Fdownload\u002Fv4.0.379\u002Fpdfjs-4.0.379-dist.zip) 并解压至 `libs\u002Fktem\u002Fktem\u002Fassets\u002Fprebuilt` 目录。\n\n4.  **启动服务**：\n    ```shell\n    python app.py\n    ```\n    应用将自动在浏览器中打开。\n\n## 3. 基本使用\n\n启动成功后，您将进入 Gradio 构建的 Web 界面。\n\n1.  **登录系统**：\n    *   默认用户名：`admin`\n    *   默认密码：`admin`\n    *   首次登录后，建议在 UI 界面中创建新用户或修改密码。\n\n2.  **配置模型资源**：\n    *   点击左侧导航栏的 **Resources** -> **LLMs and Embeddings**。\n    *   确保您的 LLM（大语言模型）和 Embedding（嵌入模型）已正确配置。\n    *   支持配置 OpenAI、Azure、Ollama（本地模型）、Groq 等提供商。如果在 `.env` 中未预设，可在此处手动填入 `api_key`。\n\n3.  **上传文档与对话**：\n    *   进入 **Chat** 标签页。\n    *   创建一个新的集合（Collection），上传您的文档（支持 PDF, HTML, Markdown 等）。\n    *   系统会自动进行索引（默认采用混合检索 + 重排序策略）。\n    *   在对话框中输入问题，系统将基于文档内容生成答案，并提供详细的**引用来源**（点击引用可在内置 PDF 阅读器中高亮显示原文）。\n\n4.  **高级功能**：\n    *   **多模态问答**：支持包含图表和表格的文档解析。\n    *   **复杂推理**：在设置中可开启问题分解（Question Decomposition）或 Agent 模式（ReAct\u002FReWOO）以处理多跳推理问题。\n    *   **GraphRAG**：如需使用 GraphRAG 索引，需在启动时设置环境变量（如 `USE_NANO_GRAPHRAG=true`）并安装对应依赖。","某法律科技团队需要为内部律师构建一个能快速检索并问答数百份历史案件卷宗的智能系统。\n\n### 没有 kotaemon 时\n- **开发门槛高**：工程师需从零搭建 RAG 流水线，手动处理文档切片、向量存储及检索逻辑，耗时数周且容易出错。\n- **调试黑盒化**：当回答不准确时，难以直观查看模型引用了哪段原文，缺乏中间过程可视化，排查问题如同“盲人摸象”。\n- **交互体验差**：临时拼凑的演示界面简陋，不支持多轮对话或来源高亮，律师无法信任系统生成的结论。\n- **模型切换繁琐**：想要对比本地部署的 Llama 3 与云端 OpenAI 的效果差异，需要修改大量底层代码并重启服务。\n\n### 使用 kotaemon 后\n- **开箱即用**：直接利用 kotaemon 内置的模块化 RAG 框架，通过简单配置即可连接本地 Ollama 或云端 API，半天内完成系统原型。\n- **全链路可观测**：借助其干净的 UI 界面，律师在提问时可实时看到引用的具体文档段落及置信度，推理过程透明可信。\n- **专业交互体验**：基于 Gradio 构建的现代化界面支持流式输出、多轮追问及参考文献跳转，大幅降低律师的使用学习成本。\n- **灵活实验对比**：无需重写代码，仅在配置文件中切换模型参数，即可在同一界面下即时对比不同大模型在法律文书理解上的表现。\n\nkotaemon 将复杂的 RAG 技术封装为可视化的生产力工具，让团队从繁琐的基础设施搭建中解放，专注于提升法律问答的准确性与业务价值。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCinnamon_kotaemon_18170cf3.png","Cinnamon","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FCinnamon_19b38fd7.png","",null,"https:\u002F\u002Fcinnamon.ai\u002F","https:\u002F\u002Fgithub.com\u002FCinnamon",[79,83,87,91,95,99,103,107],{"name":80,"color":81,"percentage":82},"Python","#3572A5",91.5,{"name":84,"color":85,"percentage":86},"HTML","#e34c26",2.9,{"name":88,"color":89,"percentage":90},"Shell","#89e051",2.2,{"name":92,"color":93,"percentage":94},"Batchfile","#C1F12E",1.3,{"name":96,"color":97,"percentage":98},"JavaScript","#f1e05a",1.2,{"name":100,"color":101,"percentage":102},"CSS","#663399",0.6,{"name":104,"color":105,"percentage":106},"Dockerfile","#384d54",0.2,{"name":108,"color":109,"percentage":110},"Mako","#7e858d",0.1,25291,2119,"2026-04-19T21:50:53","Apache-2.0","Linux, macOS","未说明 (支持本地 LLM 如 Ollama\u002Fllama-cpp-python，具体显存需求取决于所选模型；Docker 镜像支持 linux\u002Famd64 和 linux\u002Farm64)","未说明",{"notes":119,"python":120,"dependencies":121},"推荐使用 Docker 部署（提供 lite 和 full 版本镜像，full 版支持更多文件格式但体积较大）。若不使用 Docker，推荐使用 uv 脚本快速安装或通过 conda 手动安装。处理除 PDF、HTML、MHTML 和 XLSX 以外的文件需单独安装 unstructured 库。支持多用户登录和本地\u002F私有 RAG（通过捆绑 Ollama 的 Docker 镜像）。默认账号密码均为 admin。若使用 GraphRAG 功能，需注意依赖冲突问题（可能需要重新安装 chroma-hnswlib）。","3.10+",[122,123,124,125,126,127,128,129,130],"gradio","unstructured (可选，用于处理非 PDF\u002FHTML\u002FXLSX 文件)","ollama (可选，用于本地 LLM)","llama-cpp-python (可选，用于本地 LLM)","nano-graphrag (可选，用于 GraphRAG)","LightRAG (可选，用于 LightRAG)","graphrag\u003C=0.3.6 (可选，用于 MS GraphRAG)","chroma-hnswlib","uv (推荐安装工具)",[14,36],[133,134,135,136],"chatbot","llms","open-source","rag","2026-03-27T02:49:30.150509","2026-04-20T12:55:29.409128",[140,145,150,155,159,164],{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},44687,"在索引过程中遇到 'create_base_entity_graph' 步骤报错怎么办？","该问题通常是由于 GraphRAG 的配置变量未正确加载导致的。解决方法如下：\n1. 如果使用 Docker，进入容器内部或通过挂载找到 `.env` 文件（路径通常为 `\u002Fapp\u002F.env`）。\n2. 在文件中设置以下配置变量：\n   GRAPHRAG_API_KEY=你的 OpenAI 密钥\n   GRAPHRAG_LLM_MODEL=gpt-4o-mini\n   GRAPHRAG_EMBEDDING_MODEL=text-embedding-3-small\n3. 重新启动应用以应用配置。如果是通过命令行启动，请使用 `dotenv run -- python app.py` 命令；如果在 Docker 中，确保环境变量已正确传入或包含在启动命令中。","https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F140",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},44688,"如何在 ARM 架构的 Mac (如 M1\u002FM2) 或无 AVX 支持的 CPU 上运行 Docker 镜像？","早期版本可能不支持 ARM 架构或缺乏 AVX 指令集的 CPU（如某些 Synology NAS）。请尝试以下方案：\n1. 使用最新版本的 Docker 镜像，官方已发布支持 amd64 架构的 `full` 版本，并在后续更新中增加了 ARM 镜像支持。\n2. 对于 M2 Mac，可以尝试指定平台运行：`docker run --platform linux\u002Famd64 ...`（需安装 Rosetta）。\n3. 关注项目最新的 Docker Hub 标签或 GitHub Actions 构建产物，寻找明确标记为 ARM 支持的镜像版本。","https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F132",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},44689,"如何配置本地 GGUF 模型用于嵌入（Embeddings）和推理？","要使用本地 GGUF 模型（例如配合 text-generation-webui），请按以下步骤操作：\n1. 启动本地模型服务器，例如使用命令：`python server.py --api --listen --n-gpu-layers 32 --threads 8 --numa --tensorcores --trust-remote-code`。\n2. 在 Kotaemon 的 Docker 启动命令中挂载数据卷以持久化设置：`-v \u002Fdata\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data`。\n3. 确保在 UI 界面或配置文件中正确填写了嵌入模型的名称（常见的错误是拼写错误）。\n4. 参考项目文档中的 'Local model setup guide' 获取详细的参数配置说明。","https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F150",{"id":156,"question_zh":157,"answer_zh":158,"source_url":154},44690,"如何持久化保存 Kotaemon 的应用状态和文档数据？","默认情况下，Docker 容器重启后数据会丢失。要持久化保存应用状态和上传的文档，必须在运行 Docker 时挂载数据卷。\n使用 `-v` 参数将宿主机的目录映射到容器内的 `\u002Fapp\u002Fktem_app_data` 目录。示例命令如下：\ndocker run \\\n  -e GRADIO_SERVER_NAME=0.0.0.0 \\\n  -e GRADIO_SERVER_PORT=7860 \\\n  -v .\u002Fktem_app_data:\u002Fapp\u002Fktem_app_data \\\n  -p 7860:7860 -it \\\n  [镜像名称]\n这样，所有数据和状态都会保存在宿主机的 `.\u002Fktem_app_data` 文件夹中，即使容器删除重建，数据也不会丢失。",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},44691,"GraphRAG 索引失败且聊天时报错 'Errors occurred during the pipeline run' 如何解决？","这通常是 GraphRAG 初始化阶段失败导致的连锁反应。主要检查点包括：\n1. 确认 `.env` 文件中是否正确配置了 `GRAPHRAG_API_KEY`、`GRAPHRAG_LLM_MODEL` 和 `GRAPHRAG_EMBEDDING_MODEL`。\n2. 检查日志文件（通常位于 `\u002Fapp\u002Fktem_app_data\u002Fuser_data\u002Ffiles\u002Fgraphrag\u002F...\u002Foutput\u002F...\u002Findexing-engine.log`）以获取具体的错误堆栈。\n3. 确保使用的 LLM 模型支持所需的上下文窗口和功能。\n4. 如果是在 Docker 中运行，确保环境变量通过 `dotenv run` 或直接 `-e` 参数正确注入到了 Python 运行环境中。","https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fissues\u002F393",{"id":165,"question_zh":166,"answer_zh":167,"source_url":144},44692,"在 Docker 中运行时，如何确保环境变量配置文件 (.env) 生效？","在 Docker 环境中，仅仅存在 `.env` 文件可能不足以让 Python 应用自动读取。建议采取以下措施之一：\n1. 在启动命令前加上 `dotenv run --`，例如：`dotenv run -- python app.py`。\n2. 或者，直接将关键环境变量作为 Docker 的运行参数传入，例如：`docker run -e GRAPHRAG_API_KEY=xxx -e GRAPHRAG_LLM_MODEL=xxx ...`。\n3. 如果通过 IDE 或 Docker Desktop 进入容器调试，请确认 `.env` 文件位于 `\u002Fapp\u002F.env` 且格式正确（无多余空格或隐藏字符）。",[169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244,249,254,259,264],{"id":170,"version":171,"summary_zh":172,"released_at":173},352107,"v0.11.3","## 变更内容\n* 修复：将默认的 Cohere 重排序模型更新为 rerank-v4.0-fast，由 @KudoKhang 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F823 中完成\n\n## 升级指南\n- 对于新用户：无需操作。\n- 对于已存储配置的现有用户：如果您正在使用 `rerank-multilingual-v2.0`，请将其更新为受支持的模型之一（[Cohere 官方文档](https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fmodels#rerank)）。\n\n## 新贡献者\n* @KudoKhang 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F823 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.11.2...v0.11.3","2026-03-28T16:30:04",{"id":175,"version":176,"summary_zh":177,"released_at":178},352108,"v0.11.2","## 变更内容\n* 功能性更新：支持 MCP 工具，并通过重命名 c… 等方式增强了资源更新功能，由 @cin-niko 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F813 中实现。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.11.1...v0.11.2","2026-03-04T10:17:17",{"id":180,"version":181,"summary_zh":182,"released_at":183},352109,"v0.11.1","## 变更内容\n* 功能（构建）：添加 uv 包管理器支持，以加快安装速度，由 @back2zion 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F790 中实现\n\n## 新贡献者\n* @back2zion 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F790 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.11.0...v0.11.1","2026-02-27T09:47:23",{"id":185,"version":186,"summary_zh":187,"released_at":188},352120,"v0.9.8","## What's Changed\r\n* feat: add graphrag modes by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F574\r\n* fix: add retry to lightrag llm_func call by @eddprogrammer in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F572\r\n* fix: using a base path breaks file preview by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F575\r\n* fix: UI tab name and reranking process for TeiFastReranking by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F576\r\n* fix: update `flowsettings.py` reference by @emmanuel-ferdman in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F506\r\n* feat(loader): implement markdown parsing in MathpixPDFReader by @eliasjudin in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F498\r\n\r\nSupport custom GraphRAG modes and prompt settings in UI\r\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fefd26952-8b7c-40c2-bd61-abbf350961b1)\r\n\r\n\r\n## New Contributors\r\n* @eddprogrammer made their first contribution in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F572\r\n* @emmanuel-ferdman made their first contribution in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F506\r\n* @eliasjudin made their first contribution in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F498\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.7...v0.9.8","2024-12-17T10:34:23",{"id":190,"version":191,"summary_zh":192,"released_at":193},352121,"v0.9.6","## What's Changed\r\n* feat: add URL indexing directly from chat input by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F571\r\n* Enable LightRAG collection by default\r\n* Optimize batching logic for LightRAG & NanoGraphRAG\r\n* Add warning message for empty GRAPHRAG_API_KEY\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.5...v0.9.6","2024-12-15T16:14:21",{"id":195,"version":196,"summary_zh":197,"released_at":198},352122,"v0.9.5","## What's Changed\r\n* feat: add quick setting for follow up chat suggestions & add more common languages by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F556\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc64a3a19-bb2b-43ab-ad8b-4367059ed369)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.4...v0.9.5","2024-12-07T02:19:44",{"id":200,"version":201,"summary_zh":202,"released_at":203},352123,"v0.9.4","## What's Changed\r\n* docs: Add BibTeX for people to cite Kotaemon in their work by @lone17 in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F551\r\n* feat: add citation style quick setting by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F554\r\n\r\n* Move citation style quick setting to the main Chat UI\r\n* Improve Gemini API function call logic (which also enhance citation quality)\r\n* Fix complex reasoning mode for non-OpenAI API\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.3...v0.9.4","2024-12-05T12:56:31",{"id":205,"version":206,"summary_zh":207,"released_at":208},352124,"v0.9.3","## What's Changed\r\n* feat: add toggle for conversation control sidebar by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F546\r\n* feat: set user being able to set chunk size and overlap for indices by @cin-cris in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F524\r\n* feat: allow index names without Collections suffix by @pvl in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F473\r\n* feat: add Google embedding support & update setup by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F550\r\n\r\n#### Add Google API support\r\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8b86567f-5c0b-4b29-9f67-cf14e345d0ff)\r\n\r\n#### Toggle for conversation control sidebar\r\n![sidebar](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8b2c0e23-0b30-419e-bb27-f7fb042cf325)\r\n\r\n#### Custom Ollama URL override\r\nUser can set custom Ollama URL by KH_OLLAMA_URL environment variables. Useful when you need to change Ollama base URL at run time (e.g: `docker run`)\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.2...v0.9.3","2024-12-04T04:10:18",{"id":210,"version":211,"summary_zh":212,"released_at":213},352125,"v0.9.2","## What's Changed\r\n* feat: add quick file selection upon tagging on Chat input by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F533\r\n* Improve inline citation logics\r\n* Fix table row flickering issue\r\n* Add quick file selection upon tagging on Chat input\r\n* Improve UX by focusing on Chat input upon common tasks\r\n\r\n![file_tag-ezgif com-speed](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F9e959cae-5dd8-43e9-bc44-55f9c8c1c691)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.1...v0.9.2","2024-11-28T14:13:19",{"id":215,"version":216,"summary_zh":217,"released_at":218},352126,"v0.9.1","**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.0...v0.9.1","2024-11-26T13:52:45",{"id":220,"version":221,"summary_zh":222,"released_at":223},352110,"v0.11.0","## 变更内容\n* 修复：更新 Docling 调用以生成图表标题，由 @christopherkao 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F729 中完成\n* 新功能：为 OpenAI 添加结构化输出，由 @bfdykstra 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F603 中完成\n* 新功能：为 Mistral AI 添加选项，由 @aminamos 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F707 中完成\n* 新功能：添加 VoyageAI 的重排序和嵌入模型，由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F733 中完成\n* 修复：作用域未传递给向量存储查询，由 @chunlampang 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F747 中完成\n* 🐛 修复（文档库）：在 lancedb get() 中保留检索排名顺序，由 @TommasoMoroHtx 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F745 中完成\n* 杂项：为 CohereReranking 添加 base_url 参数，由 @mginfn 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F743 中完成\n* 修复：lancedb 中的拼写错误，由 @phv2312 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F760 中完成\n* 修复：添加验证以避免路径遍历漏洞，由 @cin-niko 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F755 中完成\n\n## 新贡献者\n* @christopherkao 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F729 中完成了首次贡献\n* @aminamos 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F707 中完成了首次贡献\n* @chunlampang 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F747 中完成了首次贡献\n* @TommasoMoroHtx 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F745 中完成了首次贡献\n* @mginfn 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F743 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.7...v0.11.0","2025-07-04T11:34:28",{"id":225,"version":226,"summary_zh":227,"released_at":228},352111,"v0.10.6","## 变更内容\n* 修复：@tzzed 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F687 中重命名了 `update_macos.sh` 脚本中不存在的函数调用。\n* 新功能：@taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F720 中为 LightRAG 添加了索引批次大小设置，以防止速率限制。\n* 修复：@bennoloeffler 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F719 中修复了 LightRAG 最新版本中的 `'history_messages'` 错误。\n\n## 新贡献者\n* @tzzed 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F687 中完成了首次贡献。\n* @bennoloeffler 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F719 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.5...v0.10.6","2025-04-01T04:32:04",{"id":230,"version":231,"summary_zh":232,"released_at":233},352112,"v0.10.4","## 变更内容\n* 修复：由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F718 中更新了用于 Pydantic 版本的 Dockerfile\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.3...v0.10.4","2025-03-31T14:53:25",{"id":235,"version":236,"summary_zh":237,"released_at":238},352113,"v0.10.3","## 变更内容\n* 修复：选择“搜索全部”功能无法正常工作，由 @varunsharma27 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F627 中完成\n* 修复：支持使用 Keycloak 进行 Open ID 认证，由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F669 中完成\n* 修复：全新安装后出现编码错误，由 @JinkeJ 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F654 中完成\n* 修复：ValueError 导致界面崩溃，由 @varunsharma27 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F630 中完成\n\n## 新贡献者\n* @JinkeJ 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F654 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.2...v0.10.3","2025-02-14T14:37:22",{"id":240,"version":241,"summary_zh":242,"released_at":243},352114,"v0.10.2","## 变更内容\n* 功能：新增支持带有思维可视化功能的推理大模型，由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F652 中实现。\n\n![2025-02-05_11-52](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa25e8fd1-4709-4ff2-a69e-bb884d55cfa0)\n![2025-02-05_11-58](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe5a57e57-ce8a-47e0-9329-160d0d14c228)\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.1...v0.10.2","2025-02-05T06:45:30",{"id":245,"version":246,"summary_zh":247,"released_at":248},352115,"v0.10.1","## 变更内容\n* 修复：由 @taprosoft 和 @RoadToNowhereX 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F649 中修复的 lightrag 设置\n* 修复：由 @hide212131 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F593 中更新的 AzureAIDocumentIntelligenceLoader 参数名\n\n## 新贡献者\n* @hide212131 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F593 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.10.0...v0.10.1","2025-02-03T01:10:32",{"id":250,"version":251,"summary_zh":252,"released_at":253},352116,"v0.10.0","## 变更内容\n* 文档：由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F620 中改进了安装说明\n* 功能：由 @taprosoft 在 https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F644 中新增了 SSO 登录、演示模式以及新的思维导图支持\n\n## 本次重大发布包含以下新特性：\n\n* 新的思维导图可视化格式，交互性更强  \n![2025-01-07_20-51](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F94508ec9-87e2-47d3-8264-bed3410b8fd0)\n\n* 支持从回答中选择文本以高亮显示相关引用（目前仅适用于英语和拉丁语）。\n![2025-01-17_17-57](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fbc5a6b83-67f9-41ee-a022-02014dc0d2d3)\n\n* SSO 登录功能（当前仅支持 Google SSO），通过环境变量 `KH_SSO_ENABLED` 实现，并对外部用户部署实施更严格的访问控制。\n```bash\nKH_SSO_ENABLED=true .\u002Flaunch.sh\n# 需要通过 GOOGLE_CLIENT_ID 和 GOOGLE_CLIENT_SECRET 配置 Google OAuth\n```\n\n* 改进了聊天建议的 UI 及切换功能\n* 优化了多用户场景下的文件组管理逻辑\n* 更好地支持 Ollama：\n    * 支持长上下文，并可在 UI 上自定义上下文大小  \n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F1630ccbd-58f2-4f8e-bf93-95a7531b6abb)\n    * 可在首次设置界面或通过环境变量（`LOCAL_MODEL` 和 `LOCAL_MODEL_EMBEDDINGS`）选择模型名称  \n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3d2aab5e-82fb-488b-afb2-79f01173463d)\n    * Docker 镜像中已内置 Ollama（`kotaemon:main-ollama`）\n    * 提供用于私有\u002F本地 RAG 测试的 Colab 示例配置脚本\n\n* 添加了 Fly.io 部署模板\n* 新增[公开演示](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fcin-model\u002Fkotaemon)\n\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.11...v0.10.0","2025-02-02T08:20:13",{"id":255,"version":256,"summary_zh":257,"released_at":258},352117,"v0.9.11","## What's Changed\n* fix: openai async by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F585\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.10...v0.9.11","2024-12-24T02:45:38",{"id":260,"version":261,"summary_zh":262,"released_at":263},352118,"v0.9.10","## What's Changed\r\n* feat: add web search by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F580\r\n* Add web search function with \"@web\" tag\r\n* Supported search backend: Jina API & Tavily API\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff5a10413-838c-4c57-8f1e-5c7cd4ca262f)\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.9...v0.9.10","2024-12-23T02:28:43",{"id":265,"version":266,"summary_zh":267,"released_at":268},352119,"v0.9.9","## What's Changed\r\n* fix: improve citation logic by @taprosoft in https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fpull\u002F578\r\n\r\n* Vastly improve citation matching logics with original text\r\n* Add the ability to navigate inline citations within PDF viewer\r\n\r\n![pdf_citation](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4b1d1b02-a3ae-4dd2-a84c-7b660495a913)\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FCinnamon\u002Fkotaemon\u002Fcompare\u002Fv0.9.8...v0.9.9","2024-12-18T13:28:21"]