← Přehled / ai-search / configuration / retrieval / public-endpoint
Veřejné endpointy jmenného prostoru
A namespace může mít vlastní veřejný endpoint. Jedna adresa URL pak prohledává několik instancí v daném jmenném prostoru a slučuje výsledky. Použijte ho v případě, že jedno vyhledávací rozhraní má pokrývat obsah rozložený mezi několik instancí, například dokumentaci, blog a podporu.
Endpoint jmenného prostoru obsluhuje stejné cesty a přijímá stejná nastavení jako endpoint instance, včetně vlastní domény a Cloudflare Access. Viz Nastavení veřejného koncového bodu. Tato stránka popisuje specifika jmenných prostorů.
Povolte veřejný endpoint jmenného prostoru
Nastavte public_endpoint_params na jmenném prostoru a uveďte instance, které se mají zpřístupnit v instances_allowed.
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/<NAMESPACE>" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"public_endpoint_params": {
"enabled": true,
"instances_allowed": ["docs", "blog", "support"]
}
}'Odpověď vrací vygenerovanou public_endpoint_id. Hostitelský název jmenného prostoru má předponu ns-:
https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/searchPovolení endpointu jmenného prostoru nemá vliv na endpointy instancí uvnitř něj. Každý z nich se povoluje a zakazuje samostatně.
Allowlist instancí
instances_allowed určuje, ke kterým instancím má endpoint přístup.
- Každá položka musí být existující instancí v daném jmenném prostoru. Neznámá položka vrátí chybu
7097. - Seznam pojme až 10 instancí.
- Prázdný seznam znamená, že nic není prohledávatelné. V tomto stavu se jmenný prostor nachází při prvním povolení endpointu.
- Odstranění instance nebo její přesun do jiného jmenného prostoru ji odebere ze seznamu povolených.
Požadavek, který nesměřuje k žádné prohledatelné instanci, vrátí 404 s chybou 60013. Tato odpověď je stejná bez ohledu na to, zda instance neexistuje, není v seznamu povolených položek, nebo je tento seznam prázdný, takže volající nemohou zjistit, které instance daný jmenný prostor obsahuje.
Vyhledávání v podmnožině instancí
Požadavek ve výchozím nastavení prohledává všechny instance v allowlistu. Chcete-li zúžit jednotlivý požadavek, nastavte ai_search_options.instance_ids v těle požadavku.
curl https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/search \
--header "Content-Type: application/json" \
--data '{
"messages": [
{
"content": "How do I configure AI Search?",
"role": "user"
}
],
"ai_search_options": {
"instance_ids": ["docs", "support"]
}
}'Každá hodnota musí být v allowlistu. Pravidla pro toto pole:
- Vynechání pole nebo jeho nastavení na
null, prohledá se celý allowlist. - Chybně formátovaná hodnota, například prázdné pole nebo položka, která není řetězcem, vrátí
400s chybou60012. - Hodnota mimo seznam povolených vrátí
404s chybou60013.
Zakázání veřejného koncového bodu jmenného prostoru
Nastavte public_endpoint_params na null. Tím se konfigurace vymaže a přestane se obsluhovat provoz, ale identifikátor zůstane zachován, takže se URL adresa znovu použije, pokud endpoint opět povolíte.
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/<NAMESPACE>" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"public_endpoint_params": null
}'Chyby
| Kód | Zpráva | Stav HTTP | Příčina |
|---|---|---|---|
7097 |
instances_allowed_contains_unknown_instances |
400 | Záznam v instances_allowed není instancí v tomto jmenném prostoru. |
7099 |
namespace_modified_concurrently_please_retry |
409 | Jmenný prostor mezitím změnila jiná aktualizace. Zkuste to znovu. |
60012 |
invalid ai_search_options.instance_ids |
400 | instance_ids hodnota je neplatná. |
60013 |
ai_search_not_found |
404 | Žádná prohledávatelná instance neodpovídala požadavku. |
60014 |
path not supported for namespace-kind hash |
404 | Cesta není /search, /chat/completions, nebo /mcp. |
60015 |
request body must be a JSON object |
400 | Tělo požadavku není objekt JSON. |