向量搜索将您的查询转换为向量嵌入,并找到具有相似含义的分块。默认情况下,所有 AI Search 实例都启用了该功能。有关搜索模式的概述,请参阅 搜索模式。
AI Search 实例包含由 Vectorize 提供支持的内置向量索引。该向量索引存储从您的内容生成的嵌入,并自动创建和维护。您无需自己创建或管理 Vectorize 索引。
嵌入模型 决定了向量索引的向量维度。嵌入模型是在创建实例时设置的,创建后无法更改。
向量搜索是所有实例的默认索引方法。要切换为仅 关键词搜索,请将 index_method.vector 设置为 false。vector 或 keyword 必须至少有一个为 true。
const instance = await env.AI_SEARCH.create({
id: "my-instance",
index_method: {
vector: false,
keyword: true,
},
});即使实例上已启用了关键词搜索,您也可以使用 ai_search_options.retrieval.retrieval_type 在每次请求时强制执行仅向量搜索。
const instance = env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: "What is Cloudflare?" }],
ai_search_options: {
retrieval: {
retrieval_type: "vector",
},
},
});使用向量搜索时,每个分块都包含一个 scoring_details 对象:
| 字段 (Field) | 类型 (Type) | 描述 (Description) |
|---|---|---|
vector_score |
number | 向量相似度分数(0 到 1)。 |
vector_rank |
number | 结果集中的排名位置。 |
有关向量索引的限制,请参阅 限制与定价。