Azure Cognitive Search语义搜索调用报错,指定API版本未生效求助
解决Azure Cognitive Search Python SDK语义搜索时API版本不生效问题
问题原因
你使用的azure-search-documents 11.3.0版本存在API版本硬编码缺陷:本地生成的_documents_operations.py文件强制使用2020-06-30版本,即便在SearchClient中指定了支持语义搜索的2021-04-30-Preview,实际请求仍会用旧版本发起,而该版本不支持semantic查询类型,因此触发报错。
解决方案
升级SDK到修复版本
执行命令更新到支持动态API版本的SDK(建议升级到11.4.0及以上版本,官方已在该版本修复硬编码问题):pip install --upgrade azure-search-documents重新配置SearchClient并执行语义搜索
升级后,确保初始化SearchClient时明确指定预览版API版本,示例代码:from azure.search.documents import SearchClient from azure.core.credentials import AzureKeyCredential # 初始化客户端 search_client = SearchClient( endpoint="你的搜索服务端点", index_name="目标索引名称", credential=AzureKeyCredential="你的管理员密钥", api_version="2021-04-30-Preview" ) # 执行语义搜索 semantic_results = search_client.search( search_text="你的搜索关键词", query_type="semantic", semantic_configuration_name="你的语义配置名称" )清理本地残留文件(可选)
删除本地旧的_documents_operations.py文件,避免旧硬编码代码残留干扰新SDK的正常运行。
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

