为 API 请求选择执行提供者
使用ShareAI提供者对象独立选择执行提供者,而无需依赖模型创作者,在所有四个推理端点中均可实现。
本页面内容
设置 model 到确切的基于创作者的标识符。添加 provider 当您希望限制或排序有资格执行请求的基础设施时。省略它将使用默认的价格升序策略。
使用一个提供者#
cURL
curl --fail-with-body --request POST \
"https://api.shareai.now/api/v1/chat/completions" \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"provider": {
"only": [
"shareai"
],
"allow_fallbacks": false
},
"model": "openai/gpt-5.4",
"messages": [
{
"role": "user",
"content": "Explain model routing in one sentence."
}
]
}'
Python
import json
import os
import urllib.request
headers = {"Authorization": "Bearer " + os.environ["SHAREAI_API_KEY"]}
headers["Content-Type"] = "application/json"
payload = {'provider': {'only': ['shareai'], 'allow_fallbacks': False}, 'model': 'openai/gpt-5.4', 'messages': [{'role': 'user', 'content': 'Explain model routing in one sentence.'}]}
data = json.dumps(payload).encode()
request = urllib.request.Request('https://api.shareai.now/api/v1/chat/completions', data=data, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=60) as response:
print(json.load(response))
TypeScript
const url = "https://api.shareai.now/api/v1/chat/completions";
const headers: Record = {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
};
headers["Content-Type"] = "application/json";
const payload = {
"provider": {
"only": [
"shareai"
],
"allow_fallbacks": false
},
"model": "openai/gpt-5.4",
"messages": [
{
"role": "user",
"content": "Explain model routing in one sentence."
}
]
};
const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) });
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());
使用所选模型显示的提供者标签。 only 是一个严格限制:允许回退永远不会允许超出此列表的提供者。
在每个推理端点上使用相同的策略#
| 端点 | 主输入字段 | 选择支持的模型 |
|---|---|---|
/api/v1/chat/completions | messages | 聊天完成 |
/api/v1/responses | input | 响应 |
/api/v1/embeddings | input | 嵌入 |
/api/v1/images/generations | prompt | 图像生成 |
提供者策略在这些端点上的含义相同。模型和提供者功能不同:聊天模型并非自动支持嵌入或图像模型。从目录中复制操作的合格标识符;原生端点需要配置支持。
优先选择命名提供者#
JSON
{
"provider": {
"order": [
"PROVIDER_A",
"PROVIDER_B"
],
"allow_fallbacks": false,
"sort": {
"by": "price",
"direction": "asc"
}
}
}
替换 PROVIDER_A 和 PROVIDER_B 使用真实的小写提供者标签。使用此排序列表并禁用回退,仅列出的提供者有资格,按顺序排列。如果第一个提供者不可用,第二个列出的提供者仍然可以被选择。
保持凭证限制#
您的请求可以缩小 API 密钥允许的模型和提供者范围。它不能授予超出这些权限的访问权限。OAuth 同意、计费资格和设备可用性仍然适用。
下一步#
最后更新于 2026 年 9 月 16 日