主流大模型API协议和标准详解

主流大模型API协议和标准详解

随着大语言模型(LLM)的快速发展,各类AI服务提供商和开源项目涌现,它们各自实现了不同的API协议。了解这些协议对于开发者接入AI能力至关重要。本文将详细介绍当前主流的大模型API协议和标准。

1. OpenAI 兼容协议

OpenAI 作为大模型领域的先行者,其API设计已成为事实上的行业标准。大多数开源推理服务和云厂商都提供了OpenAI兼容的API。

核心端点

POST https://api.openai.com/v1/chat/completions  # 聊天补全
POST https://api.openai.com/v1/completions       # 文本补全
POST https://api.openai.com/v1/embeddings        # 向量嵌入

请求示例

{
  "model": "gpt-4",
  "messages": [
    {"role": "user", "content": "你好,请介绍一下自己"}
  ],
  "temperature": 0.7,
  "stream": false
}

响应格式

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-4",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "你好!我是..."
    },
    "finish_reason": "stop"
  }]
}

兼容服务

以下开源项目和云服务都支持OpenAI兼容协议:

  • vLLM - 高性能推理框架
  • Ollama - 本地大模型运行工具
  • Text Generation WebUI - 图形化推理界面
  • SiliconFlow - 国内AI云服务
  • OpenRouter - 聚合多模型API

2. Anthropic Claude API

An Anthropic推出的Claude模型使用了独特的API设计,特别强调安全性和可控性。

核心特点

  • 使用 messages 端点而非 completions
  • 支持 system 角色用于系统提示词
  • 引入 max_tokens 限制输出长度
  • 提供 stop_sequences 参数控制输出

请求示例

{
  "model": "claude-3-opus-20240229",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "请介绍一下大模型API协议"
    }
  ]
}

3. Google Gemini API

Google的Gemini模型通过Gemini API提供服务,支持多模态输入。

核心端点

POST https://generativelanguage.googleapis.com/v1/models/{model}:generateContent

特点

  • 原生支持多模态(文本、图像、视频)
  • 使用 contents 而非 messages
  • 支持 generationConfig 精细控制

4. Azure OpenAI API

微软Azure提供的OpenAI服务,在OpenAI官方API基础上增加了企业级特性。

核心端点

POST https://{resource}.openai.azure.com/openai/deployments/{deployment}/chat/completions?api-version=2024-02-15-preview

特点

  • 需要API密钥和资源端点
  • 支持Azure AD认证
  • 提供内容安全审核
  • 符合企业合规要求

5. 本地部署方案

Ollama

Ollama让本地运行大模型变得简单,默认兼容OpenAI API:

# 启动服务
ollama serve

# API调用
curl http://localhost:11434/v1/chat/completions \
  -d '{
    "model": "llama2",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

vLLM

vLLM是高性能的推理服务,支持PagedAttention技术。

# 启动服务
vllm serve Q/Qwen2.5-7B-Instruct

# API调用
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Q/Qwen2.5-7B-Instruct",
    "messages": [{"role": "user", "content": "你好"}]
  }'

6. 流式响应 (Server-Sent Events)

大多数API都支持流式输出,通过 stream: true 参数启用:

{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "写一个故事"}],
  "stream": true
}

响应采用SSE格式:

data: {"choices":[{"delta":{"content":"从"},"index":0}]}

data: {"choices":[{"delta":{"content":"前"},"index":0}]}

data: [DONE]

7. 如何选择?

场景推荐方案
快速原型OpenAI官方API
国内访问SiliconFlow、OpenRouter
企业级应用Azure OpenAI
隐私敏感Ollama本地部署
高并发生产vLLM

总结

大模型API虽然各有特色,但OpenAI兼容协议已成为行业事实标准。掌握这一协议可以轻松对接各种AI服务。根据实际需求(性能、成本、隐私、合规)选择合适的方案即可。


希望这篇文章能帮助你更好地理解大模型API协议。如果有任何问题,欢迎留言讨论!

评论区: