初始提交

This commit is contained in:
oficcejo
2025-10-04 11:01:37 +08:00
commit f52c3ef5b3
29 changed files with 7023 additions and 0 deletions
+122
View File
@@ -0,0 +1,122 @@
# DeepSeek Reasoner 模型输出不全问题修复说明
## 问题描述
使用 `deepseek-chat` 模型输出正常,但使用 `deepseek-reasoner` 模型进行技术面分析、基本面分析等各个分析时,输出文字不全。
## 问题原因
**deepseek-reasoner** 模型与 **deepseek-chat** 模型有重要区别:
1. **响应结构不同**
- `deepseek-chat`: 只返回 `content`(最终答案)
- `deepseek-reasoner`: 返回 `reasoning_content`(推理过程)+ `content`(最终答案)
2. **Token 需求更大**
- reasoner 模型需要输出详细的推理过程,需要更多的 tokens
- 原代码中 `max_tokens=2000` 对 reasoner 模型来说太小,导致输出被截断
## 解决方案
### 1. 自动调整 max_tokens(已修复)
`deepseek_client.py``call_api` 方法中:
```python
# 对于 reasoner 模型,自动增加 max_tokens
if "reasoner" in model_to_use.lower() and max_tokens <= 2000:
max_tokens = 8000 # reasoner 模型需要更多 tokens 来输出推理过程
```
### 2. 正确处理 reasoner 响应(已修复)
```python
# 处理 reasoner 模型的响应
message = response.choices[0].message
result = ""
# 检查是否有推理内容
if hasattr(message, 'reasoning_content') and message.reasoning_content:
result += f"【推理过程】\n{message.reasoning_content}\n\n"
# 添加最终内容
if message.content:
result += message.content
```
### 3. 提高各分析模块的 max_tokens(已修复)
| 分析模块 | 原 max_tokens | 新 max_tokens |
|---------|--------------|--------------|
| 技术面分析 | 2000 | 8000 (自动) |
| 基本面分析 | 2000 | 8000 (自动) |
| 资金面分析 | 2000 | 8000 (自动) |
| 风险管理分析 | 2000 | 8000 (自动) |
| 市场情绪分析 | 2000 | 8000 (自动) |
| 综合讨论 | 3000 | 6000 |
| 最终决策 | 2000 | 4000 |
| 团队讨论 | 3000 | 6000 |
## 修改的文件
1. **deepseek_client.py**
- `call_api()` 方法:增加 reasoner 检测和 max_tokens 自动调整
- `call_api()` 方法:增加 reasoning_content 处理
- `comprehensive_discussion()` 方法:max_tokens 从 3000 增加到 6000
- `final_decision()` 方法:max_tokens 从 2000 增加到 4000
2. **ai_agents.py**
- `conduct_team_discussion()` 方法:max_tokens 从 3000 增加到 6000
## 使用建议
### 1. 模型选择
- **deepseek-chat**
- 适用场景:快速分析、常规查询
- 优点:响应快,成本低
- 缺点:推理能力相对较弱
- **deepseek-reasoner**
- 适用场景:复杂分析、需要深度推理的场景
- 优点:推理能力强,分析更深入
- 缺点:响应时间较长,token 消耗更多
### 2. 查看推理过程
使用 reasoner 模型时,响应中会包含 `【推理过程】` 部分,展示 AI 的思考过程,帮助你理解分析的逻辑。
### 3. Token 消耗
reasoner 模型的 token 消耗通常是 chat 模型的 2-4 倍,请注意 API 使用成本。
## 验证方法
1. 在应用中选择 "DeepSeek Reasoner (推理增强)" 模型
2. 输入股票代码进行分析
3. 检查各个分析报告是否完整输出
4. 查看是否包含 `【推理过程】` 部分
## 预期效果
修复后,使用 deepseek-reasoner 模型应该能够:
- ✅ 完整输出技术面分析报告
- ✅ 完整输出基本面分析报告
- ✅ 完整输出资金面分析报告
- ✅ 完整输出风险管理报告
- ✅ 完整输出市场情绪分析报告
- ✅ 完整输出综合讨论结果
- ✅ 完整输出最终投资决策
- ✅ 显示推理过程(如果 API 支持)
## 注意事项
1. **API 兼容性**:确保使用的 DeepSeek API 版本支持 reasoner 模型
2. **Token 限制**:如果仍然出现截断,可以进一步增加 max_tokens
3. **成本控制**reasoner 模型消耗更多 tokens,注意 API 配额
4. **响应时间**:reasoner 模型需要更多时间进行推理,请耐心等待
## 更新日期
2025-10-03