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

Управление результатами

Эти настройки определяют, сколько результатов возвращается и какая минимальная оценка требуется. Чтобы отфильтровать результаты по атрибутам метаданных, например по папке или категории, см. Фильтрация.

Порог соответствия

match_threshold задаёт минимальную оценку векторного сходства, которой должен соответствовать чанк, чтобы попасть в результаты. Значения порога находятся в диапазоне от 0 к 1. Порог фильтрует по оценке векторного сходства, а не по итоговой оценке, объединённой в ответе.

Максимальное количество результатов

max_num_results настройка определяет количество возвращаемых наиболее подходящих чанков. Максимально допустимое значение составляет 50.

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

  1. Ваш запрос векторизуется с помощью настроенной embedding-модели.
  2. Выполняется запрос к поисковому индексу. Для гибридный поиск, результаты векторного поиска и поиска по ключевым словам сливаются в единый ранжированный список.
  3. Чанки с оценкой векторного сходства ниже match_threshold отфильтровываются.
  4. Отфильтрованные результаты ограничены max_num_results и передаётся на этап генерации в качестве контекста.

Если ни один результат не соответствует порогу, AI Search не будет создавать ответ.

Если реранкинг включено, создаётся отдельный reranking.match_threshold можно настроить так, чтобы отфильтровывать чанки по их показателю reranking.

Переопределение на уровне запроса

Эти значения можно задать на уровне экземпляра или переопределить для отдельного запроса:

const instance = env.AI_SEARCH.get("my-instance");

const results = await instance.search({
	messages: [{ role: "user", content: "What is Cloudflare?" }],
	ai_search_options: {
		retrieval: {
			match_threshold: 0.5,
			max_num_results: 10,
		},
	},
});