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

AI Search

Agents могут использовать AI Search чтобы получить релевантную информацию из проиндексированного контента и использовать её для дополнения вызовы моделей ИИ. AI Search управляет пайплайном поиска за вас, включая индексацию, поиск и опциональные chat completions по вашему контенту.

Используйте AI Search, если хотите, чтобы агент:

Базовый паттерн

Привяжите AI Search к своему Worker, а затем обращайтесь к нужному экземпляру из метода агента.

import { Agent, callable } from "agents";

export class SearchAgent extends Agent {
	@callable()
	async searchKnowledge(query) {
		const instance = this.env.AI_SEARCH.get("my-instance");

		const results = await instance.search({
			messages: [{ role: "user", content: query }],
		});

		return results;
	}
}
import { Agent, callable } from "agents";

type Env = {
	AI_SEARCH: AiSearchNamespace;
};

export class SearchAgent extends Agent<Env> {
	@callable()
	async searchKnowledge(query: string) {
		const instance = this.env.AI_SEARCH.get("my-instance");

		const results = await instance.search({
			messages: [{ role: "user", content: query }],
		});

		return results;
	}
}

Для генерации ответа используйте chatCompletions() чтобы получить релевантный контент и сформировать ответ за один вызов.

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

const response = await instance.chatCompletions({
	messages: [{ role: "user", content: "How do I deploy an Agent?" }],
	model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
	ai_search_options: {
		retrieval: {
			max_num_results: 5,
		},
	},
});
const instance = this.env.AI_SEARCH.get("my-instance");

const response = await instance.chatCompletions({
	messages: [{ role: "user", content: "How do I deploy an Agent?" }],
	model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
	ai_search_options: {
		retrieval: {
			max_num_results: 5,
		},
	},
});

Конфигурация

Используйте ai_search_namespaces привязку, когда агенту нужно обращаться к экземплярам AI Search по имени.

{
	"ai_search_namespaces": [
		{
			"binding": "AI_SEARCH",
			"namespace": "default",
			"remote": true
		}
	]
}
[[ai_search_namespaces]]
binding = "AI_SEARCH"
namespace = "default"
remote = true

Используйте remote: true чтобы обращаться к развёрнутым экземплярам AI Search в процессе локальной разработки с помощью wrangler dev.

AI Search

Создавайте управляемые пайплайны поиска по веб-сайтам, бакетам R2 и загруженным файлам.

привязка Workers

Выполняйте запросы к AI Search напрямую из кода Workers.

Создайте экземпляр AI Search

Создайте свой первый экземпляр AI Search и выполните свой первый запрос.