跳到主要内容
Protokener
开发文档流式响应与工具调用

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