# 硅基流动（SiliconFlow）配置指南

## 📋 简介

硅基流动（SiliconFlow）是一个高性价比的 AI 推理服务平台，提供多种开源大模型的 API 访问。本指南将帮助您在 TradingAgents-CN 中配置和使用硅基流动。

---

## 🌟 硅基流动的优势

1. **高性价比**：价格低于大多数商业模型
2. **多模型支持**：支持 Qwen、DeepSeek、GLM、Kimi 等多种开源模型
3. **OpenAI 兼容**：API 完全兼容 OpenAI 格式，易于集成
4. **国内访问**：服务器在国内，访问速度快，无需翻墙
5. **免费额度**：新用户有免费试用额度

---

## 🔑 获取 API Key

### 步骤 1：注册账号

1. 访问硅基流动官网：https://siliconflow.cn
2. 点击"注册"按钮
3. 使用手机号或邮箱完成注册

### 步骤 2：获取 API Key

1. 登录后，进入控制台
2. 在左侧菜单中找到"API 密钥"
3. 点击"创建新密钥"
4. 复制生成的 API Key（格式：`sk-xxxxxx...`）

**⚠️ 重要提示**：
- API Key 只会显示一次，请妥善保存
- 不要将 API Key 泄露给他人
- 建议定期更换 API Key

---

## ⚙️ 配置方法

### 方法 1：通过前端界面配置（推荐）

#### 步骤 1：初始化厂家数据

首先需要运行初始化脚本，将硅基流动添加到厂家列表：

```powershell
# 在项目根目录执行
.\.venv\Scripts\python app/scripts/init_providers.py
```

**输出示例**：
```
🚀 开始初始化大模型厂家数据...
🧹 清除现有厂家数据
✅ 添加厂家: OpenAI (ID: ...)
✅ 添加厂家: Anthropic (ID: ...)
✅ 添加厂家: Google AI (ID: ...)
✅ 添加厂家: 智谱AI (ID: ...)
✅ 添加厂家: DeepSeek (ID: ...)
✅ 添加厂家: 阿里云百炼 (ID: ...)
✅ 添加厂家: 硅基流动 (ID: ...)  ← 新增
🎉 成功初始化 7 个厂家数据
```

#### 步骤 2：在前端配置 API Key

1. **打开配置管理页面**
   - 访问前端页面
   - 进入"设置 → 配置管理"
   - 切换到"大模型配置"标签

2. **找到硅基流动厂家**
   - 在"厂家管理"区域找到"硅基流动"
   - 点击"编辑"按钮

3. **填写 API Key**
   - 在"API 密钥"字段粘贴您的 API Key
   - 确认"默认 API 地址"为：`https://api.siliconflow.cn/v1`
   - 点击"保存"

4. **添加模型配置**
   - 在"模型配置"区域点击"添加模型"
   - 选择"供应商"：硅基流动
   - 填写模型信息（见下方推荐模型列表）
   - 点击"保存"

5. **测试连接**
   - 点击模型配置右侧的"测试"按钮
   - 等待测试结果
   - ✅ 显示"测试成功"即表示配置正确

---

### 方法 2：通过环境变量配置

#### 步骤 1：编辑 `.env` 文件

在项目根目录的 `.env` 文件中添加：

```bash
# 硅基流动 API 密钥
SILICONFLOW_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

**示例**（使用您提供的百炼 Key 格式）：
```bash
SILICONFLOW_API_KEY=sk-990547695d6046cf9be4e8d095235d91
```

#### 步骤 2：重启后端服务

```powershell
# 停止当前后端服务（Ctrl+C）
# 重新启动
.\.venv\Scripts\python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```

#### 步骤 3：验证配置

1. 进入"设置 → 配置验证"
2. 点击"验证配置"按钮
3. 查看"必需配置"区域
4. 硅基流动应显示：
   - 🟡 黄色「已配置（环境变量）」（如果只在 `.env` 中配置）
   - 🟢 绿色「已配置」（如果在数据库中配置）

---

## 🎯 推荐模型列表

### 1. Qwen 系列（通义千问）

| 模型名称 | 模型代码 | 特点 | 推荐场景 |
|---------|---------|------|---------|
| Qwen3-30B-A3B-Thinking | `Qwen/Qwen3-30B-A3B-Thinking-2507` | 30B 思维链模型 | 复杂推理、策略分析 |
| Qwen3-30B-A3B-Instruct | `Qwen/Qwen3-30B-A3B-Instruct-2507` | 30B 指令模型 | 通用对话、文本生成 |
| Qwen3-235B-A22B-Thinking | `Qwen/Qwen3-235B-A22B-Thinking-2507` | 235B 思维链模型 | 高级推理、深度分析 |
| Qwen3-235B-A22B-Instruct | `Qwen/Qwen3-235B-A22B-Instruct-2507` | 235B 指令模型 | 高质量对话、专业写作 |
| Qwen2.5-7B-Instruct | `Qwen/Qwen2.5-7B-Instruct` | 7B 轻量模型（免费） | 快速响应、日常对话 |

### 2. DeepSeek 系列

| 模型名称 | 模型代码 | 特点 | 推荐场景 |
|---------|---------|------|---------|
| DeepSeek-R1 | `deepseek-ai/DeepSeek-R1` | 推理增强模型 | 逻辑推理、代码生成 |
| DeepSeek-V3 | `deepseek-ai/DeepSeek-V3` | 最新版本 | 通用任务、高性能 |

### 3. GLM 系列（智谱）

| 模型名称 | 模型代码 | 特点 | 推荐场景 |
|---------|---------|------|---------|
| GLM-4.5 | `zai-org/GLM-4.5` | 智谱最新模型 | 中文理解、对话生成 |

### 4. Kimi 系列（月之暗面）

| 模型名称 | 模型代码 | 特点 | 推荐场景 |
|---------|---------|------|---------|
| Kimi-K2-Instruct | `moonshotai/Kimi-K2-Instruct` | 长文本处理 | 文档分析、长对话 |

---

## 📝 配置示例

### 示例 1：配置 Qwen2.5-7B（免费模型）

**前端配置**：
1. 供应商：硅基流动
2. 模型名称：`Qwen/Qwen2.5-7B-Instruct`
3. 显示名称：`Qwen2.5-7B（免费）`
4. 最大 Token：4096
5. 温度：0.7
6. 超时时间：60 秒

**测试命令**：
```bash
curl https://api.siliconflow.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SILICONFLOW_API_KEY" \
  -d '{
    "model": "Qwen/Qwen2.5-7B-Instruct",
    "messages": [{"role": "user", "content": "你好"}],
    "max_tokens": 100
  }'
```

---

### 示例 2：配置 DeepSeek-R1（推理模型）

**前端配置**：
1. 供应商：硅基流动
2. 模型名称：`deepseek-ai/DeepSeek-R1`
3. 显示名称：`DeepSeek-R1（推理增强）`
4. 最大 Token：8192
5. 温度：0.5
6. 超时时间：120 秒

---

## 🧪 测试配置

### 方法 1：通过前端测试

1. 在"配置管理 → 大模型配置"中找到您添加的模型
2. 点击右侧的"测试"按钮
3. 等待测试结果
4. ✅ 成功：显示"测试成功"和响应预览
5. ❌ 失败：显示错误信息

### 方法 2：通过配置验证

1. 进入"设置 → 配置验证"
2. 点击"验证配置"按钮
3. 查看"必需配置"区域
4. 硅基流动应显示配置状态

---

## ❓ 常见问题

### Q1：初始化脚本运行后，前端看不到硅基流动？

**A**：需要刷新前端页面或重新加载厂家列表：
1. 在"配置管理"页面点击"刷新厂家列表"按钮
2. 或者刷新浏览器页面（F5）

---

### Q2：配置了 API Key，但测试失败？

**A**：请检查以下几点：
1. **API Key 是否正确**：确认复制完整，没有多余空格
2. **API Key 是否有效**：登录硅基流动控制台确认密钥状态
3. **网络连接**：确认服务器可以访问 `https://api.siliconflow.cn`
4. **模型名称**：确认模型代码拼写正确（区分大小写）
5. **余额充足**：确认账户有足够的余额或免费额度

---

### Q3：环境变量配置和数据库配置有什么区别？

**A**：
- **环境变量配置**（`.env` 文件）：
  - ✅ 适合个人用户
  - ✅ 配置简单，直接修改文件
  - ⚠️ 需要重启后端服务才能生效
  - ⚠️ 配置验证显示黄色「已配置（环境变量）」

- **数据库配置**（前端界面）：
  - ✅ 适合多用户环境
  - ✅ 无需重启服务，立即生效
  - ✅ 可以通过界面管理
  - ✅ 配置验证显示绿色「已配置」

**推荐**：优先使用数据库配置（前端界面），更方便管理。

---

### Q4：如何查看硅基流动的使用情况和余额？

**A**：
1. 登录硅基流动控制台：https://siliconflow.cn
2. 在控制台首页查看：
   - 当前余额
   - 今日使用量
   - 历史调用记录
3. 在"账单"页面查看详细的消费记录

---

### Q5：硅基流动支持哪些功能？

**A**：硅基流动支持以下功能：
- ✅ 聊天对话（Chat Completions）
- ✅ 文本补全（Completions）
- ✅ 文本嵌入（Embeddings）
- ✅ 函数调用（Function Calling）
- ✅ 流式输出（Streaming）

---

## 📚 相关文档

- [硅基流动官方文档](https://docs.siliconflow.cn)
- [API Key 配置管理分析](./API_KEY_MANAGEMENT_ANALYSIS.md)
- [配置验证修复总结](./CONFIG_VALIDATION_FIX_SUMMARY.md)
- [自定义 OpenAI 端点配置](./configuration/custom-openai-endpoint.md)

---

## 🎉 完成

恭喜！您已经成功配置了硅基流动。现在可以在 TradingAgents-CN 中使用硅基流动的模型进行 AI 分析了。

如有任何问题，请参考上方的常见问题或查阅官方文档。

