Python 调用 GPT88 API 完整示例

用 OpenAI 官方 Python SDK 调用 GPT88 API,包含同步、流式和错误排查示例。

安装与配置

直接使用 OpenAI 官方 SDK 即可,不需要任何 gpt88 私有依赖。 建议 1.40 及以上版本,能完整支持流式 / tools / response_format。

请将下方脚本中的 sk-xxx 替换为你在 Agent API Keys 控制台「API Keys」页面创建的 Key。

bash
pip install openai>=1.40.0

# 注入 API Key(推荐使用环境变量而不是硬编码)
export GPT88_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

基础调用

basic.pypython
from openai import OpenAI

# 唯一的差异:base_url 指向 gpt88.cc
client = OpenAI(
    base_url="https://api.gpt88.cc",
    api_key="YOUR_GPT88_API_KEY",  # 或读 os.environ["GPT88_API_KEY"]
)

resp = client.chat.completions.create(
    model="claude-opus-4-7",
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "用 30 字介绍 gpt88.cc"},
    ],
    temperature=0.7,
    max_tokens=1024,
)

print(resp.choices[0].message.content)
print("usage:", resp.usage.total_tokens, "tokens")

流式响应

stream.pypython
stream = client.chat.completions.create(
    model="claude-opus-4-7",
    stream=True,
    messages=[{"role": "user", "content": "讲一个关于 API 网关的冷笑话"}],
)

for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)
print()  # 换行

function calling

tools.pypython
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "查询某个城市的当前天气",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

resp = client.chat.completions.create(
    model="claude-opus-4-7",
    messages=[{"role": "user", "content": "上海现在几度?"}],
    tools=tools,
    tool_choice="auto",
)

tc = resp.choices[0].message.tool_calls
if tc:
    print("model wants to call:", tc[0].function.name, tc[0].function.arguments)

当模型返回 tool_calls 时,由你的应用执行工具, 再把结果以 role: "tool" 消息回传给模型,发起下一轮请求。

错误处理与重试

retry.pypython
import time
from openai import OpenAI, RateLimitError, APIStatusError

client = OpenAI(base_url="https://api.gpt88.cc")

def call_with_retry(messages, model="claude-opus-4-7", max_retries=3):
    """简易退避重试包装:仅对可重试错误退避。"""
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(
                model=model,
                messages=messages,
            )
        except RateLimitError:
            # 429:尊重 Retry-After,简单退避即可
            time.sleep(2 ** attempt)
        except APIStatusError as e:
            # 5xx 才退避,4xx 直接抛出
            if 500 <= e.status_code < 600:
                time.sleep(2 ** attempt)
            else:
                raise
    raise RuntimeError("max retries exceeded")

完整错误码语义见 错误码 页。

异步用法

高并发或在 FastAPI / asyncio 应用中,建议直接使用 AsyncOpenAI

async.pypython
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(base_url="https://api.gpt88.cc")

async def main():
    resp = await client.chat.completions.create(
        model="claude-opus-4-7",
        messages=[{"role": "user", "content": "hi"}],
    )
    print(resp.choices[0].message.content)

asyncio.run(main())

问题是什么

Python 接入最容易出错的是 base_url、环境变量、模型名和流式响应读取方式。下面的配置使用 OpenAI 官方 SDK。

最短可用配置

.envbash
python -m pip install --upgrade openai
export OPENAI_API_KEY=sk-替换为你创建的Key
export OPENAI_BASE_URL=https://api.gpt88.cc/v1
export OPENAI_MODEL=gpt-5.6-sol

API Key 只放在服务端环境变量或密钥管理器中,不要提交到 Git、截图、浏览器前端或公开 issue。

完整示例(curl / Python / Node.js)

request.shbash
curl https://api.gpt88.cc/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-sol","messages":[{"role":"user","content":"返回 OK"}],"max_tokens":32}'
request.pypython
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    base_url=os.getenv("OPENAI_BASE_URL", "https://api.gpt88.cc/v1"),
)
response = client.chat.completions.create(
    model=os.getenv("OPENAI_MODEL", "gpt-5.6-sol"),
    messages=[{"role": "user", "content": "返回 OK"}],
    max_tokens=32,
)
print(response.choices[0].message.content)
request.mjsjavascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL ?? "https://api.gpt88.cc/v1",
});
const response = await client.chat.completions.create({
  model: process.env.OPENAI_MODEL ?? "gpt-5.6-sol",
  messages: [{ role: "user", content: "返回 OK" }],
  max_tokens: 32,
});
console.log(response.choices[0].message.content);

常见错误

  • ModuleNotFoundError:确认当前虚拟环境已安装 openai。
  • 401:检查 Key 是否为空、带空格或被错误环境变量覆盖。
  • 404:base_url 使用 /v1,不要把 /chat/completions 重复写入。
  • 流式没有文字:读取 chunk.choices[0].delta.content。

价格和计费说明

请求按人民币余额结算,不同模型和分组可能有不同倍率;输入、输出、图片和视频请求以控制台实时计费规则为准。

立即创建 API Key