openai-python

openai-python

OpenAI 官方 Python 库,支持 Responses 接口

核心功能

openai 是 OpenAI 官方 Python 库,为 REST API 提供类型化封装。创建客户端后可用 responses.create() 或 chat.completions.create() 发起请求,也支持 AsyncOpenAI 异步调用与流式输出,需 Python 3.10+。

功能亮点

两套接口

既支持 Responses 接口,也兼容 chat.completions 写法

异步支持

AsyncOpenAI 与同步客户端功能一致,直接用 await 调用

流式输出

加上 stream=True 后可逐个事件遍历,边生成边展示结果

后端可选

装 openai[aiohttp] 额外依赖即可切换底层 HTTP 后端

自定义模型 / 模型接入

支持自定义网关

官方SDK,默认读OPENAI_API_KEY;可用base_url或OPENAI_BASE_URL指向任意兼容端点,另有AzureOpenAI类。

接入方式
  • 官方API:读OPENAI_API_KEY构造OpenAI()
  • 自定义端点:base_url参数或OPENAI_BASE_URL环境变量
  • Azure:用AzureOpenAI类,配azure_endpoint
  • 变量:AZURE_OPENAI_ENDPOINT、OPENAI_API_VERSION
  • 异步客户端:AsyncOpenAI同样支持base_url与api_key
支持模型
gpt-5.5gpt-4ogpt-realtime-2Azure部署名Bedrock上的OpenAI模型兼容端点自定义模型
bash
把官方SDK指向国产模型或自建网关的OpenAI兼容端点
pip install openai
export OPENAI_BASE_URL="https://<compatible-endpoint>/v1"
export OPENAI_API_KEY="your_api_key_here"
代码中直接构造,SDK自动读取环境变量
from openai import OpenAI
client = OpenAI()
resp = client.chat.completions.create(model="<model-name>", messages=[{"role": "user", "content": "Hello!"}])
也可在代码里显式指定端点
client = OpenAI(base_url="http://my.test.server.example.com:8083/v1")
走Azure OpenAI时换客户端类
from openai import AzureOpenAI
client = AzureOpenAI(api_version="2023-07-01-preview", azure_endpoint="https://example-endpoint.openai.azure.com")

适用场景

• 在 Python 服务中接入 GPT 模型
• 批量生成或改写文本内容
• 异步并发处理大量模型请求
• 对接 OpenAI 兼容的自建端点

安装配置

bash
pip install openai

# 使用 aiohttp 异步后端
pip install openai[aiohttp]

# Amazon Bedrock 可选依赖
pip install 'openai[bedrock]'

使用方法

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),
)

response = client.responses.create(
    model="gpt-5.5",
    instructions="You are a coding assistant that talks like a pirate.",
    input="How do I check if a Python object is an instance of a class?",
)
print(response.output_text)

# Chat Completions 写法
completion = client.chat.completions.create(
    model="gpt-5.5",
    messages=[
        {"role": "developer", "content": "Talk like a pirate."},
        {"role": "user", "content": "How do I check if a Python object is an instance of a class?"},
    ],
)
print(completion.choices[0].message.content)

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标openai-python
价格免费
开源
上手难度入门
Token 消耗

相关工具

同类工具

优点

  • OpenAI 官方维护,新接口和新参数发布后基本第一时间可用
  • 全量类型标注,IDE 里能直接补全请求参数与响应字段
  • 同步 OpenAI 与异步 AsyncOpenAI 用法一致,改造并发只需少量改动
  • 可按需装 openai[aiohttp] 或 openai[bedrock] 等额外依赖扩展能力

缺点

  • 只面向 OpenAI 及兼容端点,要接别家模型得换库或前置网关
  • 库免费但 API 调用按 token 计费,还需自备可用的付费账号
  • 要求 Python 3.10 及以上,较老的生产环境需先升级解释器
  • Responses 与 chat.completions 两套接口并存,新手容易选错