Repolode
reid41

reid41/QA-Pilot

基于 Svelte 与 FastAPI 的聊天工具,可用在线或本地大模型对 GitHub 仓库或上传的源码目录提问。

Star
329
Fork
44
未关闭 Issue
7
最近提交
2个月前

这是什么?

QA-Pilot 是一个用于理解代码仓库的聊天工具。可以输入公开的 GitHub 仓库地址(项目会克隆代码),也可以上传本地源码文件夹,系统会为代码建立索引,之后即可在会话中直接提问。聊天记录保存在 PostgreSQL 中,支持多个会话并可按关键词搜索。

项目支持多种模型提供方,包括 Ollama、OpenAI、Anthropic、Mistral、智谱 GLM、通义千问、Moonshot、NVIDIA、LocalAI 和 llama.cpp,既可以完全本地运行,也可以接入在线 API。内置的 CodeGraph 功能可以以图形方式查看 Python 和 Go 文件的结构。

后端由 Flask 迁移到 FastAPI,前端由 Streamlit 改为 Svelte。项目定位为验证全本地问答方案的测试项目,不适合用于生产环境或分析敏感、私有代码。

核心功能

  • 01可克隆公开的 GitHub 仓库进行问答,也可上传本地源码文件夹建立索引。
  • 02聊天记录保存在 PostgreSQL 中,支持多会话管理和搜索。
  • 03接入多种大模型,包括本地的 Ollama、LocalAI、llama.cpp 以及在线 API。
  • 04提供 Python 和 Go 文件的 CodeGraph 代码结构视图。
  • 05通过 rr: 前缀可使用 FlashRank 对检索结果重新排序。

适用场景

  • 通过提问快速熟悉一个不熟悉的开源代码库。
  • 借助 Ollama 使用完全本地的模型体验代码问答。
  • 对比不同大模型对同一仓库问题的回答效果。

快速上手

  1. 1

    克隆 QA-Pilot 仓库

    git clone https://github.com/reid41/QA-Pilot.git
  2. 2

    安装 Python 依赖

    pip install -r requirements.txt
  3. 3

    在 svelte-app 目录中安装前端依赖

    npm install
  4. 4

    启动后端服务

    python qa_pilot_run.py

使用前须知

  • 运行前需要先配置好 PostgreSQL 数据库。
  • 使用托管 LLM 需要 API 密钥,使用本地模型则需要 Ollama 等本地模型运行器。
  • README 称其为测试项目,并不适合生产环境。
  • 文档警告不要用它分析私有、敏感或客户的代码。

收录于专题

标签

常见问题

QA-Pilot 是什么?
基于 Svelte 与 FastAPI 的聊天工具,可用在线或本地大模型对 GitHub 仓库或上传的源码目录提问。 QA-Pilot 是一个用于理解代码仓库的聊天工具。可以输入公开的 GitHub 仓库地址(项目会克隆代码),也可以上传本地源码文件夹,系统会为代码建立索引,之后即可在会话中直接提问。聊天记录保存在 PostgreSQL 中,支持多个会话并可按关键词搜索。
QA-Pilot 可以免费使用吗?用的什么许可证?
QA-Pilot 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
QA-Pilot 还在维护吗?
半年内有更新。QA-Pilot 最近一次提交是在 2026年9月14日。
QA-Pilot 适合用来做什么?
通过提问快速熟悉一个不熟悉的开源代码库。 借助 Ollama 使用完全本地的模型体验代码问答。 对比不同大模型对同一仓库问题的回答效果。
QA-Pilot 怎么安装和运行?
克隆 QA-Pilot 仓库: git clone https://github.com/reid41/QA-Pilot.git 安装 Python 依赖: pip install -r requirements.txt 在 svelte-app 目录中安装前端依赖: npm install 启动后端服务: python qa_pilot_run.py
在哪里获取 QA-Pilot?
源代码和安装说明在 GitHub 上:https://github.com/reid41/QA-Pilot

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目