Skip to content

Python SDK 教程

安装

bash
pip install openai

基础对话

python
from openai import OpenAI
client = OpenAI(api_key="your-key", base_url="https://api.osp.io/v1")
resp = client.chat.completions.create(model="gpt-4o", messages=[{"role": "user", "content": "你好"}])
print(resp.choices[0].message.content)

Function Calling

python
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "北京天气怎么样?"}],
    tools=[{"type": "function", "function": {"name": "get_weather", "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}}}]
)
print(resp.choices[0].message.tool_calls)

识图

python
import base64
with open("screenshot.png", "rb") as f:
    img = base64.b64encode(f.read()).decode()
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": [{"type": "text", "text": "描述截图"}, {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img}"}}]}]
)

流式

python
stream = client.chat.completions.create(model="gpt-4o", messages=[{"role": "user", "content": "写一首小诗"}], stream=True)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Claude 原生格式

python
resp = client.chat.completions.create(
    model="claude-sonnet-4",
    messages=[{"role": "system", "content": "你是一个技术写作者"}, {"role": "user", "content": "解释RISC-V"}],
    max_tokens=1024,
    extra_headers={"x-api-version": "2023-06-01"}
)