Python 中使用矢量嵌入的 Azure 认知搜索错误

问题描述 投票:0回答:4

我正在尝试使用 Azure 认知搜索进行矢量搜索。尝试使用 python sdk,我收到一条错误,提示 ImportError: Cannot import name 'Vector' from 'azure.search.documents.models'.

我确实使用 pip 安装了 azure-search-documents,它是最新版本。关于我在这里缺少什么的任何指示。

使用 github 示例在 Azure 认知搜索中创建矢量存储

azure search vector
4个回答
1
投票

我想补充一下黑客的答案。较新的预览版本也可以使用。因此,以下命令也应该可以解决您的问题:

pip install azure-search-documents==11.4.0b6

0
投票

矢量搜索的 Azure 认知搜索仅适用于私人预览。如果你想使用它,你需要安装特定的版本。 azure-搜索文档==11.4.0a20230509004

有关更多信息:请参阅此链接https://github.com/Azure/cognitive-search-vector-pr/blob/main/demo-python/code/azure-search-vector-python-sample.ipynb


0
投票

如果您已经选择了其他版本,但它不起作用。尝试更改 kernel,在尝试了 azure-search-documents 的所有版本后,它对我有用,但仍然不起作用。


0
投票

上面提供的链接有答案。您面临的问题是因为最新版本

azure-search-documents==11.4.0 
不再有 Vector 类,而是我们必须使用上面共享链接中提供的 VectorizedQuery。

早期的预览版本有这个 Vector 类。 例如:

azure-search-documents==11.4.0b8

因此,您必须更新到最新版本,这总是更好,并更新代码以使用 VectorizedQuery 而不是 Vector。 search_client 还采用新参数 vector_queries 而不是之前的 vectors

包含最新 azure-search-documents 的示例代码


from azure.search.documents.models import VectorizedQuery
...

vector_query = VectorizedQuery(vector=get_embeddings(query), k_nearest_neighbors=3, fields="descriptionVector")

    results = search_client.search(
        vector_queries=[vector_query],
        select=["hotelId", "hotelName"],
    )

来源:https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/samples/sample_vector_search.py#L139

© www.soinside.com 2019 - 2024. All rights reserved.