← Přehled / ai-search / api / instances
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:
ai_search_namespaces - Vazba instance:
ai_search
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 instancesParametry
| 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.
prefixstringvolitelné- U zdrojů R2 omezuje indexování na objekty s touto předponou klíče.
r2_jurisdictionstringvolitelné- Jurisdikce pro bucket R2, například
eu.
- Jurisdikce pro bucket R2, například
include_itemsarrayvolitelné- Glob patterns pro cesty, které se mají zahrnout do indexování. Například:
["/blog/**", "/docs/**/*.html"].
- Glob patterns pro cesty, které se mají zahrnout do indexování. Například:
exclude_itemsarrayvolitelné- Glob patterns pro cesty, které se mají vyloučit z indexování. Například:
["/admin/**", "/private/**"].
- Glob patterns pro cesty, které se mají vyloučit z indexování. Například:
web_crawlerobjectvolitelné- Konfigurace zdrojů pro procházení webu.
parse_typestringvolitelné- Jak se vyhledávají stránky. Platné hodnoty:
sitemap(načítá soubory XML sitemap),discover(začíná na zdrojové URL adrese a ve výchozím nastavení používá jak soubory sitemap, tak odkazy nalezené na procházených stránkách). Výchozí hodnota:sitemap. Viz Parse types.
- Jak se vyhledávají stránky. Platné hodnoty:
parse_optionsobjectvolitelnéinclude_headersobjectvolitelné- Vlastní hlavičky HTTP, které se mají zahrnout při procházení.
include_imagesbooleanvolitelné- Zda zahrnout obrázky do indexu.
specific_sitemapsarrayvolitelné- Konkrétní adresy URL sitemap k procházení. Například:
["https://example.com/sitemap.xml"]. Platí jen v případě, žeparse_typejesitemap.
- Konkrétní adresy URL sitemap k procházení. Například:
use_browser_renderingbooleanvolitelné- Použijte Browser Run (dříve Browser Rendering) k procházení stránek vykreslených pomocí JavaScriptu.
discover_optionsobjectvolitelné- Nastavení procházení, která se použijí, když
parse_typejediscover. sourcestringvolitelné- Kde crawler hledá kandidátní adresy URL. Platné hodnoty:
all,sitemaps,links. Výchozí hodnota jeall.
- Kde crawler hledá kandidátní adresy URL. Platné hodnoty:
limitnumbervolitelné- Maximální počet stránek k procházení. Platné hodnoty:
1na100000. Výchozí hodnota je100000.
- Maximální počet stránek k procházení. Platné hodnoty:
depthnumbervolitelné- Maximální počet odkazových skoků, které se mají sledovat od zdrojové URL adresy. Platné hodnoty:
1na100000. Výchozí hodnota je5.
- Maximální počet odkazových skoků, které se mají sledovat od zdrojové URL adresy. Platné hodnoty:
max_agenumbervolitelné- Jak dlouho, v sekundách, crawler znovu používá obsah stránky uložený v mezipaměti, než ho znovu načte z origin serveru. Platné hodnoty:
0na604800. Výchozí hodnota je86400.
- Jak dlouho, v sekundách, crawler znovu používá obsah stránky uložený v mezipaměti, než ho znovu načte z origin serveru. Platné hodnoty:
include_external_linksbooleanvolitelné- Zda sledovat odkazy vedoucí na jiné domény. Výchozí hodnota je
false.
- Zda sledovat odkazy vedoucí na jiné domény. Výchozí hodnota je
include_subdomainsbooleanvolitelné- Zda sledovat odkazy vedoucí na subdomény zdrojové adresy URL. Výchozí hodnota je
false.
- Zda sledovat odkazy vedoucí na subdomény zdrojové adresy URL. Výchozí hodnota je
- Nastavení procházení, která se použijí, když
store_optionsobjectvolitelnéstorage_typestringvolitelné- Typ úložiště. Platná hodnota:
r2.
- Typ úložiště. Platná hodnota:
storage_idstringvolitelné- ID úložného bucketu.
r2_jurisdictionstringvolitelné- Jurisdikce pro úložný bucket.
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.
vectorbooleanvolitelné- Povolte sémantické vyhledávání založené na vektorech. Výchozí hodnota je
true.
- Povolte sémantické vyhledávání založené na vektorech. Výchozí hodnota je
keywordbooleanvolitelné- Povolte vyhledávání založené na klíčových slovech. Výchozí hodnota je
false.
- Povolte vyhledávání založené na klíčových slovech. Výchozí hodnota je
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.
keyword_tokenizerstringvolitelné- Tokenizér použitý pro indexování klíčového vyhledávání. Platné hodnoty:
porter(založený na stemmingu),trigram(znakový n-gram). Výchozí hodnota:porter.
- Tokenizér použitý pro indexování klíčového vyhledávání. Platné hodnoty:
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.
keyword_match_modestringvolitelné- Určuje, jak porovnávání podle klíčových slov (BM25) vybírá kandidátní dokumenty.
andvyžaduje shodu všech výrazů.orvyžaduje shodu alespoň jednoho výrazu. Výchozí hodnota jeand.
- Určuje, jak porovnávání podle klíčových slov (BM25) vybírá kandidátní dokumenty.
boost_byarrayvolitelné- Výchozí posilovací položky použité na všechny dotazy vyhledávání. Maximálně 3 položky. Každá položka obsahuje:
fieldstringpovinné - Název pole metadat, podle kterého se má posílení provést. Maximálně 64 znaků.directionstringvolitelné - Směr posílení (boost). Platné hodnoty:asc,desc,exists,not_exists.
- Výchozí posilovací položky použité na všechny dotazy vyhledávání. Maximálně 3 položky. Každá položka obsahuje:
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ů.
field_namestringpovinné- Název pole metadat.
data_typestringpovinné- Datový typ pole. Platné hodnoty:
text,number,boolean,datetime.
- Datový typ pole. Platné hodnoty:
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,
},
],
}