Skip to content

AI 核心模块

Bingo 框架内置了强大的 AI 对话模块,提供开箱即用的多厂商支持、流式响应、智能体预设和高可用保障。

🌟 核心能力

  • 多厂商支持:统一接口对接 OpenAI, Claude, Gemini, Qwen (通义千问) 等主流模型。
  • 流式响应 (SSE):支持打字机效果的实时流式输出,提升用户体验。
  • 动态配置:无需重启服务,即可通过数据库动态开启/禁用模型或调整优先级。
  • 智能体预设 (Agents):支持创建不同的 AI 智能体(如翻译官、代码助手),定制 System Prompt 和参数。
  • 高可用机制:内置自动重试(瞬时错误)和故障熔断保护。
  • 状态管理:智能滑动窗口管理历史记录,自动持久化会话。

🚀 快速开始

1. 基础配置

configs/bingo-apiserver.yaml 中配置必要的 API Key(出于安全考虑,敏感信息仅通过文件或环境变量配置):

yaml
ai:
  credentials:
    openai:
      api_key: "${OPENAI_API_KEY}"
    claude:
      api_key: "${CLAUDE_API_KEY}"
    gemini:
      api_key: "${GEMINI_API_KEY}"
    qwen:
      api_key: "${QWEN_API_KEY}"
      base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"

2. 启用模型

AI 模块启动时会自动从数据库加载启用的 Provider 和 Model。你可以通过 SQL 快速启用:

sql
-- 启用 OpenAI
UPDATE ai_provider SET status = 'active' WHERE name = 'openai';

-- 启用 GPT-4o 模型
UPDATE ai_model SET status = 'active' WHERE model = 'gpt-4o';

3. API 调用示例

普通对话:

bash
curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "你好,Bingo"}]
  }'

流式对话 (SSE):

bash
curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Accept: text/event-stream" \
  ...

使用特定智能体:

bash
curl -X POST http://localhost:8080/v1/chat/completions \
  -d '{
    "agentId": "math_teacher",
    "messages": [{"role": "user", "content": "1+1等于几?"}]
  }'

📚 文档导航

  • 架构与核心机制: 深入了解数据模型设计、流式处理、高可用机制、配额系统等核心实现。

Released under the Apache 2.0 License.