Результаты поиска
Включите естественные цитирования для RAG-приложений, предоставляя результаты поиска с атрибуцией источников
Блоки контента результатов поиска в настоящее время находятся в бета-версии. Используйте бета-заголовок search-results-2025-06-09
для включения этой функции.
Блоки контента результатов поиска обеспечивают естественные цитирования с правильной атрибуцией источников, привнося качество цитирований веб-поиска в ваши пользовательские приложения. Эта функция особенно мощна для RAG (Retrieval-Augmented Generation) приложений, где вам нужно, чтобы Claude точно цитировал источники.
Ключевые преимущества
- Естественные цитирования - Достигайте того же качества цитирований, что и веб-поиск, для любого контента
- Гибкая интеграция - Используйте в возвращаемых значениях инструментов для динамического RAG или как контент верхнего уровня для предварительно загруженных данных
- Правильная атрибуция источников - Каждый результат включает информацию об источнике и заголовке для четкой атрибуции
- Не нужны обходные пути с документами - Устраняет необходимость в обходных путях на основе документов
- Согласованный формат цитирований - Соответствует качеству и формату цитирований функции веб-поиска Claude
Как это работает
Результаты поиска могут быть предоставлены двумя способами:
- Из вызовов инструментов - Ваши пользовательские инструменты возвращают результаты поиска, обеспечивая динамические RAG-приложения
- Как контент верхнего уровня - Вы предоставляете результаты поиска напрямую в пользовательских сообщениях для предварительно загруженного или кэшированного контента
В обоих случаях Claude может автоматически цитировать информацию из результатов поиска с правильной атрибуцией источников.
Схема результата поиска
Результаты поиска используют следующую структуру:
Обязательные поля
Поле | Тип | Описание |
---|---|---|
type | string | Должно быть "search_result" |
source | string | URL источника или идентификатор для контента |
title | string | Описательный заголовок для результата поиска |
content | array | Массив текстовых блоков, содержащих фактический контент |
Необязательные поля
Поле | Тип | Описание |
---|---|---|
citations | object | Конфигурация цитирований с булевым полем enabled |
cache_control | object | Настройки управления кэшем (например, {"type": "ephemeral"} ) |
Каждый элемент в массиве content
должен быть текстовым блоком с:
type
: Должно быть"text"
text
: Фактическое текстовое содержимое (непустая строка)
Метод 1: Результаты поиска из вызовов инструментов
Наиболее мощный случай использования - это возврат результатов поиска из ваших пользовательских инструментов. Это обеспечивает динамические RAG-приложения, где инструменты извлекают и возвращают релевантный контент с автоматическими цитированиями.
Пример: Инструмент базы знаний
Метод 2: Результаты поиска как контент верхнего уровня
Вы также можете предоставлять результаты поиска напрямую в пользовательских сообщениях. Это полезно для:
- Предварительно загруженного контента из вашей поисковой инфраструктуры
- Кэшированных результатов поиска из предыдущих запросов
- Контента из внешних поисковых сервисов
- Тестирования и разработки
Пример: Прямые результаты поиска
Ответ Claude с цитированиями
Независимо от того, как предоставляются результаты поиска, Claude автоматически включает цитирования при использовании информации из них:
Поля цитирования
Каждое цитирование включает:
Поле | Тип | Описание |
---|---|---|
type | string | Всегда "search_result_location" для цитирований результатов поиска |
source | string | Источник из исходного результата поиска |
title | string или null | Заголовок из исходного результата поиска |
cited_text | string | Точный текст, который цитируется |
search_result_index | integer | Индекс результата поиска (начиная с 0) |
start_block_index | integer | Начальная позиция в массиве content |
end_block_index | integer | Конечная позиция в массиве content |
Примечание: search_result_index
относится к индексу блока контента результата поиска (начиная с 0), независимо от того, как были предоставлены результаты поиска (вызов инструмента или контент верхнего уровня).
Множественные блоки контента
Результаты поиска могут содержать несколько текстовых блоков в массиве content
:
Claude может цитировать конкретные блоки, используя поля start_block_index
и end_block_index
.
Расширенное использование
Комбинирование обоих методов
Вы можете использовать как результаты поиска на основе инструментов, так и результаты верхнего уровня в одном разговоре:
Комбинирование с другими типами контента
Оба метода поддерживают смешивание результатов поиска с другим контентом:
Управление кэшем
Добавьте управление кэшем для лучшей производительности:
Управление цитированиями
По умолчанию цитирования отключены для результатов поиска. Вы можете включить цитирования, явно установив конфигурацию citations
:
Когда citations.enabled
установлено в true
, Claude будет включать ссылки на цитирования при использовании информации из результата поиска. Это обеспечивает:
- Естественные цитирования для ваших пользовательских RAG-приложений
- Атрибуцию источников при взаимодействии с проприетарными базами знаний
- Качество цитирований веб-поиска для любого пользовательского инструмента, который возвращает результаты поиска
Если поле citations
опущено, цитирования отключены по умолчанию.
Цитирования работают по принципу “все или ничего”: либо все результаты поиска в запросе должны иметь включенные цитирования, либо все должны иметь их отключенными. Смешивание результатов поиска с разными настройками цитирований приведет к ошибке. Если вам нужно отключить цитирования для некоторых источников, вы должны отключить их для всех результатов поиска в этом запросе.
Лучшие практики
Для поиска на основе инструментов (Метод 1)
- Динамический контент: Используйте для поиска в реальном времени и динамических RAG-приложений
- Обработка ошибок: Возвращайте соответствующие сообщения при неудачных поисках
- Ограничения результатов: Возвращайте только наиболее релевантные результаты, чтобы избежать переполнения контекста
Для поиска верхнего уровня (Метод 2)
- Предварительно загруженный контент: Используйте, когда у вас уже есть результаты поиска
- Пакетная обработка: Идеально для обработки нескольких результатов поиска одновременно
- Тестирование: Отлично подходит для тестирования поведения цитирований с известным контентом
Общие лучшие практики
-
Эффективно структурируйте результаты
- Используйте четкие, постоянные URL источников
- Предоставляйте описательные заголовки
- Разбивайте длинный контент на логические текстовые блоки
-
Поддерживайте согласованность
- Используйте согласованные форматы источников в вашем приложении
- Убедитесь, что заголовки точно отражают контент
- Поддерживайте согласованное форматирование
-
Грациозно обрабатывайте ошибки
Ограничения
- Блоки контента результатов поиска доступны только с бета-заголовком
- Поддерживается только текстовый контент внутри результатов поиска (никаких изображений или других медиа)
- Массив
content
должен содержать как минимум один текстовый блок