API.md 2.1 KB

AI Chat API

简要说明:提供基于外部大模型(当前支持 OpenAI)的简单对话接口。默认路由前缀 /ai,统一使用 JSON 请求/响应,并沿用 service/internal/common/response.Response 包装。

前置条件

  • 配置:config.toml

    [mcp]
    enable = true  # 仅启用 MCP 时会自动注册 ai_chat 工具;HTTP 接口与 MCP 各自独立
    
    [ai]
    enable = true
    provider = "openai"
    model = "gpt-4o-mini"
    api_key_env = "OPENAI_API_KEY"
    
  • 环境变量:启动进程前导出对应的 Key,例如:export OPENAI_API_KEY=sk-...

  • 构建/运行:go build ./...go run ./

通用响应格式

{
  "code": 0,          // 0=成功,非0=失败
  "msg": "ok",       // 简短提示
  "data": {},         // 成功时返回的业务数据
  "error": ""        // 失败时的底层错误信息
}

接口一览

方法 路径 功能
POST /ai/chat 发送用户提示词,获取模型回复

POST /ai/chat

  • 功能:调用外部 AI 模型生成文本回复。
  • Content-Type: application/json

请求体

字段 类型 必填 说明
prompt string 用户输入内容
system string 系统指令/角色设定
model string 覆盖默认模型(不填则使用配置中的 ai.model

成功响应

data 字段为:

{
  "text": "模型生成的回复文本"
}

完整示例:

{
  "code": 0,
  "msg": "ok",
  "data": {"text": "SQL 索引用于加速查询..."}
}

失败示例

{
  "code": 2,
  "msg": "AI 调用失败",
  "error": "openai request failed: status 401"
}

cURL 示例

curl -X POST http://127.0.0.1:8080/ai/chat \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "解释 SQL 索引的作用",
    "system": "你是数据库助手"
  }'

MCP ai_chat(补充说明)

[mcp].enable=true 时,MCP 服务会注册工具 ai_chat(与 HTTP 路由独立)。参数含义与 HTTP 相同,客户端通过 MCP 协议的 tools/call 请求调用。