# AI 复盘与模型配置说明 四个 `crypto_monitor_*` 实例共用仓库根目录 **`ai_client.py`**(通过 `PYTHONPATH=..` 导入)。用于 **交易记录与复盘** 页的 AI 点评、短评建议,以及从复盘截图提取结构化 JSON。 --- ## 一、二选一:`AI_PROVIDER` | 值 | 说明 | |----|------| | **`openai`**(默认) | OpenAI 兼容 **Chat Completions** 接口 | | **`ollama`** | 本机 Ollama **`/api/generate`**(流式 NDJSON) | 在对应子目录 **`.env`** 中设置(各所 `.env.example` 已含模板): ```bash AI_PROVIDER=openai AI_TIMEOUT_SECONDS=120 # OpenAI 兼容网关(默认) OPENAI_API_BASE=https://op.bz121.com/v1 OPENAI_API_KEY=你的密钥 OPENAI_MODEL=gemma4:e4b # 本机 Ollama(仅当 AI_PROVIDER=ollama) OLLAMA_API=http://127.0.0.1:11434/api/generate AI_MODEL=huihui_ai/deepseek-r1-abliterated:latest ``` ### OpenAI 兼容网关 - **Base URL**:`https://op.bz121.com/v1`(请求路径为 `{base}/chat/completions`)。 - **API Key**:在 [op.bz121.com](https://op.bz121.com/) 登录后,于 **`gateway.json`** 页面复制(与网关账号一致)。 - **默认模型**:`gemma4:e4b`(可通过 `OPENAI_MODEL` 覆盖)。 ### Ollama - 需本机已安装并拉取对应模型;`AI_PROVIDER=ollama` 时使用 `OLLAMA_API` 与 `AI_MODEL`。 - 四所 `app.py` **不再** 直连 Ollama;统一走 `ai_client.ai_generate` / `ai_review` / `ai_short_advice`。 --- ## 二、部署注意 1. **PM2 / 手工启动**:`ecosystem.config.cjs` 中 **`PYTHONPATH=..`** 必须包含仓库根,否则无法 `from ai_client import ...`。 2. 修改 `.env` 后重启对应实例,例如:`pm2 restart crypto_binance`(名称以你机器为准)。 3. **`git pull`** 不会改 `.env`;若 `.env.example` 新增 AI 变量,请手动补进本机 `.env`。 4. **勿** 将含真实 `OPENAI_API_KEY` 的 `.env` 提交 Git。 --- ## 三、功能入口(网页) 登录后进入 **「交易记录与复盘」**: - 单条记录 **AI 复盘** / **短评**(依赖上述配置)。 - 上传复盘图后 **从图片提取** 字段(内部调用 `ai_generate`,与所选 provider 一致)。 若请求超时或返回错误,请检查:密钥是否有效、网关是否可达、`AI_TIMEOUT_SECONDS` 是否过短、Ollama 是否已启动(仅 ollama 模式)。 --- ## 四、相关文件 | 路径 | 说明 | |------|------| | `ai_client.py` | 统一封装 OpenAI / Ollama | | `crypto_monitor_*/.env.example` | 各所环境变量模板 | | 各所《部署文档.md》§ AI 复盘 | 与本文一致的简表 | | 各所《使用说明.md》 | 运行前配置中的 AI 项 |