https://github.com/codeweiz/langchain_quick_start
https://github.com/codeweiz/langchain_quick_start
Last synced: 27 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/codeweiz/langchain_quick_start
- Owner: codeweiz
- Created: 2025-05-06T04:49:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-19T15:28:34.000Z (about 1 year ago)
- Last Synced: 2025-05-19T15:54:00.255Z (about 1 year ago)
- Language: Python
- Size: 2.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LangChain PR 代码质量自动审查
## 项目简介
本项目实现了一个自动化的 PR 代码质量审查 MVP:
- 监听 GitHub PR Webhook 事件
- 自动拉取 PR 的 diff、commit 信息
- 基于 LangChain + Deepseek LLM 进行代码质量分析
- 自动将分析结果评论到 PR
- 支持异步后台处理,主线程快速响应
---
## 目录结构
```
langchain_quick_start/
├── app/
│ ├── domain/ # 领域模型与接口
│ ├── service/ # 主流程、GitHub、反馈等实现
│ └── llm_checker/ # LLM 质量分析与 prompt
├── test/ # 测试代码
├── common/ # 通用工具/配置
├── services/ # 其他微服务
├── .env # 环境变量
├── pyproject.toml # 依赖管理
├── README.md
├── main.py # FastAPI Webhook 入口
```
---
## 依赖安装
推荐使用 [uv](https://github.com/astral-sh/uv):
```bash
uv pip install pyproject.toml
```
---
## 环境变量配置
在项目根目录新建 `.env` 文件,内容示例:
```
GITHUB_TOKEN=你的github token
DEEPSEEK_API_KEY=你的deepseek api key
```
---
## 运行方式
```bash
uvicorn main:app --reload
```
---
## 主要接口说明
- Webhook 入口:`POST /webhook`
- 监听 GitHub PR 事件(opened/synchronize)
- 自动拉取 diff、commit,LLM 分析并评论到 PR
- 主线程快速返回 `{"msg": "已接收,后台处理中"}`
---
## 设计亮点
- 领域驱动分层,接口解耦,易扩展
- LLM 代码质量分析可插拔,支持多模型
- 所有敏感信息通过环境变量管理,安全合规
- 支持 LangChain Tool 封装 GitHub 能力,便于智能体扩展
---