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

Привязка 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 необязательно

Конфигурации для настройки ранжирования результатов. Значение по умолчанию: {}.

reranking object необязательно

Конфигурации для настройки реранкинга. Значение по умолчанию: {}.

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
}

Этот метод ищет результаты в вашем корпусе и возвращает релевантные результаты:

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 обязательно

Массив объектов сообщений. У каждого сообщения есть:


ai_search_options object необязательно

Переопределения на уровне запроса для поведения поиска и модели. Поддерживаются следующие вложенные параметры:


Полный список необязательных параметров см. в Справочник по 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
}