文本生成
沿用熟悉的文本协议,构建对话、写作与代码应用。
先在模型详情中确认该模型支持的协议。下面的模型环境变量应分别指向支持对应协议的已发布模型。
Chat Completions
POST/v1/chat/completions
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OCEANWAY_API_KEY"],
base_url="https://console.oceanway.tech/v1",
max_retries=0,
)
completion = client.chat.completions.create(
model=os.environ["OCEANWAY_TEXT_MODEL"],
messages=[
{"role": "system", "content": "你是一位简洁的写作助手。"},
{"role": "user", "content": "写一句关于海洋的诗。"},
],
max_tokens=128,
)
print(completion.choices[0].message.content)用 messages 保存对话上下文。多轮对话时,由你的应用按需要携带前文;不要把连接中断或请求错误文本作为 assistant 的正常回答加入历史。
Responses
POST/v1/responses
python
response = client.responses.create(
model=os.environ["OCEANWAY_RESPONSES_MODEL"],
input="用三句话解释潮汐。",
max_output_tokens=128,
store=False,
)
print(response.output_text)Responses 使用 input 与 max_output_tokens。不要直接复用 Chat Completions 的 messages 请求体。工具和其他扩展能力需同时满足模型及平台当前开放范围。
Messages
POST/v1/messages
bash
curl --fail-with-body https://console.oceanway.tech/v1/messages \
-H "x-api-key: $OCEANWAY_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
--data "{\"model\":\"$OCEANWAY_MESSAGES_MODEL\",\"max_tokens\":128,\"messages\":[{\"role\":\"user\",\"content\":\"写一句关于海洋的诗。\"}]}"Messages 要求 max_tokens。系统提示词与返回内容结构遵循 Messages 协议,不从 choices 读取结果。
Gemini
POST/v1beta/models/{model}:generateContent
bash
curl --fail-with-body \
"https://console.oceanway.tech/v1beta/models/$OCEANWAY_GEMINI_MODEL:generateContent" \
-H "x-goog-api-key: $OCEANWAY_API_KEY" \
-H "Content-Type: application/json" \
--data '{"contents":[{"role":"user","parts":[{"text":"用一句话解释潮汐。"}]}],"generationConfig":{"maxOutputTokens":128}}'模型 ID 放在路径中,请求主体使用 contents 与 parts。示例适用于普通文本;图像输出、工具等能力按具体模型的说明设置。
参数与用量
最大输出、温度和工具等参数因模型而异。优先从模型详情提供的最小示例开始,再逐项增加参数。响应中的 usage、usageMetadata 等字段遵循各自协议。
非流式请求已开始后,关闭客户端不会取消服务端处理。流式响应和取消行为见 流式响应。