INTEGRITY Документация

Публичные конечные точки пространства имён

A пространство имён может открывать собственный публичный эндпойнт. Единый URL-адрес при этом выполняет поиск сразу по нескольким экземплярам в этом пространстве имён и объединяет результаты. Используйте его, если единый интерфейс поиска должен охватывать контент, распределённый по нескольким экземплярам, например документацию, блог и портал поддержки.

Эндпойнт пространства имён обслуживает те же пути и принимает те же настройки, что и эндпойнт экземпляра, включая пользовательские домены и Cloudflare Access. См. Настройки публичной конечной точки. На этой странице описаны особенности пространств имён.

Включить публичную конечную точку пространства имён

Задайте public_endpoint_params на пространстве имён и укажите экземпляры, которые нужно открыть в 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"]
    }
  }'

Ответ возвращает сгенерированный public_endpoint_id. Имя хоста пространства имён имеет префикс ns-:

https://ns-<NAMESPACE_ENDPOINT_ID>.search.ai.cloudflare.com/search

Включение конечной точки пространства имён не изменяет конечные точки экземпляров внутри него. Каждая из них включается и отключается отдельно.

Allowlist экземпляров

instances_allowed определяет, к каким экземплярам может обращаться эндпойнт.

Запрос, который не разрешается ни в один доступный для поиска экземпляр, возвращает 404 с ошибкой 60013. Этот ответ одинаков независимо от того, не существует ли экземпляр, находится ли он вне allowlist или allowlist пуст, поэтому вызывающая сторона не может определить, какие экземпляры входят в пространство имён.

Поиск по подмножеству экземпляров

По умолчанию запрос выполняет поиск по всем экземплярам в allowlist. Чтобы ограничить отдельный запрос, задайте ai_search_options.instance_ids в теле запроса.

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"]
    }
  }'

Каждое значение должно быть в allowlist. Правила для этого поля:

Отключение публичной конечной точки пространства имён

Задайте public_endpoint_params к null. Это очищает конфигурацию и прекращает обслуживание трафика, но сохраняет идентификатор, чтобы URL-адрес использовался повторно, если вы снова включите конечную точку.

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
  }'

Ошибки

Код Сообщение Статус HTTP Причина
7097 instances_allowed_contains_unknown_instances 400 Запись в instances_allowed не является экземпляром в этом пространстве имён.
7099 namespace_modified_concurrently_please_retry 409 Другое обновление одновременно изменило пространство имён. Повторите попытку.
60012 invalid ai_search_options.instance_ids 400 instance_ids значение некорректно.
60013 ai_search_not_found 404 Ни один доступный для поиска экземпляр не соответствует запросу.
60014 path not supported for namespace-kind hash 404 Путь не является /search, /chat/completions, или /mcp.
60015 request body must be a JSON object 400 Тело запроса не является JSON объектом.

Следующие шаги

Пространства имён

Группируйте экземпляры в пространства имён и управляйте ими через привязку Workers.

Поиск сразу по нескольким экземплярам

Обращайтесь сразу к нескольким экземплярам из Worker или через REST API.

Пользовательские домены

Предоставляйте публичную конечную точку пространства имён через имя хоста, которым вы владеете.