Kotaemon-一个开源的、干净且可定制的RAG用户界面

向量数据库关系型数据库机器学习

Kotaemon :一个开源的、干净且可定制的RAG用户界面,用于与您的文档进行聊天。为终端用户和开发人员设计。

picture.image

简介

本项目为希望在文档上进行问答的终端用户和希望构建自己RAG流程的开发者提供了一个功能性的RAG用户界面。

对于终端用户:

•提供一个干净简约的RAG问答用户界面。 •支持LLM API提供商(如OpenAI、AzureOpenAI、Cohere等)和本地LLM(通过ollamallama-cpp-python)。 •提供简单的安装脚本。

对于开发者:

•一个用于构建RAG文档问答流程的框架。 •使用提供的UI(基于Gradio构建)进行定制并查看您的RAG流程。


            
+----------------------------------------------------------------------------+
            
| 终端用户:使用 `kotaemon` 构建的应用程序的用户。|
            
| (您使用的应用程序类似于上面的演示)                                          |
            
|     +----------------------------------------------------------------+     |
            
|     | 开发者:使用 `kotaemon` 构建应用程序的人员。|     |
            
|     | (您在项目中有 `import kotaemon`)                                 |     |
            
|     |     +----------------------------------------------------+     |     |
            
|     |     | 贡献者:改进 `kotaemon` 的人员。                      |     |     |
            
|     |     | (您向此仓库提交PR)                                   |     |     |
            
|     |     +----------------------------------------------------+     |     |
            
|     +----------------------------------------------------------------+     |
            
+----------------------------------------------------------------------------+
        

此存储库正在积极开发中。我们非常欢迎反馈、问题和PR。

主要功能

1.自主托管您的文档问答(RAG)Web界面 。支持多用户登录,组织文件到私有/公共集合,协作并与他人分享您的聊天记录。 2.管理您的LLM和嵌入模型 。支持本地LLM和流行的API提供商(OpenAI、Azure、Ollama、Groq)。 3.混合RAG流程 。提供混合(全文和向量)检索器加重排序以确保最佳检索质量。 4.支持多模态问答 。支持对包含图表和表格的多文档进行问答。支持多模态文档解析(UI上可选择选项)。 5.提供高级引用和文档预览 。系统默认提供详细的引用以确保LLM答案的正确性。在浏览器内置PDF查看器中查看您的引用(包括相关得分)并高亮显示。当检索流程返回低相关文章时发出警告。 6.支持复杂推理方法 。使用问题分解来回答复杂的/多跳的问题。支持基于代理的推理,如ReAct、ReWOO等代理。 7.可配置的设置界面 。您可以在UI上调整检索和生成过程中的大部分重要方面(包括提示)。 8.可扩展 。基于Gradio构建,您可以随意定制/添加任何UI元素。此外,我们还旨在支持多种文档索引和检索策略。提供GraphRAG索引流程作为示例。

picture.image

安装

对于终端用户

此文档适用于开发者。如果您只想按原样安装和使用该应用程序,请参阅非技术用户指南[1](正在编写中)。

对于开发者

使用Docker(推荐)

•使用以下命令启动服务器:


          
docker run \
          
-e GRADIO_SERVER_NAME=0.0.0.0 \
          
-e GRADIO_SERVER_PORT=7860 \
          
-p 7860:7860 -it --rm \
          
taprosoft/kotaemon:v1.0
      

导航到 http://localhost:7860/ 访问Web界面。

不使用Docker

•克隆并在新的Python环境中安装所需的包:


          
# 可选(设置环境)
          
conda create -n kotaemon python=3.10
          
conda activate kotaemon
          

          
# 克隆此仓库
          
git clone https://github.com/Cinnamon/kotaemon
          
cd kotaemon
          

          
pip install -e "libs/kotaemon[all]"
          
pip install -e "libs/ktem"
      

•在.env中查看和编辑您的环境变量(API密钥,端点)。 •(可选)要启用浏览器内PDF_JS查看器,请下载PDF_JS_DIST并将其解压到 libs/ktem/ktem/assets/prebuilt

picture.image

•启动Web服务器:


        
            

          python app.py
        
      

应用程序将自动在您的浏览器中启动。

默认用户名/密码为:admin /admin。您可以直接在UI上设置其他用户。

picture.image

设置本地模型(用于本地/私有RAG)

请参阅本地模型设置[2]。

添加您自己的RAG流程

自定义推理流程

首先,查看这里[3]的默认流程实现。您可以快速调整默认的QA流程的工作方式。

接下来,如果您对添加新流程感到熟悉,可以在 libs/ktem/ktem/reasoning/ 中添加新的.py 实现,并在 flowssettings 中将其包含进来,以便在UI中启用它。

自定义索引流程

查看 libs/ktem/ktem/index/file/graph 中的示例实现。

(更多说明正在编写中)。

更多信息

本文由笔者翻译整理自:

https://github.com/Cinnamon/kotaemon?tab=readme-ov-file,如对您有帮助,请帮忙点赞、转发、关注,谢谢。

References

[1] 非技术用户指南: https://cinnamon.github.io/kotaemon/
[2] 本地模型设置: https://github.com/Cinnamon/kotaemon/blob/main/docs/local\_model.md
[3] 这里: https://github.com/Cinnamon/kotaemon/blob/main/libs/ktem/ktem/reasoning/simple.py

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论