项目介绍:QA-Pilot
QA-Pilot 是一个互动式聊天项目,旨在利用在线或本地的语言模型(LLM)来快速理解和浏览 GitHub 代码库。这一项目通过整合多种功能,实现更高效的代码分析和交互体验。
功能特点
- 与 GitHub 公共仓库聊天:通过克隆的方式可以与 GitHub 的公共代码库进行互动交流。
- 保存聊天记录:能够存储所有的聊天历史,便于后续的查看和回顾。
- 简单的配置设置:提供简单的配置界面,用户可以轻松调整设定。
- 多聊天会话支持:支持多个会话管理,可以同时处理不同的对话。
- 快速定位会话:通过搜索功能快速找到需要的会话。
- 与
codegraph
集成:可以查看 Python 文件的代码结构。 - 支持多种 LLM 模型:如 ollama、openai、mistralai、localai、zhipuai、anthropic、llamacpp、nvidia、tongyi 和 moonshot 等模型。
发布历史
- 2024-07-03:更新 langchain 至
0.2.6
版本,并新增moonshot
API 支持。 - 2024-06-30:新增
Go Codegraph
功能。 - 2024-06-27:新增
nvidia/tongyi
API 支持。 - 2024-06-19:新增
llamacpp
API 支持,并改进侧边栏的设置列表,增加模型上传功能以及提示模板设置。 - 2024-06-15:新增
anthropic
API支持,优化部分功能及修复聊天信息显示问题。 - 2024-06-12:新增
zhipuai
API 支持。 - 2024-06-10:将
flask
转换为fastapi
并新增localai
API 支持。 - 2024-06-07:添加
rr:
选项,使用FlashRank
进行搜索。 - 2024-06-05:升级
langchain
至v0.2
并添加ollama embeddings
。 - 2024-05-26:发布版本 v2.0.1,通过用
Svelte
替换Streamlit
前端以提升性能。
免责声明
- 此项目为测试项目,旨在验证使用 LLM 和向量嵌入进行问题回答的完全本地化解决方案的可行性。此项目尚未达到生产就绪状态,不应在生产环境中使用。
- 请勿使用模型分析重要或生产数据!
- 请勿使用模型分析客户数据以保障数据隐私和安全!
- 请勿使用模型分析您的私有或敏感代码仓库!
部署指导
部署 QA-Pilot 的步骤如下:
-
克隆代码库:
git clone https://github.com/reid41/QA-Pilot.git cd QA-Pilot
-
安装 conda 并创建虚拟环境:
conda create -n QA-Pilot python=3.10.14 conda activate QA-Pilot
-
安装依赖:
pip install -r requirements.txt
-
安装 pytorch,请参考 pytorch 官网 获取更多信息。
-
设置模型提供者,具体步骤请参考项目中的详细文档。
-
设置数据库及相关参数:
在
config/config.ini
文件中配置数据库连接信息,例如:[database] db_name = qa_pilot_chatsession_db db_user = qa_pilot_user db_password = qa_pilot_p db_host = localhost db_port = 5432
-
前端设置:安装 node.js 并配置前端环境。
-
启动后端服务:
python qa_pilot_run.py
使用提示
- 请勿同时使用 URL 和上传功能。
- 删除按钮不能真正删除本地 chromadb,停止时需手动删除。
- 使用
新建来源按钮
添加新项目。 - 使用
rsd:
开始输入并获取源文档。 - 使用
rr:
开始输入并使用FlashrankRerank
进行搜索。 - 点击
QA-Pilot
中的打开代码图
查看代码,支持python
和go
。