Files
planet/aiprovider

AI Provider Service

aiprovider 是独立的模型适配服务,负责把项目内部的分析请求转发到具体的大模型供应商。

完整使用说明见:

当前支持:

  • AI_PROVIDER=openai
  • AI_PROVIDER=openai_compatible
  • AI_PROVIDER=anthropic
  • AI_PROVIDER=anthropic_compatible
  • AI_PROVIDER=claude_compatible
  • AI_PROVIDER=ollama

典型配置:

AI_PROVIDER=openai_compatible
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

Claude 兼容供应商示例:

AI_PROVIDER=claude_compatible
AI_BASE_URL=https://your-claude-compatible-endpoint.example.com
AI_API_KEY=your_api_key
AI_MODEL=your-claude-compatible-model
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 等提供 Claude/Anthropic 风格消息接口的服务

Ollama 原生示例:

AI_PROVIDER=ollama
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

本地模型接入建议:

  • vLLMLM StudioOne API:优先使用 openai_compatible
  • MiniMax、Claude 兼容网关:使用 claude_compatible
  • 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