Skip to content

Latest commit

 

History

History
127 lines (78 loc) · 6.04 KB

README_zh.md

File metadata and controls

127 lines (78 loc) · 6.04 KB

RAGenT

中文文档 | English | 日本語

可能是最轻量级的本地 RAG + Agent 应用之一,无需进行复杂配置,即可一键体验 Agent 加持下不同模型能力的强大提升。

如果你喜欢这个项目,请为它点一个 star ,这对我很重要!

image

特点

聊天及 Agent 交互:

  • 💭 简洁易用的聊天框界面
  • 🌏️ 语言可选(简体中文、English)
  • 🎤 语音输入(可选,本地 whisper 提供 TTS 服务)
  • 🔧 多种(本地)模型来源的推理支持(OpenAI, Azure OpenAI, Groq, ollama, llamafile/OpenAI Like)
  • 原生 Function Call (OpenAI, Azure OpenAI, OpenAI Like, Ollama)
    • 模型本身需支持 Function Call
  • 🤖 预置多种 Agent 模式(基于 AutoGen )
  • 🖥️ 对话数据的本地存储和管理
    • 多格式导出支持(Markdown、HTML)
    • 多主题选择(HTML)

知识库:

  • 原生实现的检索增强生成(RAG),轻量而高效
  • 可供选择的嵌入模型(Hugging Face/OpenAI)
  • 易于使用的知识库管理
  • 混合检索、重排序和指定文件检索

如果你喜欢这个项目,请你为它点上 star,这是对我最大的鼓励!

更多细节

通用

语音输入

image

记录导出

支持导出格式、主题选择和导出范围控制:

导出设置及预览

目前已支持主题:

经典 Glassmorphism
中文导出原皮 中文导出透明皮

RAG Chat

设置模型(边栏)及查看详细引用:

image

配置 RAG :

image

Function Call(工具调用)

ChatAgentChat 页面均支持 Function call,但实现方式不同。

Chat 页面

原生调用,对所有 OpenAI Compatible 模型均有效,但需要模型本身支持 Function call。

Chat_page_tool_call zh_cn

你也可以自定义想要调用函数,编写请参考toolkits.py的编写规则。

AgentChat 页面

注意:由于 AutoGen v0.4 完全重写,AgentChat 页面将在未来版本中更新,目前仅使用 AutoGen v0.2 作为测试。如果需要使用 AgentChat 页面,请使用 python startup.py 启动应用,而不是 streamlit run RAGenT.py

借由 AutoGen 框架实现(测试),对模型的兼容性请参考 AutoGen 的文档。

Function call 可以显著增强 LLM 的能力,目前支持 OpenAI, Azure OpenAI, Groq 以及本地模型(通过 LiteLLM + Ollama)。

openai function call

你也可以自定义想要调用函数,请注意 AutoGen 的函数编写与原生调用的函数编写规则不同,具体请参考官方文档以及本项目的tools.py

快速开始

Git

  1. 使用git clone https://github.com/Wannabeasmartguy/RAGenT.git拉取代码; 然后在**命令提示符 (CMD)**中打开你的运行环境,使用 pip install -r requirements.txt 安装运行依赖。

  2. 配置模型依赖项:修改 .env_sample 文件为 .env 并填写以下内容:

    • LANGUAGE: 支持English简体中文,默认为English
    • OPENAI_API_KEY : 如果你使用 OpenAI 模型,请在此处填写 api key;
    • AZURE_OAI_KEY : 如果你使用 Azure OpenAI 模型,请在此处填写 api key;
    • AZURE_OAI_ENDPOINT : 如果你使用 OpenAI 模型,请在此处填写 end_point;
    • API_VERSION: 如果你使用 Azure OpenAI 模型,请在此处填写 api version;
    • API_TYPE: 如果你使用 Azure OpenAI 模型,请在此处填写 api type;
    • GROQ_API_KEY : 如果你使用 Groq 作为模型来源,请在此处填写 api key;
    • COZE_ACCESS_TOKEN: 如果你需要使用创建的 Coze Bot ,请在此处填写 access token;

使用 Llamafile 及其他 OpenAI-Like 模型(支持 OpenAI 接口)或本地 OpenAI API 服务,请在应用内设置 api key 和 endpoint ,并自行启动 Llamafile 等本地服务。

  1. 启动应用:

    命令行运行:streamlit run RAGenT.py 即可启动,启动完成后会在浏览器自动打开前端页面。

    如果你想要使用 AgentChat 页面,请使用 python startup.py 启动应用,而不是 streamlit run RAGenT.py

Todo

  • 聊天记录及配置本地持久化
    • 聊天记录本地持久化
    • 配置本地持久化
  • 增加对更多模型来源的支持
  • 增加更多可供调用的函数工具
  • 增加对更多嵌入模型的支持
  • 增加预置 Agent 的数量

贡献

对于使用中遇到的问题和产生的新想法,欢迎提交 issue 和 PR!