← Přehled / ai-search / api / search
REST API
Pomocí REST API AI Search dotazujte své instance AI Search přes HTTP.
Ověřování
Všechny požadavky vyžadují token API s AI Search:Edit a AI Search:Run oprávnění.
-
V Cloudflare dashboardu přejděte na My Profile > API Tokens.
Přejděte na API Tokens ↗ -
Vyberte Create Token.
-
Vyberte Create Custom Token.
-
Zadejte Název tokenu, například
AI Search Manager. -
V části Oprávnění, přidejte dvě oprávnění:
- Účet > AI Search:Edit
- Účet > AI Search:Run
-
Vyberte Pokračovat k souhrnu, pak vyberte Create Token.
-
Zkopírujte a uložte hodnotu tokenu. Toto je váš
API_TOKEN.
Zahrňte token do Authorization hlavička pro všechny požadavky:
Authorization: Bearer <API_TOKEN>Vyhledávání a chat
AI Search poskytuje dvě rozhraní API pro dotazování instance. Obě používají s OpenAI kompatibilní messages formát.
- Hledat vrací relevantní části obsahu. Použijte tuto možnost, pokud chcete generování řešit sami nebo zobrazovat výsledky přímo.
- Chat completions načte obsah a jedním voláním vygeneruje odpověď.
Cesty API
Rozhraní AI Search API jsou dostupná na dvou základních cestách:
| Cesta | Popis |
|---|---|
/accounts/{account_id}/ai-search/instances/{id}/ |
Pracuje s konkrétní instancí |
/accounts/{account_id}/ai-search/namespaces/{namespace}/instances/{id}/ |
Pracuje s instancemi v rámci namespace |
Následující operace jsou pro obě cesty stejné. API v rámci jmenného prostoru najdete v Referenční dokumentace API jmenného prostoru.
Hledat
Prohledejte konkrétní instanci. Endpoint pro vyhledávání navíc přijímá query řetězcový parametr. Úplnou specifikaci najdete v Referenční dokumentace k API Search.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/instances/<INSTANCE_NAME>/search" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "What is Cloudflare?",
"role": "user"
}
]
}'Chat completions
Vygenerovat odpověď z konkrétní instance. Úplnou specifikaci najdete v Referenční dokumentace k API Chat Completions.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/instances/<INSTANCE_NAME>/chat/completions" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "What is Cloudflare?",
"role": "user"
}
]
}'Streamování
Nastavte stream na true a přijímat tak odpovědi jako Server-Sent Events (SSE). Načtené chunky se odesílají nejprve jako událost chunks událost, po které následuje streamovaná odpověď.
event: chunks
data: [{"id":"chunk-001","type":"text","score":0.85,"text":"...","item":{"key":"about-cloudflare.md","timestamp":1775925540000},"scoring_details":{"vector_score":0.85}}]
data: {"id":"id-1776072781845","created":1776072781,"model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" document"}}]}
data: {"id":"id-1776072781845","created":1776072781,"model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" you provided doesn"}}]}
data: {"id":"id-1776072781845","created":1776072781,"model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"'t contain"}}]}
data: {"id":"id-1776072781845","created":1776072781,"model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" information"}}]}
data: [DONE]Vyhledávání a chat napříč instancemi
API pro vyhledávání a chat completions jsou dostupná i na úrovni jmenného prostoru. Fungují stejně jako endpointy instance, ale místo toho předáváte instance_ids array a určete, které instance se mají dotazovat. Každý fragment v odpovědi obsahuje instance_id je pole, které určuje, ze které instance pochází. Úplnou specifikaci najdete v Referenční dokumentace API jmenného prostoru.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/<NAMESPACE>/search" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "What is Cloudflare?"
}
],
"ai_search_options": {
"instance_ids": ["product-docs", "customer-abc123"]
}
}'