Protokener / DOCUMENTATION
流式响应与工具调用
逐步读取结果,让长响应和工具调用正确完成。
示例使用占位密钥;模型与价格以实时目录为准。
流式读取
支持流式的模型可设置 stream: true。响应使用 SSE,应按所选协议持续读取,不要把每个网络块当成一个完整 JSON。Chat Completions、Responses 与 Messages 的事件格式不同。
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["PROTOKENER_API_KEY"], base_url="https://protokener.com/v1")
stream = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Hello"}],
stream=True,
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")工具调用边界
本地客户端执行的文件读取、终端等工具与模型的工具调用能力相关。模型返回调用参数不等于网关已执行该工具;客户端应聚合完整参数后执行并回传结果。上游代执行且费用无法确定的工具可能被保护性拦截,不要照搬其他平台的搜索或代码执行扩展。
连接断开与费用
中途断开不代表上游没有产生用量,也不保证免费。先检查使用记录,再决定是否重新请求;不要将已输出内容的请求无条件自动重试。
资料来源:server/src/relay/relay.service.ts · front/src/components/direct-api-guide.tsx