База знаний
Cloudflare AI Search — как превратить сайт или набор файлов в поисковый индекс для агента
Практическое руководство по Cloudflare AI Search: подключение сайта и файлов, гибридный поиск, Worker, агенты, лимиты и план теста качества.
СейчасЧто входит в AI Search
- Что входит в AI Search
- Какие данные можно индексировать
- Что подготовить до запуска
- Быстрый запуск поиска по сайту
- Загрузка документов и файлов
- Поиск из Cloudflare Worker
- Подключение к ИИ-агенту
- Поиск как инструмент агента
- Готовый ответ через Chat Completions
- MCP endpoint без отдельного Worker
- Обновление индекса
- Workers AI и AI Gateway
- AI Search или собственная связка с Vectorize
- Лимиты и стоимость
- Что делать, если поиск не работает
- План мини-теста на материалах pimenov.ai
- Официальные ссылки
- Следующий шаг
- Связанные материалы
Cloudflare AI Search превращает сайт, R2-бакет или набор файлов в поисковый индекс, к которому можно обращаться из интерфейса сайта, Worker или ИИ-агента. Сервис берёт на себя загрузку данных, преобразование документов, разбиение на фрагменты, embeddings и обновление индекса.
6 августа 2026 года Cloudflare упростила AI Search: поисковый контур теперь можно создать одной командой, без ручной сборки из R2, Vectorize, Workers AI и Browser Run.
Оглавление
- Что входит в AI Search
- Какие данные можно индексировать
- Что подготовить до запуска
- Быстрый запуск поиска по сайту
- Загрузка документов и файлов
- Поиск из Cloudflare Worker
- Подключение к ИИ-агенту
- Обновление индекса
- Workers AI и AI Gateway
- AI Search или собственная связка с Vectorize
- Лимиты и стоимость
- Что делать, если поиск не работает
- План мини-теста на материалах pimenov.ai
Что входит в AI Search
При индексации сервис выполняет готовый конвейер:
- Загружает страницу или файл.
- Преобразует содержимое в Markdown.
- Делит текст на небольшие фрагменты.
- Создаёт embeddings — векторные представления смысла текста.
- Строит векторный и, при включении, полнотекстовый индекс BM25.
- Сохраняет фрагменты и сведения об источниках.
При запросе AI Search может выполнить векторный, ключевой или гибридный поиск. Дополнительно доступны переписывание запроса, фильтрация по метаданным, reranking результатов и генерация готового ответа.
Практические сценарии:
| Сценарий | Как использовать AI Search |
| Поиск на сайте | Индексировать публичные страницы и вывести поле поиска |
| Агент поддержки | Искать по документации и истории решённых обращений |
| Корпоративная база знаний | Подключить сайт или R2 с инструкциями и регламентами |
| Файлы пользователя | Создавать отдельный индекс для каждого клиента или проекта |
| MCP для агента | Опубликовать поисковый MCP endpoint |
| Поиск по коду | Загрузить исходники и включить гибридный поиск |
Какие данные можно индексировать
AI Search поддерживает три источника:
- сайт, добавленный в тот же аккаунт Cloudflare;
- R2 bucket с документами;
- built-in storage, куда файлы загружаются напрямую через Dashboard или API.
Для загрузки подходят Markdown, TXT, JSON, YAML, HTML, PDF, DOCX, таблицы, изображения и распространённые форматы исходного кода. Максимальный размер одного файла на момент проверки 15 августа 2026 года составляет 4 МБ.
Сайт обычно обходится по sitemap. В режиме discover AI Search может находить страницы, переходя по ссылкам. Краулер представляется как Cloudflare-AI-Search, соблюдает robots.txt и учитывает правила WAF и Bot Management.
Для большого сайта полезно сразу:
- индексировать только
/articles/,/blog/и/knowledge/; - исключить служебные страницы и дубли;
- проверить, что sitemap содержит актуальный
lastmod; - убрать из индексируемого текста меню, футер и боковые панели с помощью content selectors.
Что подготовить до запуска
- Аккаунт Cloudflare с подключённым доменом, который нужно индексировать.
- Node.js и актуальную версию Wrangler.
- Права на создание AI Search namespaces и экземпляров.
- Sitemap либо доступ к настройке Discover в Dashboard.
- Проект Cloudflare Worker, если поиск будет доступен по собственному HTTP endpoint.
- Правила WAF и Bot Management, которые не блокируют краулер
Cloudflare-AI-Search.
Для большого сайта заранее определите включаемые и исключаемые URL. В Dashboard или через флаги --include-items и --exclude-items оставьте только нужные разделы, например /articles/, /blog/ и /knowledge/.
Быстрый запуск поиска по сайту
Установите актуальную версию Wrangler и авторизуйтесь в Cloudflare:
npm install --save-dev wrangler@latest
npx wrangler loginСоздайте namespace. Если pimenov-ai уже существует, пропустите этот шаг:
npx wrangler ai-search namespace create pimenov-aiСоздайте индекс сайта с гибридным поиском. Поле category объявляется заранее, чтобы его можно было использовать при загрузке файлов через Items API:
npx wrangler ai-search create pimenov-ai-search \
--namespace pimenov-ai \
--source https://pimenov.ai \
--type web-crawler \
--hybrid-search \
--custom-metadata category:textВ анонсе Cloudflare для сайта без sitemap показан флаг --parse-type discover, но в актуальном справочнике Wrangler он пока не перечислен. Проверьте доступность флага в установленной версии:
npx wrangler ai-search create --helpЕсли --parse-type поддерживается, добавьте --parse-type discover к команде создания. Если Wrangler не распознаёт его, выберите Discover в Cloudflare Dashboard.
Проверьте состояние экземпляра и задания индексации:
npx wrangler ai-search stats pimenov-ai-search \
--namespace pimenov-aiДополнительно откройте Items и Jobs в Dashboard: там видны обработанные страницы, ошибки и текущее состояние синхронизации.
После завершения задания выполните первый запрос:
npx wrangler ai-search search pimenov-ai-search \
--namespace pimenov-ai \
--query "Как подключить ИИ-агента к данным сайта?"Проверяемый результат: команда возвращает фрагменты страниц, оценки релевантности и URL исходных материалов.
Загрузка документов и файлов
Каждый новый экземпляр AI Search получает встроенное хранилище и векторный индекс. Отдельно создавать R2 и Vectorize для этого не требуется.
Файл можно загрузить через Dashboard или Items API. Для экземпляра в namespace сначала получите его из namespace binding, а затем вызовите uploadAndPoll(), который ждёт завершения индексации:
const instance = env.AI_SEARCH.get("pimenov-ai-search");
const item = await instance.items.uploadAndPoll(
"onboarding.md",
content,
{
metadata: {
category: "documentation"
}
}
);
console.log(item.status);Поле category должно быть объявлено в схеме пользовательских метаданных. В быстром запуске это делает параметр --custom-metadata category:text. Для других полей укажите имя и тип при создании экземпляра.
Ожидаемое значение после успешной обработки:
completedФайл становится доступен для поиска после завершения индексации. Этот сценарий подходит для пользовательских документов, истории проекта, итогов встреч и материалов, которые появляются во время работы агента.
Один экземпляр AI Search может одновременно использовать внешний источник и built-in storage. Например, документация берётся с сайта, а файлы конкретного клиента загружаются через API.
Поиск из Cloudflare Worker
Экземпляр создан в namespace pimenov-ai, поэтому Worker нужно подключить через namespace binding. Instance binding ai_search работает только с экземплярами из namespace default.
Добавьте в wrangler.jsonc:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "pimenov-ai-search-worker",
"main": "src/index.js",
"compatibility_date": "2026-03-27",
"ai_search_namespaces": [
{
"binding": "AI_SEARCH",
"namespace": "pimenov-ai"
}
]
}Минимальный Worker для гибридного поиска:
export default {
async fetch(request, env) {
const url = new URL(request.url);
const query = url.searchParams.get("q");
if (!query) {
return Response.json(
{ error: "Передайте параметр q" },
{ status: 400 }
);
}
const instance = env.AI_SEARCH.get("pimenov-ai-search");
const result = await instance.search({
query,
ai_search_options: {
retrieval: {
retrieval_type: "hybrid",
max_num_results: 5
},
reranking: {
enabled: true
}
}
});
return Response.json(result);
}
};Разверните Worker:
npx wrangler deployWrangler выведет фактический адрес Worker. Подставьте его в команду проверки:
curl "https://<worker-name>.<subdomain>.workers.dev/?q=как+подключить+агента"В ответе должны появиться chunks с текстом, оценкой релевантности и адресом исходной страницы.
Гибридный режим объединяет семантический поиск и BM25. Он полезен для корпуса, где рядом живут обычные вопросы, названия продуктов, команды и точные сообщения об ошибках.
Подключение к ИИ-агенту
Есть три рабочих варианта.
Поиск как инструмент агента
Агент вызывает search(), получает фрагменты и самостоятельно формирует ответ. Этот вариант даёт больше контроля над системным промптом, цитатами и логикой проверки источников.
Готовый ответ через Chat Completions
Метод chatCompletions() сначала находит контекст, затем передаёт его модели. В результате возвращаются готовый ответ и использованные фрагменты.
Такой режим удобен для небольшого справочного ассистента. Для сложного агента лучше оставить AI Search поисковым инструментом, а генерацию и проверку выполнять в основном агентном цикле.
MCP endpoint без отдельного Worker
Для namespace можно включить публичные /search и /mcp endpoints. Один endpoint способен искать сразу по нескольким экземплярам AI Search.
Публичный URL не требует аутентификации. Для закрытой базы знаний разместите endpoint на своём домене и ограничьте доступ через Cloudflare Access.
Обновление индекса
Файлы во встроенном хранилище индексируются сразу после загрузки.
Для сайта и R2 AI Search запускает синхронизацию каждые шесть часов. Допустимые интервалы: 1, 2, 4, 6, 12 или 24 часа.
После публикации материала можно запускать синхронизацию из CI/CD. Официальная документация показывает команду:
npx wrangler ai-search jobs create pimenov-ai-searchПеред использованием с нестандартным namespace проверьте параметры установленной версии:
npx wrangler ai-search jobs create --helpЕсли команда поддерживает --namespace, передайте --namespace pimenov-ai. Если параметра нет, запускайте job из Dashboard или через Create job REST API с явным namespace. Так индекс обновится после сборки сайта, не дожидаясь следующего расписания. Запускать синхронизацию программно можно не чаще одного раза в 30 секунд.
Если экземпляр не получает поисковых запросов 31 день, плановые задания приостанавливаются. Сам поиск продолжает работать, но новые изменения источника не появятся в индексе до возобновления синхронизации.
Workers AI и AI Gateway
Workers AI используется для преобразования документов, создания embeddings, reranking и генерации ответов. Embedding-модель выбирается при создании экземпляра и позднее не меняется. Generation-модель можно менять в Settings и переопределять для отдельного запроса. Модели OpenAI, Anthropic и других провайдеров подключаются через AI Gateway, если они входят в поддерживаемый список.
Каждый экземпляр AI Search подключён к AI Gateway. Через него доступны:
- журналы запросов и ответов;
- показатели задержки, ошибок и расхода токенов;
- подключение OpenAI, Anthropic и других провайдеров;
- guardrails и проверка чувствительных данных;
- retries и резервная модель при сбое.
AI Search или собственная связка с Vectorize
| Возможность | AI Search | Embeddings + Vectorize |
| Входные данные | Сайт и готовые файлы | Подготовленные приложением данные |
| Разбор документов | Встроен | Нужно реализовать |
| Chunking | Встроен | Нужно настроить |
| Embeddings | Создаются автоматически | Выбор модели и вызовы на вашей стороне |
| Обновление | Плановые и ручные задания | Собственный pipeline |
| Keyword search | BM25 и гибридный режим | Отдельная реализация |
| Reranking | Встроен | Подключается самостоятельно |
| Ответ модели | Доступен через Chat Completions | Собирается отдельно |
| Контроль над векторами | Ограниченный | Полный |
AI Search подходит, когда требуется быстро добавить поиск или RAG по обычным документам. Vectorize лучше выбирать для собственной схемы embeddings, нестандартного chunking, сложного жизненного цикла векторов или глубокой интеграции с прикладными данными.
Лимиты и стоимость
На 15 августа 2026 года AI Search находится в открытой бете и работает бесплатно в пределах лимитов.
| Лимит | Workers Free | Workers Paid |
| Экземпляры на аккаунт | 100 | 5 000 |
| Файлы в экземпляре | 100 000 | 1 млн или 500 000 для hybrid |
| Максимальный размер файла | 4 МБ | 4 МБ |
| Запросы в месяц | 20 000 | Без ограничения |
| Страницы сайта в день | 500 | Без ограничения |
| Экземпляры в одном cross-instance запросе | 10 | 10 |
Хранилище, Vectorize и Browser Run входят в AI Search. Вызовы Workers AI и AI Gateway учитываются по собственным правилам этих сервисов. В предварительной модели цен Cloudflare обещает включить стандартные embedding- и reranking-модели, но условия ещё могут измениться.
Cloudflare также показала предварительную модель цен после беты:
- индексация: $0,75 за 1 млн токенов;
- обработка изображений: ещё $0,50 за 1 млн токенов;
- хранение: $2 за ГБ в месяц;
- семантический поиск: $0,75 за 1 000 запросов;
- полнотекстовый поиск: $0,10 за 1 000 запросов.
Предусмотрены бесплатные объёмы: 5 млн токенов индексации, 10 ГБ хранения и 2 000 поисковых запросов в месяц. Это preview-цены, поэтому перед расчётом продакшен-бюджета их нужно повторно проверить.
Что делать, если поиск не работает
| Симптом | Что проверить |
| Страницы не появились в индексе | Namespace, sitemap, robots.txt, WAF, Bot Management и статус задания в Jobs |
| Команда не находит экземпляр | Передан ли --namespace pimenov-ai; без него Wrangler использует default |
Worker не видит pimenov-ai-search | Используется ли ai_search_namespaces, а затем env.AI_SEARCH.get() |
Файл получил статус error | Размер до 4 МБ, поддерживаемый формат и объявленные поля metadata |
| В найденных фрагментах много меню и футера | Content selectors и исключение служебных URL |
| Точные команды и названия теряются | Включён ли hybrid search |
| Релевантный документ находится ниже посторонних | Reranking, размер фрагментов и качество исходного текста |
| Новые публикации не появляются | Sync interval, Jobs и паузу синхронизации после 31 дня без запросов |
План мини-теста на материалах pimenov.ai
Ниже приведён воспроизводимый план теста для индекса сайта. Фактические оценки нужно снять после создания экземпляра AI Search: без доступа к нему нельзя честно публиковать цифры качества.
| Запрос | Ожидаемый материал | Что проверяем |
как добавить сайт в Cloudflare и перенести DNS | Cloudflare — руководство для новичков | Семантический поиск |
Cloudflare Agents SDK Durable Objects stateful agent | Cloudflare Agents SDK | Точные термины |
мультиязычная embedding-модель для self-hosted RAG | BAAI/bge-m3 | Поиск по смыслу |
как превратить PDF в Markdown для RAG | Docling | Связь задачи и инструмента |
Cloudflare Pages деплой из GitHub | Cloudflare Pages | Название продукта и действие |
точный поиск и скрейпинг внутри Codex | Firecrawl для Codex | Поиск короткого материала |
Запустите каждый запрос сначала в vector, затем в hybrid-режиме. Зафиксируйте:
- место ожидаемой страницы в выдаче;
- количество релевантных результатов в топ-5;
- наличие правильного URL источника;
- попадание меню и футера в найденные фрагменты;
- качество ответа при включённой генерации.
Для небольшого пилота можно принять такой порог:
- точные названия продуктов попадают на первое место;
- минимум пять ожидаемых страниц из шести входят в топ-3;
- в топ-5 находится не более одного явно постороннего результата;
- сгенерированный ответ не содержит утверждений, которых нет в найденных фрагментах.
Если vector хорошо отвечает на общие вопросы, но теряет названия, команды или коды ошибок, оставьте hybrid search. Если выдача содержит правильные слова, но отвечает на другую задачу, включите reranking. Шум из меню и служебных блоков исправляется content selectors и повторной индексацией.
Официальные ссылки
- Анонс AI Search от 6 августа 2026 года
- Начало работы
- Источники и поддерживаемые файлы
- Как работает индексация и поиск
- Wrangler commands
- Workers binding
- Items API для Worker
- Модели AI Search
- Синхронизация данных
- Лимиты и стоимость
- Связь с AI Gateway
Источники и параметры проверены 15 августа 2026 года.
По теме
Следующий шаг
Cloudflare Agents SDK — stateful AI-агенты на Durable Objects
Связанные материалы
- Статья: Cloudflare OS: как компания собрала внутренний ИИ-воркспейс и раздала его всем сотрудникам
- Блог: Gemini Embedding 2 вышел — и мультимодальный поиск стал на шаг ближе к продакшену
- База знаний: BAAI/bge-m3 — мультиязычная embedding-модель для self-hosted RAG
Если вы выбираете между готовым AI Search и собственным RAG-контуром, полезно сначала сверить требования к данным, качеству поиска и эксплуатации.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
Firecrawl выпустил плагин для Codex: поиск с точностью 94,7% на SimpleQA, скрейпинг и краулинг сайтов прямо из агента. Разбираю, кому это нужно.