← Обзор / ai-search / api / migration
Привязка Workers (устаревшая)
env.AI.autorag() привязка представляет собой устаревший API для AI Search. Она будет и дальше работать, но в новых проектах вместо неё следует использовать новые привязки AI Search. Пошаговое руководство по переходу см. в Миграция привязки Workers.
aiSearch()
Этот метод ищет релевантные результаты в вашем источнике данных и формирует ответ с помощью модели по умолчанию и найденного контекста:
const answer = await env.AI.autorag("my-autorag").aiSearch({
query: "How do I train a llama to deliver coffee?",
model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
rewrite_query: true,
max_num_results: 2,
ranking_options: {
score_threshold: 0.3,
},
reranking: {
enabled: true,
model: "@cf/baai/bge-reranker-base",
},
stream: true,
});Параметры
query string обязательно
Входной запрос.
model string необязательно
Модель генерации текста, используемая для формирования ответа на запрос. Список допустимых вариантов можно проверить в настройках модели генерации AI Search. По умолчанию используется модель генерации, выбранная в настройках AI Search.
system_prompt string необязательно
Системный промпт для формирования ответа.
rewrite_query boolean необязательно
Переписывает исходный запрос в оптимизированный для поиска запрос, повышая точность поиска. По умолчанию: false.
max_num_results number необязательно
Максимальное количество результатов, которые может вернуть база данных Vectorize. Значение по умолчанию составляет 10. Должно быть от 1 и 50.
ranking_options object необязательно
Конфигурации для настройки ранжирования результатов. Значение по умолчанию: {}.
score_thresholdnumberнеобязательно- Минимальный показатель соответствия, необходимый, чтобы результат считался совпадением. Значение по умолчанию составляет
0. Должно быть от0и1.
- Минимальный показатель соответствия, необходимый, чтобы результат считался совпадением. Значение по умолчанию составляет
reranking object необязательно
Конфигурации для настройки реранкинга. Значение по умолчанию: {}.
-
enabledbooleanнеобязательно- Включает или отключает реранкинг, который переупорядочивает найденные результаты по семантической релевантности с помощью модели реранкинга. По умолчанию:
false.
- Включает или отключает реранкинг, который переупорядочивает найденные результаты по семантической релевантности с помощью модели реранкинга. По умолчанию:
-
modelstringнеобязательно- Модель реранкинга, которая используется, если реранкинг включён.
stream boolean необязательно
Возвращает поток результатов по мере их появления. По умолчанию: false.
filters object необязательно
Сузьте результаты поиска на основе метаданных, например по папке и дате, чтобы возвращался только релевантный контент. Подробнее см. Фильтрация метаданных.
Ответ
Такова структура ответа без stream включено.
{
"object": "vector_store.search_results.page",
"search_query": "How do I train a llama to deliver coffee?",
"response": "To train a llama to deliver coffee:\n\n1. **Build trust** — Llamas appreciate patience (and decaf).\n2. **Know limits** — Max 3 cups per llama, per `llama-logistics.md`.\n3. **Use voice commands** — Start with \"Espresso Express!\"\n4.",
"data": [
{
"file_id": "llama001",
"filename": "llama/logistics/llama-logistics.md",
"score": 0.45,
"attributes": {
"modified_date": 1735689600000,
"folder": "llama/logistics/"
},
"content": [
{
"id": "llama001",
"type": "text",
"text": "Llamas can carry 3 drinks max."
}
]
},
{
"file_id": "llama042",
"filename": "llama/llama-commands.md",
"score": 0.4,
"attributes": {
"modified_date": 1735689600000,
"folder": "llama/"
},
"content": [
{
"id": "llama042",
"type": "text",
"text": "Start with basic commands like 'Espresso Express!' Llamas love alliteration."
}
]
}
],
"has_more": false,
"next_page": null
}search()
Этот метод ищет результаты в вашем корпусе и возвращает релевантные результаты:
const answer = await env.AI.autorag("my-autorag").search({
query: "How do I train a llama to deliver coffee?",
rewrite_query: true,
max_num_results: 2,
ranking_options: {
score_threshold: 0.3,
},
reranking: {
enabled: true,
model: "@cf/baai/bge-reranker-base",
},
});Параметры
messages array обязательно
Массив объектов сообщений. У каждого сообщения есть:
contentstring- Содержимое поискового запроса.rolestring- Роль:user,system, илиassistant.
ai_search_options object необязательно
Переопределения на уровне запроса для поведения поиска и модели. Поддерживаются следующие вложенные параметры:
retrieval.filtersobject- Сузьте результаты поиска на основе метаданных. См. Фильтрация метаданных о синтаксисе и примерах.retrieval.max_num_resultsnumber- Максимальное количество возвращаемых чанков. Значение по умолчанию:10, максимум50.retrieval.retrieval_typestring- Одно из значений:vector,keyword, илиhybrid.retrieval.match_thresholdnumber- Минимальная оценка сходства (от 0 до 1). Значение по умолчанию:0.4.cache.enabledboolean- Переопределите для этого запроса настройку кеша на уровне экземпляра.reranking.enabledboolean- Переопределите для этого запроса настройку реранкинга на уровне экземпляра.
Полный список необязательных параметров см. в Справочник по API поиска.
Ответ
{
"object": "vector_store.search_results.page",
"search_query": "How do I train a llama to deliver coffee?",
"data": [
{
"file_id": "llama001",
"filename": "llama/logistics/llama-logistics.md",
"score": 0.45,
"attributes": {
"modified_date": 1735689600000,
"folder": "llama/logistics/"
},
"content": [
{
"id": "llama001",
"type": "text",
"text": "Llamas can carry 3 drinks max."
}
]
},
{
"file_id": "llama042",
"filename": "llama/llama-commands.md",
"score": 0.4,
"attributes": {
"modified_date": 1735689600000,
"folder": "llama/"
},
"content": [
{
"id": "llama042",
"type": "text",
"text": "Start with basic commands like 'Espresso Express!' Llamas love alliteration."
}
]
}
],
"has_more": false,
"next_page": null
}