You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已生成向量索引后,如何用Python在Azure AI Search执行向量/混合搜索?

向量搜索与混合搜索实现步骤

前提准备

确保已安装必要的Python包:

pip install azure-search-documents azure-ai-openai python-dotenv

1. 向量搜索实现

向量搜索需要先将用户输入的文本转换为对应向量,再基于该向量在索引中匹配相似内容。

完整代码示例

from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
from azure.ai.openai import OpenAIClient

# 配置参数(替换为你的实际值)
SEARCH_ENDPOINT = "你的Azure AI Search端点"
SEARCH_KEY = "你的Azure AI Search密钥"
INDEX_NAME = "你的向量索引名称"
OPENAI_ENDPOINT = "你的Azure OpenAI端点"
OPENAI_KEY = "你的Azure OpenAI密钥"
EMBEDDING_MODEL_NAME = "你的嵌入模型名称(如text-embedding-ada-002)"
VECTOR_FIELD_NAME = "你的索引中的向量字段名(如content_vector)"

# 初始化客户端
search_credential = AzureKeyCredential(SEARCH_KEY)
search_client = SearchClient(
    endpoint=SEARCH_ENDPOINT,
    index_name=INDEX_NAME,
    credential=search_credential
)

openai_credential = AzureKeyCredential(OPENAI_KEY)
openai_client = OpenAIClient(
    endpoint=OPENAI_ENDPOINT,
    credential=openai_credential
)

# 获取用户查询并生成向量
text = input("Qes: ")
response = openai_client.embeddings.create(
    input=text,
    model=EMBEDDING_MODEL_NAME
)
query_vector = response.data[0].embedding

# 执行向量搜索
results = search_client.search(
    search_text=None,  # 向量搜索时无需关键词文本
    vector=query_vector,
    vector_fields=VECTOR_FIELD_NAME,
    select="title",
    top=5  # 返回前5条最相似结果
)

# 输出结果
for ans in results:
    print(f"标题: {ans['title']}, 相似度评分: {ans['@search.score']}")

2. 混合搜索实现

混合搜索会同时结合关键词匹配和向量相似性匹配,返回综合评分最高的结果,适合同时需要精准关键词和语义相似的场景。

完整代码示例

只需修改搜索部分的代码,其余配置与向量搜索一致:

# 执行混合搜索
results = search_client.search(
    search_text=text,  # 保留关键词查询
    vector=query_vector,
    vector_fields=VECTOR_FIELD_NAME,
    select="title",
    top=5
)

# 输出结果
for ans in results:
    print(f"标题: {ans['title']}, 综合评分: {ans['@search.score']}")

注意事项

  • 确保VECTOR_FIELD_NAME与你在Azure AI Search索引中定义的向量字段名称完全一致(可在索引的"字段"页签查看)。
  • 嵌入模型需与你导入数据时使用的模型保持一致,否则向量无法匹配。
  • 可通过调整top参数控制返回结果的数量,通过filter参数添加过滤条件进一步缩小范围。

内容的提问来源于stack exchange,提问作者alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:02:20