项目简介
本项目是一个基于大型语言模型(LLM)的智能代码审查系统,借助自动化代码审查来提升开发效率与代码质量。采用 Docker 进行部署,同时支持 Web 界面、命令行交互以及 API 服务,方便用户在不同场景下灵活使用。
项目的主要特性和功能
- 智能代码审查:运用大型语言模型自动分析代码,实时给出反馈和建议。
- 基于 Docker 的部署:通过 Docker Compose 能快速启动向量数据库 Qdrant、Git 服务 Gitea 和关系型数据库 MySQL 等必要服务。
- Web 界面:提供基于 Gradio 的 Web 界面,用户可通过浏览器进行交互式代码审查。
- 命令行交互:支持开发者通过命令行与系统交互,便于快速测试和调试。
- API 服务:提供 RESTful API 接口,支持第三方系统集成。
- 知识库管理:内置 React 和 Zustand 等框架的官方文档作为知识库,且支持扩展。
安装使用步骤
1. 环境准备
确保已安装 Python 3.10 和 Docker。使用以下命令创建并激活 Python 虚拟环境:
shell
conda create --name crcopilot python=3.10
conda activate crcopilot
2. 安装依赖
在项目根目录下运行以下命令安装所需的 Python 依赖:
shell
pip install -r requirements.txt
3. 启动 Docker 服务
使用 Docker Compose 启动必要的服务:
shell
docker-compose up -d
启动的服务包括:
- 向量数据库 Qdrant:http://localhost:6333
- Git 服务 Gitea:http://localhost:3000
- 关系型数据库 MySQL
4. 启动 Web 界面
运行以下命令启动基于 Gradio 的 Web 界面:
shell
python web_demo.py
启动后,可通过浏览器访问 Web 界面进行交互。
5. 命令行交互
运行以下命令启动本地大模型服务并进行命令行交互:
shell
python api_cli.py
python api_cli_access.py
在命令行中输入指示并回车即可生成回复。
6. API 部署
安装额外的依赖并启动 API 服务:
shell
pip install fastapi uvicorn
python api.py
默认部署在本地的 8000 端口,可通过以下命令调用 API:
shell
curl -X POST "http://127.0.0.1:8000" \
-H 'Content-Type: application/json' \
-d '{"prompt": "你好", "history": []}'
返回值示例:
shell
{
"response":"你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。",
"history":[["你好","你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。"]],
"status":200,
"time":"2023-03-23 21:38:40"
}
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】