97 lines
2.3 KiB
Markdown
97 lines
2.3 KiB
Markdown
# AI Provider Service
|
||
|
||
`aiprovider` 是独立的模型适配服务,负责把项目内部的分析请求转发到具体的大模型供应商。
|
||
|
||
完整使用说明见:
|
||
|
||
- [AI Provider 指南](../docs/technical/zh/agents-aiprovider.md)
|
||
|
||
当前支持:
|
||
|
||
- provider identity:
|
||
- `AI_PROVIDER=openai`
|
||
- `AI_PROVIDER=anthropic`
|
||
- `AI_PROVIDER=minimax`
|
||
- `AI_PROVIDER=ollama`
|
||
- request adapter:
|
||
- `AI_PROVIDER_API=openai-completions`
|
||
- `AI_PROVIDER_API=openai-responses`
|
||
- `AI_PROVIDER_API=anthropic-messages`
|
||
- `AI_PROVIDER_API=ollama-generate`
|
||
|
||
兼容别名仍然保留:
|
||
|
||
- `openai_compatible`
|
||
- `anthropic_compatible`
|
||
- `claude_compatible`
|
||
|
||
典型配置:
|
||
|
||
```env
|
||
AI_PROVIDER=openai
|
||
AI_PROVIDER_API=openai-completions
|
||
AI_BASE_URL=https://api.openai.com/v1
|
||
AI_API_KEY=your_api_key
|
||
AI_MODEL=gpt-4o-mini
|
||
AI_TIMEOUT_SECONDS=60
|
||
AI_PROVIDER_SERVICE_TOKEN=change_me
|
||
```
|
||
|
||
MiniMax 中国大陆节点示例:
|
||
|
||
```env
|
||
AI_PROVIDER=minimax
|
||
AI_PROVIDER_API=anthropic-messages
|
||
AI_BASE_URL=https://api.minimaxi.com/anthropic
|
||
AI_API_KEY=sk-cp-xxxxx
|
||
AI_MODEL=MiniMax-M2.7
|
||
AI_TIMEOUT_SECONDS=60
|
||
AI_MAX_TOKENS=1200
|
||
AI_ANTHROPIC_VERSION=2023-06-01
|
||
AI_PROVIDER_SERVICE_TOKEN=change_me
|
||
```
|
||
|
||
适用场景:
|
||
|
||
- Anthropic 官方 Claude API
|
||
- Claude 兼容网关
|
||
- MiniMax 等提供 Anthropic Messages 风格接口的服务
|
||
|
||
这套命名方式参考了 OpenClaw 的接入模式: provider 负责标识供应商, `AI_PROVIDER_API` 负责标识协议适配层, 避免把“供应商”和“协议”绑死在一起。
|
||
|
||
Ollama 原生示例:
|
||
|
||
```env
|
||
AI_PROVIDER=ollama
|
||
AI_PROVIDER_API=ollama-generate
|
||
AI_BASE_URL=http://127.0.0.1:11434
|
||
AI_API_KEY=
|
||
AI_MODEL=qwen2.5:7b
|
||
AI_TIMEOUT_SECONDS=60
|
||
AI_PROVIDER_SERVICE_TOKEN=change_me
|
||
```
|
||
|
||
本地模型接入建议:
|
||
|
||
- `vLLM`、`LM Studio`、`One API`:`AI_PROVIDER=openai` + `AI_PROVIDER_API=openai-completions`
|
||
- `MiniMax`、Claude 兼容网关:`AI_PROVIDER=minimax|anthropic` + `AI_PROVIDER_API=anthropic-messages`
|
||
- `Ollama`:可直接使用 `ollama`
|
||
|
||
启动模板:
|
||
|
||
- `aiprovider/.env.example`
|
||
- `docker-compose.local-model.yml`
|
||
|
||
跨服务调用补充:
|
||
|
||
- 业务服务优先调用主后端 `/api/v1/ai/...`
|
||
- 直接调用 `aiprovider` 时使用 `X-Provider-Token`
|
||
- 支持 `X-Request-ID` 透传
|
||
- 内置轻量重试,适合跨机器 HTTP RPC 场景
|
||
|
||
接口:
|
||
|
||
- `GET /health`
|
||
- `GET /v1/provider/status`
|
||
- `POST /v1/analyze`
|