- Add Git commit preparation checklist - Add Phase testing guides and issue tracking - Add utility scripts (env setup, test data initialization) - Add temp migration SQL files (for reference) - Update startup scripts and README - Remove obsolete scripts
228 lines
4.7 KiB
Markdown
228 lines
4.7 KiB
Markdown
# Phase 2 问题9 - 快速验证指南
|
||
|
||
**修复内容**:Token限制与超时问题
|
||
**修复时间**:2025-10-13
|
||
|
||
---
|
||
|
||
## 🚀 重启服务(必需)
|
||
|
||
### 1. 重启Backend
|
||
|
||
```bash
|
||
cd AIclinicalresearch/backend
|
||
# 如果正在运行,按Ctrl+C停止
|
||
npm run dev
|
||
```
|
||
|
||
**等待输出**:
|
||
```
|
||
✅ Backend服务已启动: http://localhost:3001
|
||
```
|
||
|
||
### 2. 重启Frontend
|
||
|
||
```bash
|
||
cd AIclinicalresearch/frontend
|
||
# 如果正在运行,按Ctrl+C停止
|
||
npm run dev
|
||
```
|
||
|
||
**等待输出**:
|
||
```
|
||
✅ Frontend服务已启动: http://localhost:3000
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ 验证步骤
|
||
|
||
### 测试1:正常使用(推荐5-7篇文献)
|
||
|
||
1. **进入全文阅读模式**
|
||
- 智能问答 → 知识库模式
|
||
- 选择知识库
|
||
- 选择"全文阅读"模式
|
||
|
||
2. **检查自动切换模型**
|
||
- 应该看到提示:"已自动切换到Qwen-Long模型(支持1M上下文)"
|
||
|
||
3. **点击"用量说明"按钮**
|
||
- 查看已加载文献数量
|
||
- 查看Token使用情况
|
||
|
||
4. **提问测试**
|
||
```
|
||
这些文献的主要研究方向是什么?
|
||
```
|
||
|
||
5. **预期结果**:
|
||
- ✅ AI开始流式输出回答
|
||
- ✅ 回答完整,不会卡在中间
|
||
- ✅ 底部显示引用清单(【文献N:文件名】格式)
|
||
- ✅ Backend日志显示Token使用情况
|
||
|
||
---
|
||
|
||
### 测试2:Token接近限制(8-9篇文献)
|
||
|
||
1. 选择8-9篇文献
|
||
2. 进入全文阅读模式
|
||
3. 查看Backend日志
|
||
|
||
**预期**:
|
||
- 🟡 警告日志:`Token数量接近限制 (XXX/990000)`
|
||
- ✅ 但仍能正常运行
|
||
|
||
---
|
||
|
||
### 测试3:Token超限(10+篇或超大文献)
|
||
|
||
1. 尝试选择10篇以上文献
|
||
2. 进入全文阅读模式
|
||
3. 尝试发送消息
|
||
|
||
**预期(如果超限)**:
|
||
- ❌ 立即收到友好错误提示:
|
||
```
|
||
⚠️ Token数量超限
|
||
|
||
输入Token数量 (XXXXX) 超出Qwen-Long模型限制 (990000)。
|
||
请减少文献数量后重试。
|
||
|
||
建议:
|
||
- 当前选中 X 篇文献,共 XXXXX tokens
|
||
- 请减少到 Y 篇以内
|
||
- 或使用"逐篇精读"模式深入分析单篇文献
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Backend日志检查
|
||
|
||
启动对话后,Backend应该输出:
|
||
|
||
```
|
||
📚 [ChatController] 全文阅读模式 - 加载文献全文 { documentCount: 7 }
|
||
📄 [ChatController] 加载了 7 篇文献全文
|
||
📚 [ChatController] 全文上下文已组装 {
|
||
totalDocuments: 7,
|
||
totalCharacters: 345678,
|
||
totalTokens: 723456,
|
||
estimatedTokens: 138271
|
||
}
|
||
🤖 [ChatController] 开始调用LLM {
|
||
model: 'qwen-long',
|
||
maxOutputTokens: 6000,
|
||
mode: '全文阅读'
|
||
}
|
||
[QwenAdapter] 开始流式调用 {
|
||
model: 'qwen-long',
|
||
timeout: '300秒',
|
||
messagesCount: 2
|
||
}
|
||
```
|
||
|
||
**关键指标**:
|
||
- ✅ `totalTokens` 应该 < 990,000
|
||
- ✅ `maxOutputTokens` 应该是 6000(不是2000)
|
||
- ✅ `timeout` 应该是 300秒
|
||
- ✅ `mode` 应该是"全文阅读"
|
||
|
||
---
|
||
|
||
## ❓ 常见问题
|
||
|
||
### Q1: 还是卡死怎么办?
|
||
|
||
**检查**:
|
||
1. Backend日志中的`totalTokens`是多少?
|
||
- 如果 > 990,000:说明文献太多,减少到5-7篇
|
||
- 如果 < 800,000:可能是其他问题
|
||
|
||
2. 是否看到`maxOutputTokens: 6000`?
|
||
- 如果是2000:说明代码未更新,重启Backend
|
||
|
||
3. Qwen API Key是否配置正确?
|
||
- 检查`.env`文件中的`DASHSCOPE_API_KEY`
|
||
|
||
### Q2: 如何知道文献的Token数?
|
||
|
||
在"用量说明"弹窗中可以看到:
|
||
- 容量使用情况:X / 980,000 tokens
|
||
- 已加载文献列表(每篇的Token数)
|
||
|
||
### Q3: 多少篇文献最合适?
|
||
|
||
**推荐**:
|
||
- **5-7篇**:理想范围(~500-700K tokens)
|
||
- 8-9篇:可用但接近上限
|
||
- 10+篇:很可能超限
|
||
|
||
**原则**:
|
||
- 平均每篇100K tokens以内最安全
|
||
- 总Token数建议 < 800K
|
||
|
||
---
|
||
|
||
## 📝 验证结果记录
|
||
|
||
### 正常使用测试
|
||
|
||
- [ ] 自动切换到Qwen-Long模型
|
||
- [ ] Token数量显示正确
|
||
- [ ] AI回答完整,无卡顿
|
||
- [ ] 引用格式正确(【文献N:文件名】)
|
||
- [ ] Backend日志正常
|
||
|
||
### 超限测试
|
||
|
||
- [ ] 超限时收到友好错误提示
|
||
- [ ] 提示包含具体Token数和建议
|
||
- [ ] 不会导致连接重置或白屏
|
||
|
||
---
|
||
|
||
## 🎯 成功标志
|
||
|
||
如果以下全部成立,说明修复成功:
|
||
|
||
1. ✅ 全文阅读模式能正常进行对话
|
||
2. ✅ AI回答不会"卡在中间"
|
||
3. ✅ 回答长度合理(3000-5000 tokens)
|
||
4. ✅ Token超限时有友好提示
|
||
5. ✅ Backend日志清晰详细
|
||
6. ✅ 无 ECONNRESET 错误
|
||
|
||
---
|
||
|
||
## 📞 如果还有问题
|
||
|
||
请提供以下信息:
|
||
|
||
1. **Backend日志**(完整的控制台输出)
|
||
2. **文献数量和Token数**(从"用量说明"中获取)
|
||
3. **Frontend控制台错误**(如果有)
|
||
4. **具体卡在哪里**(输出了多少内容)
|
||
|
||
**关键数据**:
|
||
- `totalTokens: ?`
|
||
- `maxOutputTokens: ?`
|
||
- `timeout: ?`
|
||
|
||
这些信息能帮助快速定位问题!
|
||
|
||
---
|
||
|
||
**验证文档版本**:1.0
|
||
**最后更新**:2025-10-13
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|