Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/0verl1nk_ai-driven-trading.json
T

1 line
8.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "0verl1nk/ai-driven-trading", "files": {"docs/THIRD_PARTY_API.md": {"554e2d75d64bd816af7d0633baea5a8cb28835b8": {"t": 1785768933.3461418, "n": 6210, "h": "dc0709d12224fb8c", "c": "# 使用第三方OpenAI兼容API\n\n## 📡 为什么使用第三方API?\n\n使用OpenAI兼容的第三方API有以下优势:\n\n1. **成本更低** - 国内中转API通常比官方便宜30-50%\n2. **速度更快** - 国内服务器,无需科学上网\n3. **更灵活** - 可以使用本地部署的模型\n4. **避免限制** - 绕过官方API的某些限制\n\n## 🔧 配置方法\n\n### 方法1: 环境变量(推荐)\n\n编辑 `.env` 文件:\n\n```env\n# OpenAI兼容API配置\nOPENAI_API_KEY=your_api_key_here\nOPENAI_BASE_URL=https://your-api-endpoint.com/v1\n\n# 例如使用OneAPI\n# OPENAI_BASE_URL=https://api.oneapi.com/v1\n\n# 或本地vLLM服务\n# OPENAI_BASE_URL=http://localhost:8000/v1\n```\n\n### 方法2: 配置文件\n\n编辑 `config/trading_config.yaml`:\n\n```yaml\nai:\n provider: \"openai\"\n model: \"gpt-4\" # 或第三方API支持的模型名\n base_url: \"https://your-api-endpoint.com/v1\" # 可选\n```\n\n### 方法3: 代码中指定\n\n```python\nfrom src.ai.llm_interface import TradingLLM\n\nllm = TradingLLM(\n primary_provider=\"openai\",\n model=\"gpt-4\",\n base_url=\"https://your-api-endpoint.com/v1\"\n)\n```\n\n## 🌐 常见第三方API提供商\n\n### 1. OneAPI(国内热门)\n\n```env\nOPENAI_BASE_URL=https://api.oneapi.com/v1\nOPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx\n```\n\n**优势:**\n- 国内访问快\n- 支持多种模型\n- 价格便宜\n\n**模型支持:**\n- GPT-4 Turbo\n- GPT-3.5 Turbo\n- Claude (部分)\n\n### 2. API2D(国内)\n\n```env\nOPENAI_BASE_URL=https://api.api2d.com/v1\nOPENAI_API_KEY=fk-xxxxxxxxxxxxxxxx\n```\n\n### 3. CloseAI(国内)\n\n```env\nOPENAI_BASE_URL=https://api.closeai-asia.com/v1\nOPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx\n```\n\n### 4. 本地vLLM部署\n\n```env\nOPENAI_BASE_URL=http://localhost:8000/v1\nOPENAI_API_KEY=EMPTY # 本地部署通常不需要真实key\n```\n\n**启动vLLM服务:**\n```bash\n# 安装vLLM\npip install vllm\n\n# 启动服务(以Qwen为例)\npython -m vllm.entrypoints.openai.api_server \\\n --model Qwen/Qwen2.5-7B-Instruct \\\n --port 8000\n```\n\n### 5. Ollama(本地)\n\nOllama本身不是OpenAI兼容的,但可以通过适配器:\n\n```bash\n# 使用litellm作为适配器\npip install litellm\n\n# 启动代理\nlitellm --model ollama/llama3.1:70b --port 8000\n```\n\n然后配置:\n```env\nOPENAI_BASE_URL=http://localhost:8000\nOPENAI_API_KEY=EMPTY\n```\n\n## 🔍 验证配置\n\n创建测试脚本 `scripts/test_api.py`:\n\n```python\n#!/usr/bin/env python3\n\"\"\"测试第三方API连接\"\"\"\n\nimport sys\nfrom pathlib import Path\nsys.path.insert(0, str(Path(__file__).parent.parent))\n\nfrom src.ai.llm_interface import TradingLLM\nimport asyncio\n\n\nasync def test_api():\n \"\"\"测试API连接\"\"\"\n print(\"测试OpenAI兼容API...\")\n \n llm = TradingLLM(\n primary_provider=\"openai\",\n model=\"gpt-4\" # 或你的模型名\n )\n \n # 简单测试prompt\n test_prompt = \"\"\"\n {\n \"test\": \"Hello, are you working?\"\n }\n \n Please respond with valid JSON containing a \"response\" field.\n \"\"\"\n \n try:\n response = await llm.decide(test_prompt)\n print(\"✅ API连接成功!\")\n print(f\"响应: {response}\")\n return True\n except Exception as e:\n print(f\"❌ API连接失败: {e}\")\n return False\n\n\nif __name__ == \"__main__\":\n asyncio.run(test_api())\n```\n\n运行测试:\n```bash\npython scripts/test_api.py\n```\n\n## ⚙️ 模型映射\n\n不同API提供商可能使用不同的模型名称:\n\n| 官方模型 | OneAPI | API2D | 本地模型 |\n|---------|--------|-------|---------|\n| gpt-4-turbo-preview | gpt-4-turbo | gpt-4 | Qwen2.5-72B |\n| gpt-3.5-turbo | gpt-3.5-turbo | gpt-3.5-turbo | Qwen2.5-7B |\n| gpt-4o | gpt-4o | gpt-4o | - |\n\n在 `config/trading_config.yaml` 中调整:\n\n```yaml\nai:\n provider: \"openai\"\n model: \"gpt-4\" # 使用第三方API支持的模型名\n```\n\n## 💰 成本对比\n\n以每天550次决策(2.6分钟间隔)为例:\n\n| 提供商 | 模型 | 每次成本 | 每日成本 | 每月成本 |\n|--------|------|----------|----------|----------|\n| OpenAI官方 | GPT-4 Turbo | $0.10 | $55 | $1650 |\n| OneAPI | GPT-4 | $0.06 | $33 | $990 |\n| 本地vLLM | Qwen2.5-72B | $0 | $0 | $0 |\n\n**成本节省:**\n- 国内API:节省 ~40%\n- 本地部署:节省 100%(硬件成本另算)\n\n## 🚀 本地部署推荐配置\n\n### 硬件要求\n\n**最小配置(7B-13B模型):**\n- GPU: RTX 3090 (24GB) 或 A5000\n- RAM: 32GB\n- 存储: 50GB SSD\n\n**推荐配置(70B模型):**\n- GPU: A100 (80GB) 或 2x RTX 4090\n- RAM: 128GB\n- 存储: 200GB NVMe SSD\n\n### 推荐模型\n\n1. **Qwen2.5-72B-Instruct** (最推荐)\n - 性能接近GPT-4\n - 中英文双语优秀\n - 推理能力强\n\n2. **Llama 3.1 70B**\n - Meta官方模型\n - 社区支持好\n - 通用能力强\n\n3. **Qwen2.5-7B-Instruct** (预算有限)\n - 只需24GB显存\n - 速度快\n - 性能略低但可用\n\n### 部署步骤\n\n```bash\n# 1. 安装vLLM\npip install vllm\n\n# 2. 下载模型(以Qwen2.5-72B为例)\n# 方式1: 从HuggingFace下载\nhuggingface-cli download Qwen/Qwen2.5-72B-Instruct\n\n# 方式2: 从ModelScope下载(国内快)\npip install modelscope\nmodelscope download --model Qwen/Qwen2.5-72B-Instruct\n\n# 3. 启动vLLM服务\npython -m vllm.entrypoints.openai.api_server \\\n --model Qwen/Qwen2.5-72B-Instruct \\\n --port 8000 \\\n --max-model-len 8192 \\\n --gpu-memory-utilization 0.9\n\n# 4. 配置系统使用本地API\n# 编辑 .env\necho \"OPENAI_BASE_URL=http://localhost:8000/v1\" >> .env\necho \"OPENAI_API_KEY=EMPTY\" >> .env\n```\n\n## 🔒 安全注意事项\n\n### 使用第三方API时\n\n1. **不要发送敏感信息**\n - API密钥\n - 交易密钥\n - 个人隐私数据\n\n2. **验证API提供商**\n - 选择知名服务商\n - 查看用户评价\n - 测试稳定性\n\n3. **数据加密**\n - 使用HTTPS\n - 避免明文传输敏感数据\n\n### 使用本地部署时\n\n1. **网络隔离**\n - 不要暴露到公网\n - 使用防火墙\n\n2. **访问控制**\n - 设置API密钥\n - 限制访问IP\n\n## 🛠️ 故障排查\n\n### 问题1: 连接超时\n\n```bash\n# 测试连接\ncurl -X POST \"https://your-api-endpoint.com/v1/chat/completions\" \\\n -H \"Authorization: Bearer your-api-key\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"model\":\"gpt-4\",\"messages\":[{\"role\":\"user\",\"content\":\"Hi\"}]}'\n```\n\n### 问题2: 认证失败\n\n检查API密钥格式:\n- OpenAI官方: `sk-...`\n- OneAPI: `sk-...`\n- 本地: 可能不需要或任意字符串\n\n### 问题3: 模型不存在\n\n```bash\n# 查询可用模型\ncurl \"https://your-api-endpoint.com/v1/models\" \\\n -H \"Authorization: Bearer your-api-key\"\n```\n\n### 问题4: 响应格式不兼容\n\n某些API可能返回格式略有不同,检查日志:\n```bash\ntail -f logs/trading.log | grep \"parse\"\n```\n\n## 📊 性能对比\n\n实际测试(基于交易决策任务):\n\n| 模型 | 平均延迟 | 决策质量 | 成本/次 |\n|------|---------|---------|---------|\n| GPT-4 Turbo (官方) | 3-5秒 | ⭐⭐⭐⭐⭐ | $0.10 |\n| GPT-4 (OneAPI) | 2-4秒 | ⭐⭐⭐⭐⭐ | $0.06 |\n| Qwen2.5-72B (本地) | 1-2秒 | ⭐⭐⭐⭐ | $0 |\n| Qwen2.5-7B (本地) | 0.5-1秒 | ⭐⭐⭐ | $0 |\n\n**结论:**\n- 生产环境:GPT-4 (OneAPI) - 平衡质量和成本\n- 预算充足:GPT-4 Turbo (官方) - 最佳质量\n- 技术能力强:Qwen2.5-72B (本地) - 零成本\n\n## 🎯 推荐方案\n\n### 方案1: 国内中转API(最推荐新手)\n\n```env\nOPENAI_BASE_URL=https://api.oneapi.com/v1\nOPENAI_API_KEY=sk-xxxxxxxx\n```\n\n**优势:**\n- 简单易用\n- 成本降低40%\n- 速度快\n\n### 方案2: 混合部署(推荐进阶)\n\n```python\n# 日常决策用本地模型\nprimary_llm = TradingLLM(\n primary_provider=\"openai\",\n model=\"qwen2.5-72b\",\n base_url=\"http://localhost:8000/v1\"\n)\n\n# 关键决策用官方GPT-4验证\nvalidator_llm = TradingLLM(\n primary_provider=\"openai\",\n model=\"gpt-4-turbo-preview\"\n # 使用官方API\n)\n```\n\n### 方案3: 完全本地(推荐有GPU资源)\n\n```env\nOPENAI_BASE_URL=http://localhost:8000/v1\nOPENAI_API_KEY=EMPTY\n```\n\n配置文件:\n```yaml\nai:\n provider: \"openai\"\n model: \"Qwen/Qwen2.5-72B-Instruct\"\n```\n\n---\n\n**使用第三方API可以大幅降低成本,但要注意选择可靠的服务商。本地部署虽然初期投入大,但长期运行成本最低。🚀**\n\n"}}}}