POST
/v1/chat/completions生成回复
在 messages 中发送对话,并通过准确的 ID 选择模型。这些示例使用 GLM 5.3 Flash。
按照首次请求指南安装 openai 包并设置 UNCENSURED_API_KEY。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://uncensuredai.com/v1",
api_key=os.environ["UNCENSURED_API_KEY"],
)
response = client.chat.completions.create(
model="glm-5.3-flash-abliterated",
messages=[{"role": "user", "content": "Scrivi un breve saluto in italiano."}],
reasoning_effort="low",
max_tokens=4096,
)
print(response.choices[0].message.content)示例中的字段
| 字段 | 使用方法 |
|---|---|
model | 使用你的密钥调用 GET /v1/models 后返回的准确模型 ID。 |
messages | 消息列表,每条消息包含 role 和 content。 |
max_tokens | 输出预算,可能包含推理 token。示例使用 4096。 |
reasoning_effort | 所选模型支持的推理级别。此示例为 GLM Flash 使用 low。 |
stream | 设为 true,以分块形式逐步接收回复。 |
OpenAI 兼容性是指 Chat Completions。图像、工具、上下文限制和推理选项取决于模型和客户端。
读取回复
生成的文本位于 choices[0].message.content。通过 finish_reason 了解生成结束原因,通过 usage 查看报告的 token 数量。
print(response.choices[0].message.content)
print(response.choices[0].finish_reason)
print(response.usage)POST
/v1/chat/completions实时显示回复文本
复用 Python 示例中的客户端并启用流式输出。每个事件可能只包含回复的一部分。
stream = client.chat.completions.create(
model="glm-5.3-flash-abliterated",
messages=[{"role": "user", "content": "Ciao!"}],
reasoning_effort="low",
max_tokens=4096,
stream=True,
)
for chunk in stream:
if chunk.choices:
text = chunk.choices[0].delta.content
if text:
print(text, end="", flush=True)
print()部分事件不包含文本。显示每个分块前,请检查 choices 和 delta.content。
GET
/v1/models查找你的密钥可用的模型
复用 Python 客户端列出模型 ID。此操作检查连接,不会生成回复。
models = client.models.list()
for model in models.data:
print(model.id)通过密钥获取的模型列表决定你可用的模型。公开能力目录则单独说明已确认的限制和推理设置。
打开模型能力目录