Pumili ng mga execution provider para sa isang API request
Gamitin ang ShareAI provider object upang pumili ng mga execution provider nang hiwalay mula sa tagalikha ng modelo sa lahat ng apat na inference endpoint.
Sa pahinang ito
Itakda model sa eksaktong identifier na batay sa tagalikha. Idagdag provider kapag nais mong paghigpitan o ranggohin ang imprastrukturang karapat-dapat na magsagawa ng request. Ang pag-aalis nito ay gumagamit ng default na patakaran na price-ascending.
Gumamit ng isang 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());
Gamitin ang mga provider tag na ipinakita para sa napiling modelo. only ay isang mahigpit na paghihigpit: ang pagpayag sa fallback ay hindi kailanman pinapayagan ang isang provider sa labas ng listahang ito.
Gumamit ng parehong patakaran sa bawat inference endpoint#
| Endpoint | Pangunahing input field | Pumili ng modelo na sumusuporta sa |
|---|---|---|
/api/v1/chat/completions | messages | Chat completion |
/api/v1/responses | input | Mga Tugon |
/api/v1/embeddings | input | Mga Embeddings |
/api/v1/images/generations | prompt | Pagbuo ng imahe |
Ang patakaran ng provider ay may parehong kahulugan sa mga endpoint na ito. Ang mga kakayahan ng modelo at provider ay magkakaiba: ang isang chat model ay hindi awtomatikong isang embedding o image model. Kopyahin ang isang karapat-dapat na identifier para sa operasyon mula sa katalogo; ang mga native endpoint ay nangangailangan ng naka-configure na suporta.
Mas gustuhin ang mga pinangalanang provider#
JSON
{
"provider": {
"order": [
"PROVIDER_A",
"PROVIDER_B"
],
"allow_fallbacks": false,
"sort": {
"by": "price",
"direction": "asc"
}
}
}
Palitan PROVIDER_A at PROVIDER_B gamit ang tunay na lowercase na mga provider tag. Sa ordered list na ito at naka-disable na fallback, ang mga nakalistang provider lamang ang karapat-dapat, sa pagkakasunod-sunod na iyon. Ang pangalawang nakalistang provider ay maaari pa ring mapili kung ang una ay hindi magagamit.
Panatilihin ang mga paghihigpit sa kredensyal#
Ang iyong request ay maaaring magpaliit sa mga model at provider na pinapayagan ng isang API key. Hindi nito maaaring bigyan ng access sa labas ng mga pahintulot na iyon. Ang OAuth consent, eligibility sa billing, at availability ng device ay patuloy na nalalapat.
Susunod#
Bawat field ng provider · Pagkakasunod-sunod ng ayos at fallback na pag-uugali
Huling na-update noong Setyembre 16, 2026