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

Как работает AI Search

AI Search представляет собой управляемый сервис поиска. Подключите веб-сайт, бакет R2 или загрузите собственные документы, и AI Search проиндексирует ваш контент для запросов на естественном языке.

AI Search состоит из двух основных процессов:

Как работает индексирование

Индексация начинается автоматически, когда вы подключаете источник данных или загружаете файлы через API элементов.

Начало Ваш контентнапример, PDF, изображение Линия в область «хранилище»
источник Fan-out к необязательным подключённым источникам Необязательные подключённые источники Fan-in: подключённые источники попадают во встроенное хранилище Встроенное хранилище: постоянно доступное хранилище AI Search · R2Встроенное хранилище
Линия из области хранилища
Разбор Workers AI · toMarkdown()Разбор
Чанкинг AI SearchЧанкинг
индексация и хранение

Вот что происходит во время индексирования:

  1. Приём данных: AI Search считывает данные из подключённого источника данных или получает файлы, загруженные через API элементов.
  2. Преобразование в Markdown: AI Search использует Преобразование в Markdown от Workers AI для преобразования поддерживаемые типы данных в структурированный Markdown. Это обеспечивает единообразие для самых разных типов файлов. Для изображений Workers AI сначала выполняет распознавание объектов, а затем преобразование изображения в текст, чтобы получить изображение в виде текста Markdown. См. как преобразуются изображения для получения подробностей.
  3. Чанкинг: Извлечённый текст разбито на чанки на более мелкие части, чтобы повысить детализацию поиска.
  4. Эмбеддинг: Каждый чанк обрабатывается embedding-моделью Workers AI, которая преобразует контент в векторы.
  5. Индексирование по ключевым словам: Когда включён поиск по ключевым словам, каждый чанк также индексируется для сопоставления по ключевым словам BM25.
  6. Хранилище: Векторы, индекс ключевых слов и содержимое сохраняются и готовы к поиску.

Для экземпляров с подключённым источником данных AI Search регулярно проверяет наличие обновлений и автоматически индексирует изменения. Для экземпляров, использующих встроенное хранилище, новые файлы индексируются сразу при загрузке.

Как выполняются запросы

После завершения индексирования AI Search готов отвечать на запросы конечных пользователей в реальном времени.

Начало
Ваш запрос
Переписывание запроса (необязательно) AI Gateway / Workers AIНеобязательноПереписывание запроса Линия в область «гибридный поиск»
гибридный поиск Fan-out: запрос разделяется на два параллельных поиска, каждый со своей предобработкой (эмбеддинг или токенизация). Два параллельных поиска, каждый со своей предобработкой запроса. Любой из них можно отключить.
Векторная ветвь: векторизуйте запрос, затем сопоставьте его с сохранёнными векторами Ветвь по ключевым словам: токенизация запроса, затем сопоставление по BM25
Fan-in: параллельные результаты сходятся на этапе слияния Слияние: объединение наборов гибридных результатов (только для гибридного поиска) AI SearchНеобязательноСлияние
Линия из области гибридного поиска
Реранжирование (необязательно) AI Gateway / Workers AIНеобязательноРеранкинг
Получение содержимого чанков собирает лучшие чанки и исходный контент AI Search · R2Извлечение содержимого чанка
Выходная метка: эндпойнт Search возвращает найденные чанки Результат поиска Для эндпойнта Chat Completions найденный контент передаётся дальше на генерацию ответа (пунктир = только для этого эндпойнта).
AI Gateway / Workers AIНеобязательноГенерация ответа
Выходная метка: эндпойнт Chat Completions возвращает ответ Результат Chat Completions

Вот как работает конвейер запросов:

  1. Получение запроса от AI Search API: Рабочий процесс запроса начинается, когда вы отправляете запрос либо к интерфейсу AI Search, либо к Chat Completions или Поиск конечные точки.
  2. Переписывание запроса (необязательно): AI Search предоставляет возможность переписать входной запрос с помощью одной из LLM Workers AI, чтобы повысить качество поиска, преобразуя исходный запрос в более эффективный поисковый запрос.
  3. Эмбеддинг запроса: Переписанный (или исходный) запрос преобразуется в вектор с помощью той же модели эмбеддингов, которая использовалась для векторизации ваших данных.
  4. Векторный поиск: Вектор запроса сравнивается с сохранёнными векторами, чтобы найти семантически похожий контент.
  5. Поиск по ключевым словам (необязательно): Когда включён гибридный поиск, параллельно с векторным поиском выполняется поиск по ключевым словам BM25.
  6. Слияние (необязательно): При использовании гибридного поиска результаты векторного и ключевого поиска объединяются с помощью настроенного метода слияния.
  7. Реранкинг (необязательно): Модель cross-encoder заново оценивает результаты, совместно анализируя запрос и документ. См. Реранкинг для получения подробностей.
  8. Извлечение контента: Возвращаются наиболее релевантные чанки и их исходное содержимое. Если вы используете конечную точку Search, содержимое возвращается уже на этом этапе.
  9. Генерация ответа: Если вы используете эндпойнт Chat Completions, модель генерации текста формирует ответ на основе найденного контента. См. Системный промпт для получения подробностей.

Когда использовать AI Search, а когда Vectorize

AI Search построен на основе Vectorize и достраивает вокруг него остальной пайплайн поиска. Используйте Vectorize, если хотите управлять векторами самостоятельно, и AI Search, если нужен управляемый поиск по вашему контенту.

Возможность AI Search Vectorize
Что это такое Управляемый сквозной поиск по вашему контенту Векторная база данных, на основе которой вы создаёте
Вы передаёте это Файлы либо подключённый источник данных Векторы, которые вы генерируете самостоятельно
Чанкинг и эмбеддинги Делается за вас Вы создаёте и вставляете их
Индексация Автоматически, с непрерывной синхронизацией Вы самостоятельно выполняете upsert векторов и управляете ими
Поиск Векторный поиск и поиск по ключевым словам (гибридный), реранкинг, фильтрация по метаданным Поиск по векторному сходству с фильтрацией по метаданным
Сгенерированные ответы Необязательно, встроено Не включено
Оптимально, когда Вам нужно быстро добавить поиск или RAG Вам нужен полный контроль над конвейером поиска