138 lines
3.0 KiB
Markdown
138 lines
3.0 KiB
Markdown
# Configuration Example
|
||
# 配置文件使用说明
|
||
|
||
这是 MND-IA 系统的配置文件模板。
|
||
|
||
## 配置项说明
|
||
|
||
### LLM 配置
|
||
```json
|
||
"llm": {
|
||
"model_name": "gpt-4", // 模型名称(支持 gpt-4, gpt-3.5-turbo, glm-4, claude-3.5-sonnet 等)
|
||
"api_base": "https://api.openai.com/v1", // API 地址
|
||
"api_key": "your-api-key-here", // API Key(必填)
|
||
"temperature": 0.7, // 生成温度(0-1)
|
||
"max_tokens": 2000, // 最大生成长度
|
||
"timeout": 60 // 超时时间(秒)
|
||
}
|
||
```
|
||
|
||
### 系统配置
|
||
```json
|
||
"system": {
|
||
"data_dir": "data", // 数据存储目录
|
||
"cache_dir": "data/news_cache", // 新闻缓存目录
|
||
"log_level": "INFO" // 日志级别
|
||
}
|
||
```
|
||
|
||
### 爬虫配置
|
||
```json
|
||
"crawler": {
|
||
"max_retries": 3, // 最大重试次数
|
||
"retry_delay": 5, // 重试间隔(秒)
|
||
"cache_days": 7 // 缓存保留天数
|
||
}
|
||
```
|
||
|
||
### 交易配置
|
||
```json
|
||
"trading": {
|
||
"max_position_ratio": 0.2, // 单个资产最大仓位比例
|
||
"risk_free_rate": 0.02 // 无风险利率
|
||
}
|
||
```
|
||
|
||
## 使用不同的 LLM 提供商
|
||
|
||
### OpenAI
|
||
```json
|
||
"llm": {
|
||
"model_name": "gpt-4",
|
||
"api_base": "https://api.openai.com/v1",
|
||
"api_key": "sk-xxxxxxxxxxxx"
|
||
}
|
||
```
|
||
|
||
### 智谱 GLM
|
||
```json
|
||
"llm": {
|
||
"model_name": "glm-4",
|
||
"api_base": "https://open.bigmodel.cn/api/paas/v4",
|
||
"api_key": "xxxxxxxxxxxx.xxxxxxxxxxxx"
|
||
}
|
||
```
|
||
|
||
### Claude (Anthropic)
|
||
```json
|
||
"llm": {
|
||
"model_name": "claude-3-5-sonnet-20241022",
|
||
"api_base": "https://api.anthropic.com/v1",
|
||
"api_key": "sk-ant-xxxxxxxxxxxx"
|
||
}
|
||
```
|
||
|
||
### 本地部署(Ollama)
|
||
```json
|
||
"llm": {
|
||
"model_name": "qwen2.5:14b",
|
||
"api_base": "http://localhost:11434/v1",
|
||
"api_key": "ollama"
|
||
}
|
||
```
|
||
|
||
## 代码中使用配置
|
||
|
||
### 方式 1:直接访问配置属性
|
||
```python
|
||
from core.config import config
|
||
|
||
# 获取模型名称
|
||
model = config.model_name
|
||
|
||
# 获取 API Key
|
||
api_key = config.api_key
|
||
|
||
# 获取完整 LLM 配置
|
||
llm_config = config.llm_config
|
||
```
|
||
|
||
### 方式 2:使用统一的 LLM 调用接口
|
||
```python
|
||
from core.config import llm_call
|
||
|
||
# 直接调用 LLM
|
||
response = llm_call(
|
||
messages=[
|
||
{"role": "system", "content": "你是 A 股分析师"},
|
||
{"role": "user", "content": "分析这条新闻..."}
|
||
],
|
||
temperature=0.5 # 可以覆盖配置文件中的默认值
|
||
)
|
||
```
|
||
|
||
### 方式 3:获取配置好的客户端
|
||
```python
|
||
from core.config import get_llm_client
|
||
|
||
client = get_llm_client()
|
||
if client:
|
||
response = client.chat.completions.create(...)
|
||
```
|
||
|
||
## 环境变量支持(TODO)
|
||
|
||
未来版本将支持环境变量覆盖:
|
||
```bash
|
||
export MND_IA_API_KEY="sk-xxxxxxxxxxxx"
|
||
export MND_IA_MODEL_NAME="gpt-4"
|
||
```
|
||
|
||
## 安全提示
|
||
|
||
⚠️ **重要**:
|
||
1. 不要将包含真实 API Key 的 `config.json` 提交到 Git
|
||
2. 建议将 `config.json` 添加到 `.gitignore`
|
||
3. 团队协作时,提供 `config.example.json` 模板
|
||
4. 生产环境使用环境变量或密钥管理服务
|