程序员应该熟悉的概念(2)OpenAI API

大名鼎鼎的 OpenAI 发布之后,其 OpenAI API规范 逐渐成了事实上的工业标准,很多大模型API都兼容这个规范。这也就意味着:OpenAI的SDK可以使用很多大模型。

兼容 OpenAI API规范 的大模型API包括:百炼、本地部署的Ollama、Anthropic(Claude 系列)、Mistral、Google DeepMind (Gemini)、Cohere、xAI(Elon Musk 团队)...

下面我们简单了解一下 OpenAI API规范

基本设计理念

  • 统一接口:无论是 Chat、Embedding、Image 还是 TTS,接口格式尽量保持一致。

  • RESTful + JSON:请求/响应都采用 HTTP + JSON。

  • 流式返回:支持 SSE (Server-Sent Events) 流式输出,便于逐字生成。

常见 API 规范

1. Chat Completions (聊天接口)

路径:

bash 复制代码
POST /v1/chat/completions

请求:

json 复制代码
{
  "model": "gpt-4o-mini",
  "messages": [
    {"role": "system", "content": "你是一个有帮助的助手"},
    {"role": "user", "content": "你好,请介绍一下你自己"}
  ],
  "temperature": 0.7,
  "stream": false
}

响应:

json 复制代码
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1690000000,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "你好!我是一个AI助手。"},
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

关键字段

  • messages:对话上下文数组

  • temperature:控制随机性(0-1,数值越大随机性越高)

  • stream:是否流式返回

2. Embeddings (向量生成)

路径:

bash 复制代码
POST /v1/embeddings

请求:

json 复制代码
{
  "model": "text-embedding-3-small",
  "input": "这是一个测试"
}

响应:

css 复制代码
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [0.0123, -0.0456, ...],
      "index": 0
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "total_tokens": 5
  }
}

3. Images (图像生成/编辑)

路径:

bash 复制代码
POST /v1/images/generations

请求:

json 复制代码
{
  "model": "gpt-image-1",
  "prompt": "一只戴着墨镜的猫",
  "size": "512x512",
  "n": 1
}

响应:

json 复制代码
{
  "created": 1690000000,
  "data": [
    {
      "url": "https://..."
    }
  ]
}

4. Audio (语音转文本 / 文本转语音)

语音转文本 (Whisper)

bash 复制代码
POST /v1/audio/transcriptions

上传音频文件,返回文字。

文本转语音 (TTS)

bash 复制代码
POST /v1/audio/speech

输入文本,返回音频流。

通用字段:

  • model:指定模型名(如 gpt-4o-mini、qwen3 等)

  • usage:返回 token 使用量

  • id:唯一请求ID

  • object:返回对象类型

  • created:时间戳

可以用 postman 或者 Apifox 模拟上述操作。如果在本地搭建一个 Ollama ,装上一个开源大模型,模拟操作会更容易,因为这种情形下不需要访问 api-key 。

用python访问多种大模型

大多数兼容实现(如 Ollama、vLLM、LM Studio、OpenRouter、FastChat 等)都遵循这个规范,所以只要:

bash 复制代码
pip install openai

然后:

python 复制代码
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="your-key")

resp = client.chat.completions.create(
    model="qwen3",
    messages=[{"role": "user", "content": "你好"}]
)
print(resp.choices[0].message.content)

就能直接用。

使用不同大模型API服务时,只要修改 base_url、api_key、model即可,对于本地部署的 Ollama ,只需要设置 base_url(通常为:http://localhost:11434/v1),无需设置 api_key 。

总结

通过以上对 OpenAI API 的简单介绍,我们可以发现它的实现简洁明了,由于兼容的大模型API比较多,我们可以很方便的用它来实现一个通用的大语言模型客户端。


🪐祝好运🪐

相关推荐
Hui Baby9 分钟前
Spring Security
java·后端·spring
imbackneverdie30 分钟前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
agent喵44 分钟前
从知识库问答到业务自动化:AI Agent 工作流搭建经验分享
人工智能
周末程序猿1 小时前
图解 120 个大语言模型(LLM)核心概念(1-30)
人工智能
EQUINOX11 小时前
【论文阅读】| MoCo精读
论文阅读·人工智能·python·深度学习·机器学习
逝水无殇1 小时前
C# 运算符重载详解
开发语言·后端·c#
苏三说技术1 小时前
2026编程圈很火的10个Skills
后端
用户8356290780511 小时前
使用 Python 自动化 Excel 公式和函数:完整指南
后端·python
刘一说1 小时前
AI科技热点日报 | 2026年07月09日
人工智能·科技
LYFlied2 小时前
Anthropic Agent隔离架构解读:比权限弹窗更可靠的是限制爆炸半径
人工智能·架构·软件工程·claude·安全架构·ai agent