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 nahrávání, výpisu a správě dokumentů ve vašich instancích AI Search z Cloudflare Workeru. K Items API přistupujte prostřednictvím items vlastnost na handle instance.

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

Metody Items API jsou dostupné jak u 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.items.upload()).

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

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

items.upload()

Nahraje dokument k indexaci. Vrátí odpověď okamžitě. Dokument se zařadí do fronty ke zpracování.

// Upload from a string
await instance.items.upload(
	"faq.md",
	"# FAQ\n\nQ: How do I reset my password?\nA: Go to Settings > Security...",
);

// Upload from an ArrayBuffer
const pdfResponse = await fetch("https://example.com/guide.pdf");
const pdfBuffer = await pdfResponse.arrayBuffer();
await instance.items.upload("guide.pdf", pdfBuffer);

// Upload from a ReadableStream
await instance.items.upload("doc.txt", request.body);

Nahrávání s metadaty

Připojte vlastní metadata k dokumentu, aby ho bylo možné filtrovat ve vyhledávacích dotazech. Vlastní pole metadat je nutné nejprve definovat na instanci pomocí update() metoda, nebo v okamžiku vytvoření.

await instance.items.upload("guide.pdf", pdfBuffer, {
	metadata: {
		category: "onboarding",
		language: "en",
		version: "2.0",
	},
});

Parametry

Parametr Typ Povinné Popis
name string Ano Název souboru pro nahraný dokument. Používá se jako klíč položky.
content ReadableStream, ArrayBuffer nebo string Ano Obsah dokumentu. Maximální velikost souboru je 4 MB. U prostého textu nebo formátu Markdown předejte řetězec, u ArrayBuffer pro binární soubory, nebo ReadableStream pro streamované nahrávání.
options.metadata Record<string, string> Ne Dvojice klíč-hodnota vlastních metadat, které se mají připojit k položce. Používají se pro filtrování v dotazech vyhledávání. Maximálně 5 položek na instanci.

Odpověď

Pole Typ Popis
id string Jedinečný identifikátor položky.
key string Název souboru nebo klíč položky.

items.uploadAndPoll()

Nahraje dokument a čeká na dokončení zpracování, nebo dokud není dosaženo časového limitu. Použijte tuto možnost, pokud potřebujete dokument prohledat ihned po nahrání.

// Wait for a specific document to finish indexing before searching
const item = await instance.items.uploadAndPoll(
	"handbook.txt",
	handbookContent,
);
console.log(`handbook.txt status: ${item.status}`); // "completed"

// Now search across all uploaded documents
const results = await instance.search({
	messages: [{ role: "user", content: "password reset policy" }],
});

Parametry

Stejné jako items.upload(), s dalšími možnostmi dotazování:

Parametr Typ Povinné Popis
options.pollIntervalMs number Ne Jak často se má kontrolovat stav položky, v milisekundách. Výchozí hodnota: 1000.
options.timeoutMs number Ne Maximální doba čekání na dokončení zpracování v milisekundách. Výchozí hodnota: 30000.

Odpověď

Po dokončení dotazování vrátí úplný objekt položky:

Pole Typ Popis
id string Jedinečný identifikátor položky.
key string Název souboru nebo klíč položky.
status string Stav zpracování: queued, running, completed, error, skipped, outdated.
chunks_count number Počet částí obsahu vytvořených z dokumentu.
file_size number Velikost nahraného souboru v bajtech.
metadata objekt Metadata položky, včetně filename, folder, a timestamp.
source_id string Identifikátor zdroje (například builtin pro nahrané soubory).
created_at string Časové razítko vytvoření položky.
last_seen_at string Časové razítko posledního výskytu položky během indexování.

items.list()

Vrátí stránkovaný seznam položek v instanci.

const { result, result_info } = await instance.items.list();

for (const item of result) {
	console.log(`${item.key} (${item.status})`);
}
// result_info.total_count contains the total number of items

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 položek na stránku. Výchozí hodnota: 20. Maximálně 50.
status string Ne Filtrování podle stavu zpracování: queued, running, completed, error, skipped, nebo outdated.
sort_by string Ne Pořadí řazení položek: status (výchozí) nebo modified_at.
search string Ne Vyhledat položky podle textového obsahu.
source string Ne Filtrování podle identifikátoru zdroje (například builtin pro nahrané soubory).

Odpověď

Pole Typ Popis
result array Pole objektů položky.
result[].id string Jedinečný identifikátor položky.
result[].key string Název souboru nebo klíč položky.
result[].status string Stav zpracování: queued, running, completed, error, skipped, outdated.
result[].chunks_count number Počet částí obsahu vytvořených z dokumentu.
result[].file_size number Velikost nahraného souboru v bajtech.
result[].metadata objekt Metadata položky, včetně filename, folder, a timestamp.
result[].source_id string Identifikátor zdroje (například builtin pro nahrané soubory).
result[].created_at string Časové razítko vytvoření položky.
result[].last_seen_at string Časové razítko posledního výskytu položky během indexování.
result_info objekt Metadata stránkování.
result_info.count number Počet položek na aktuální stránce.
result_info.total_count number Celkový počet položek v instanci.
result_info.page number Číslo aktuální stránky.
result_info.per_page number Počet položek na stránku.

items.delete()

Odstraní položku a její indexované části obsahu.

await instance.items.delete("item-id-123");

Parametry

Parametr Typ Povinné Popis
itemId string Ano Jedinečný identifikátor položky, která se má odstranit.

Odpověď

Vrátí void. Vyvolá chybu, pokud položka neexistuje.

items.get()

Vrátí handle na konkrétní položku pro načtení jejího stavu nebo stažení původního souboru.

items.get().info()

Vrátí stav a metadata konkrétní položky.

const itemInfo = await instance.items.get("item-id-123").info();
Parametry
Parametr Typ Povinné Popis
itemId string Ano Jedinečný identifikátor položky.
Odpověď
Pole Typ Popis
id string Jedinečný identifikátor položky.
key string Název souboru nebo klíč položky.
status string Stav zpracování: queued, running, completed, error, skipped, outdated.
chunks_count number Počet částí obsahu vytvořených z dokumentu.
file_size number Velikost nahraného souboru v bajtech.
metadata objekt Metadata položky, včetně filename, folder, a timestamp.
source_id string Identifikátor zdroje (například builtin pro nahrané soubory).
created_at string Časové razítko vytvoření položky.
last_seen_at string Časové razítko posledního výskytu položky během indexování.

items.get().download()

Stáhne původní zdrojový soubor položky.

const file = await instance.items.get("item-id-123").download();
// file.body is a ReadableStream
Parametry
Parametr Typ Povinné Popis
itemId string Ano Jedinečný identifikátor položky.
Odpověď
Pole Typ Popis
filename string Původní název souboru.
contentType string Typ MIME souboru (například application/pdf).
size number Velikost souboru v bajtech.
body ReadableStream Čitelný datový proud obsahu souboru.