Files
catonline_ai/vw-agentic-rag/docs/topics/DEBUG_README.md

165 lines
3.9 KiB
Markdown
Raw Normal View History

2025-09-26 17:15:54 +08:00
# VS Code 调试配置指南
本文档说明如何在 VS Code 中运行和调试 Agentic RAG 服务。
## 🚀 快速开始
### 1. 打开VS Code
```bash
cd /home/fl/code/ai-solution/agentic-rag-4
code .
```
### 2. 选择Python解释器
-`Ctrl+Shift+P` 打开命令面板
- 输入 "Python: Select Interpreter"
- 选择 `.venv/bin/python` (项目虚拟环境)
## 🐛 调试配置
已配置了以下调试选项,可在"运行和调试"面板中使用:
### 1. Debug Agentic RAG Service
- **用途**: 直接调试服务主程序
- **端口**: 8000
- **特点**: 支持断点调试,实时代码重载
### 2. Debug Service with uvicorn
- **用途**: 使用uvicorn调试服务推荐
- **端口**: 8000
- **特点**: 更接近生产环境,支持热重载
### 3. Run Tests
- **用途**: 运行所有测试用例
- **特点**: 支持测试断点调试
### 4. Run Streaming Test
- **用途**: 运行流式API测试
- **特点**: 测试实际的流式响应
## 📋 如何使用
### 方法1: 使用VS Code调试面板
1. 点击左侧活动栏的"运行和调试"图标 (Ctrl+Shift+D)
2. 选择调试配置(推荐 "Debug Service with uvicorn"
3. 点击绿色的"开始调试"按钮或按 F5
### 方法2: 使用调试启动器
```bash
python debug_service.py
```
### 方法3: 使用任务
1.`Ctrl+Shift+P` 打开命令面板
2. 输入 "Tasks: Run Task"
3. 选择相应的任务(如 "Start Service"
## 🔧 断点调试
### 设置断点
- 在代码行号左侧点击设置断点
- 红色圆点表示断点已设置
### 常用调试点
- `service/main.py:app` - 应用入口
- `service/graph/graph.py` - 核心逻辑
- `service/llm_client.py:astream` - LLM流式调用你选中的代码
- `service/config.py` - 配置加载
### 调试控制
- **F5**: 继续执行
- **F10**: 单步跳过
- **F11**: 单步进入
- **Shift+F11**: 单步跳出
- **Ctrl+Shift+F5**: 重启调试
## 🌐 服务端点
调试时服务运行在:
- **主页**: http://localhost:8000
- **健康检查**: http://localhost:8000/health
- **API文档**: http://localhost:8000/docs
- **聊天API**: http://localhost:8000/api/chat
## 📊 调试技巧
### 1. 查看变量
- 鼠标悬停在变量上查看值
- 使用"变量"面板查看作用域内的所有变量
- 使用"监视"面板添加表达式监视
### 2. 控制台调试
- 在"调试控制台"中执行Python表达式
- 例如: `config.get_llm_config()`
### 3. 异步调试
- 对于 `async` 函数,断点会在 `await` 处暂停
- 可以查看异步调用栈
### 4. 流式调试
-`llm_client.py``astream` 方法设置断点
- 观察流式数据的生成过程
## 🛠️ 故障排除
### 问题1: 端口已占用
```bash
./stop_service.sh # 停止现有服务
```
### 问题2: 模块导入错误
确保环境变量正确设置:
- `PYTHONPATH`: 项目根目录
- `CONFIG_FILE`: config.yaml路径
### 问题3: 配置文件找不到
确保 `config.yaml` 在项目根目录
### 问题4: 虚拟环境问题
```bash
uv sync # 重新同步依赖
```
## 🔄 开发工作流
### 标准调试流程
1. 设置断点
2. 启动调试 (F5)
3. 发送测试请求
4. 在断点处检查状态
5. 修改代码
6. 热重载自动生效
### 测试流程
1. 运行 "Run Tests" 配置
2. 或使用任务 "Run Tests"
3. 查看测试结果
### 流式测试
1. 运行 "Run Streaming Test" 配置
2. 观察流式输出
3. 检查事件序列
## 📝 日志查看
### 调试模式日志
- 在VS Code终端中查看详细日志
- 日志级别: DEBUG
### 服务日志
```bash
tail -f server.log # 查看服务日志
```
## 🎯 最佳实践
1. **使用条件断点**: 右键断点设置条件
2. **异常断点**: 设置在异常处暂停
3. **日志断点**: 不停止执行,只记录日志
4. **热重载**: 保存文件自动重启服务
5. **环境隔离**: 使用项目专用虚拟环境
---
现在你可以愉快地在VS Code中调试你的Agentic RAG服务了🎉