INTEGRITY Dokumentace

Workers binding

Workers poskytuje bezserverové prostředí pro spouštění kódu, ve kterém můžete vytvářet nové aplikace nebo rozšiřovat ty stávající. Použijte Workers binding k vytváření, výpisu, aktualizaci a mazání instancí AI Search z Cloudflare Workeru. Můžete také kontrolovat konfiguraci instance a sledovat průběh indexování.

Nakonfigurujte binding

Chcete-li používat AI Search s Workers, musíte vytvořit vazbu AI Search. Vazby vytváříte úpravou svého Konfigurace Wrangleru. AI Search nabízí dva typy bindingů:

Vazba jmenného prostoru

Přístup ke všem instancím v rámci namespace. Instance můžete za běhu získávat, vytvářet, vypisovat a mazat.

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "compatibility_date": "2026-03-27",
  "ai_search_namespaces": [
    {
      "binding": "AI_SEARCH",
      "namespace": "my-namespace"
    }
  ]
}
compatibility_date = "2026-03-27"

[[ai_search_namespaces]]
binding = "AI_SEARCH"
namespace = "my-namespace"
Pole Typ Povinné Popis
binding string Ano Název proměnné dostupné na env. Například "AI_SEARCH" jej zpřístupňuje jako env.AI_SEARCH.
namespace string Ano namespace ke kterému se má vytvořit vazba. Namespace default namespace se automaticky vytvoří pro každý účet. Pokud namespace neexistuje, Wrangler jej při nasazení vytvoří.
remote boolean Ne Nastavte na true pro lokální vývoj s wrangler dev.

Vazba instance

Navažte přímou vazbu na jedinou instanci v default jmenný prostor. Použijte to v případě, že víte, kterou instanci potřebujete už v době nasazení.

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "compatibility_date": "2026-03-27",
  "ai_search": [
    {
      "binding": "MY_SEARCH",
      "instance_name": "my-instance"
    }
  ]
}
compatibility_date = "2026-03-27"

[[ai_search]]
binding = "MY_SEARCH"
instance_name = "my-instance"
Pole Typ Povinné Popis
binding string Ano Název proměnné dostupné na env. Například "MY_SEARCH" jej zpřístupňuje jako env.MY_SEARCH.
instance_name string Ano Název instance AI Search. Musí existovat ve výchozím namespace v době nasazení.
remote boolean Ne Nastavte na true pro lokální vývoj s wrangler dev.

Metody jmenného prostoru

Následující metody jsou k dispozici pouze při použití ai_search_namespaces vazba. Handle jmenného prostoru (env.AI_SEARCH) zpřístupňuje metody pro práci s instancemi v rámci namespace.

get()

Vrátí handle na konkrétní instanci. Toto je synchronní a neprovádí síťové volání. Instance se líně inicializuje až ve chvíli, kdy zavoláte metody jako search() nebo info().

const instance = env.AI_SEARCH.get("my-instance");
const results = await instance.search({
	messages: [{ role: "user", content: "What is Cloudflare?" }],
});

Parametry

Parametr Typ Povinné Popis
name string Ano Název instance, pro kterou se má získat handle.

list()

Vrátí všechny instance v jmenném prostoru.

const { result, result_info } = await env.AI_SEARCH.list();

for (const instance of result) {
	console.log(`${instance.id} (${instance.type}) - ${instance.status}`);
}
// result_info.total_count contains the total number of instances

Parametry

Parametr Typ Povinné Popis
page number Ne Číslo stránky, které se má vrátit. Výchozí hodnota: 1.
per_page number Ne Počet instancí na stránku. Výchozí hodnota: 20. Maximálně 100.
search string Ne Vyhledat instance podle ID.
order_by string Ne Řadicí sloupec. Platná hodnota: created_at. Výchozí hodnota je created_at.
order_by_direction string Ne Směr řazení. Platné hodnoty: asc, desc. Výchozí hodnota je desc.

Odpověď

Pole Typ Popis
result array Pole objektů instance.
result[].id string Identifikátor instance.
result[].type string Typ zdroje dat (r2, web-crawler, nebo null pro prázdné instance).
result[].source string Umístění zdroje dat.
result[].status string Stav instance (active, waiting, indexing).
result[].enable boolean Zda je instance povolena.
result[].namespace string Jmenný prostor, do kterého instance patří.
result[].created_at string Časové razítko ISO 8601 vytvoření instance.
result[].modified_at string Časové razítko ISO 8601 poslední úpravy.
result_info objekt Metadata stránkování.
result_info.total_count number Celkový počet instancí ve jmenném prostoru.

create()

Vytvoří novou instanci a vrátí na ni odkaz. Můžete vytvořit instance podporované zdrojem dat, nebo vytvořit prázdné instance pro použití s Items API.

Vytvořte prázdnou instanci pro nahrávání souborů:

Instance AI Search obsahují vestavěné úložiště kde můžete dokumenty nahrávat přímo.

const instance = await env.AI_SEARCH.create({
	id: "knowledge-base",
});

// Upload documents using the Items API
await instance.items.upload("guide.pdf", pdfArrayBuffer);

Vytvořte instanci webového prohledávače:

Automaticky procházejte a indexujte web, který vlastníte. Další možnosti konfigurace najdete v Datový zdroj typu web.

const instance = await env.AI_SEARCH.create({
	id: "my-docs",
	type: "web-crawler",
	source: "developers.cloudflare.com",
});

Vytvořte instanci podporovanou R2:

Indexujte dokumenty uložené v R2 bucket. Další možnosti konfigurace najdete v Zdroj dat R2.

const instance = await env.AI_SEARCH.create({
	id: "internal-docs",
	type: "r2",
	source: "my-docs-bucket",
});

Parametry

id string povinné

Jedinečný identifikátor instance AI Search. Musí mít 1 až 64 znaků a odpovídat vzoru ^[a-z0-9_]+(?:-[a-z0-9_]+)*$.


type string volitelné

Typ zdroje dat. Platné hodnoty: r2, web-crawler. Povinné při vytváření instance se zdrojem dat. Vynechte při vytváření prázdné instance určené k použití s Items API.


source string volitelné

Umístění zdroje dat. Pro r2 typu je to název R2 bucketu. Pro web-crawler typu je to doména webu. Vyžadováno, pokud type je zadáno.


source_params object volitelné

Další parametry zdroje dat.


index_method object volitelné

Určuje, které metody indexování jsou pro instanci povoleny. Rozhoduje o tom, zda je k dispozici vektorové (sémantické) vyhledávání, vyhledávání podle klíčových slov, nebo obojí. Alespoň jedna musí být true.

Nastavte obě na true pro hybridní vyhledávání.


fusion_method string volitelné

Určuje, jak se při hybridním vyhledávání kombinuje vektorové skóre se skóre klíčových slov. Platné hodnoty: rrf (Reciprocal Rank Fusion), max (použije se nejvyšší skóre). Výchozí hodnota: rrf.


indexing_options object volitelné

Konfigurace způsobu indexování obsahu.


retrieval_options object volitelné

Výchozí konfigurace načítání pro instanci. Tyto výchozí hodnoty lze pro jednotlivé požadavky přepsat pomocí ai_search_options.


sync_interval number volitelné

Počet sekund mezi automatickými synchronizacemi zdroje dat. Platné hodnoty: 3600, 7200, 14400, 21600, 43200, 86400. Výchozí hodnota je 21600 (6 hodin).


token_id string volitelné

UUID servisní token API k použití pro tuto instanci. Vyžadováno pouze v případě, že jste dosud nevytvořili žádnou instanci AI Search. Viz Úvodní příručka k API o tom, jak vytvořit a zaregistrovat token služby.


ai_gateway_id string volitelné

ID AI Gateway, přes které se směrují požadavky pro protokolování a analýzu.


embedding_model string volitelné

Embedding model, který se má použít k vektorizaci obsahu.


ai_search_model string volitelné

Model pro generování textu, který se má použít ke generování odpovědí.


rewrite_query boolean volitelné

Povolte přepisování dotazu, abyste zlepšili přesnost vyhledávání. Výchozí hodnota je false.


rewrite_model string volitelné

Model, který se má použít pro přepis dotazu.


reranking boolean volitelné

Povolte reranking, aby se načtené výsledky přeřadily podle sémantické relevance. Výchozí hodnota je false.


reranking_model string volitelné

Model rerankingu, který se má použít. Platná hodnota: @cf/baai/bge-reranker-base.


chunk_size number volitelné

Velikost částí obsahu při rozdělování dokumentů. Minimální hodnota: 64.


chunk_overlap number volitelné

Překryv mezi částmi obsahu. Minimální hodnota: 0.


max_num_results number volitelné

Výchozí maximální počet vracených výsledků. Minimální hodnota: 1.


score_threshold number volitelné

Výchozí minimální prahová hodnota skóre pro výsledky. Minimální hodnota: 0.


cache boolean volitelné

Povolte ukládání odpovědí do mezipaměti. Výchozí hodnota je true.


cache_threshold string volitelné

Práh shody mezipaměti. Platné hodnoty: super_strict_match, close_enough, flexible_friend, anything_goes. Výchozí hodnota je close_enough.


cache_ttl number volitelné

TTL položky mezipaměti v sekundách. Platné hodnoty jsou 600, 1800, 3600, 7200, 21600, 43200, 86400, 172800, 259200, a 518400. Výchozí hodnota je 172800.


custom_metadata array volitelné

Položky vlastních metadat, které se mají extrahovat a indexovat z dokumentů.


enable boolean volitelné

Zda je instance povolena. Výchozí hodnota je true.

Odpověď

Vrátí AiSearchInstance handle, který lze ihned použít k volání metod, jako je search(), info(), stats(), a items.upload(). Zavolejte info() na handle, čímž získáte konfiguraci instance.

delete()

Trvale odstraní instanci a veškerý její indexovaný obsah. Tuto akci nelze vrátit zpět.

await env.AI_SEARCH.delete("old-docs");

Parametry

Parametr Typ Povinné Popis
name string Ano Název instance, která se má odstranit.

Odpověď

Vrátí void. Vyvolá chybu, pokud instance neexistuje.

Metody instance

Následující metody jsou k dispozici u obou ai_search_namespaces a ai_search vazby. U vazby jmenného prostoru volejte metody na handle vráceném get(). S vazbou instance volejte metody přímo na vazbě (například env.MY_SEARCH.info()).

Níže uvedené příklady používají vazbu jmenného prostoru.

update()

Částečně aktualizuje konfiguraci instance. Upraví se pouze pole, která zadáte.

const updated = await env.AI_SEARCH.get("my-instance").update({
	ai_search_model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
	reranking: true,
});

Parametry

Přijímá částečnou verzi parametry pro vytvoření. Aktualizují se jen pole, která uvedete.

Pole Typ Popis
ai_search_model string Model pro generování textu.
embedding_model string Embedding model.
index_method objekt Metody indexování: \{ vector: boolean, keyword: boolean \}.
fusion_method string Jak se kombinuje vektorové skóre se skóre klíčových slov (rrf nebo max).
indexing_options objekt Konfigurace indexování, včetně keyword_tokenizer.
retrieval_options objekt Konfigurace vyhledávání, včetně keyword_match_mode a boost_by.
reranking boolean Zapněte nebo vypněte reranking.
reranking_model string Model rerankingu.
rewrite_query boolean Zapněte nebo vypněte přepis dotazu.
rewrite_model string Model pro přepis dotazu.
source string Aktualizujte umístění zdroje dat.
cache boolean Zapněte nebo vypněte ukládání odpovědí do mezipaměti.
chunk_size number Velikost tokenů v každé části obsahu.
chunk_overlap number Překryv tokenů mezi částmi obsahu.
score_threshold number Minimální práh skóre pro výsledky.
max_num_results number Maximální počet výsledků na dotaz.
custom_metadata array Definice položek vlastních metadat.
sync_interval number Počet sekund mezi automatickými synchronizacemi zdroje dat.

Odpověď

Vrátí aktualizovanou konfiguraci instance. Má stejný tvar jako info().

info()

Vrátí aktuální konfiguraci a metadata instance.

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

Odpověď

Pole Typ Popis
id string Identifikátor instance.
type string Typ zdroje dat (r2, web-crawler, nebo null).
source string Umístění zdroje dat.
namespace string Jmenný prostor, do kterého instance patří.
status string Stav instance (active, waiting, indexing).
enable boolean Zda je instance povolena.
created_at string Časové razítko vytvoření instance.
modified_at string Časové razítko poslední úpravy.
ai_search_model string Model pro generování textu.
embedding_model string Embedding model.
reranking boolean Zda je povolený reranking.
reranking_model string Model rerankingu.
rewrite_query boolean Zda je povolen přepis dotazu.
rewrite_model string Model pro přepis dotazu.
cache boolean Zda je povoleno ukládání odpovědí do mezipaměti.
cache_threshold string Práh podobnosti pro zásahy do mezipaměti.
index_method objekt Které indexovací metody jsou povoleny (vector, keyword).
fusion_method string Jak se kombinuje vektorové skóre se skóre klíčových slov (rrf nebo max).
indexing_options objekt Konfigurace indexování, včetně keyword_tokenizer.
retrieval_options objekt Konfigurace vyhledávání, včetně keyword_match_mode a boost_by.
chunk_size number Velikost tokenů v každé části obsahu.
chunk_overlap number Překryv tokenů mezi částmi obsahu.
score_threshold number Minimální práh skóre pro výsledky.
max_num_results number Maximální počet výsledků na dotaz.
sync_interval number Počet sekund mezi automatickými synchronizacemi zdroje dat.
custom_metadata array Definice položek vlastních metadat.
last_activity string Časové razítko poslední indexovací aktivity.

stats()

Vrátí aktuální průběh indexování instance. Použijte to k dotazování na dokončení po vytvoření instance nebo nahrání souborů.

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

Odpověď

Pole Typ Popis
queued number Položky čekající na zpracování.
running number Aktuálně zpracovávané položky.
completed number Úspěšně zaindexované položky.
error number Položky, které se nepodařilo zaindexovat.
skipped number Položky přeskočené během indexování.
outdated number Položky, které je potřeba znovu zaindexovat.
last_activity string Časové razítko ISO 8601 poslední indexovací aktivity.
file_embed_errors objekt Mapa ID souborů na podrobnosti chyb embeddingu.
engine.vectorize.vectorsCount number Celkový počet uložených vektorů.
engine.vectorize.dimensions number Dimenze vektorových embeddingů.
engine.r2.payloadSizeBytes number Celková velikost uložených payloadů v bajtech.
engine.r2.metadataSizeBytes number Celková velikost uložených metadat v bajtech.
engine.r2.objectCount number Celkový počet objektů v úložišti.

Lokální vývoj

Lokální vývoj je podporován přeposíláním požadavků na vaši nasazenou instanci AI Search. Přidejte remote: true do konfigurace vazby, a povolíte tak lokální vývoj s wrangler dev.

// wrangler.jsonc
{
	"ai_search": [
		{
			"binding": "MY_SEARCH",
			"instance_name": "my-instance",
			"remote": true,
		},
	],
}