При импорте Azure HnswVectorSearchAlgorithmConfiguration возникает ошибка: невозможно импортировать имя «HnswVectorSearchAlgorithmConfiguration».
Вот справочный документ, которому я следую:https://esteininger.medium.com/building-a-vector-search-engine-using-hnsw-and-cosine-similarity-753fb5268839 и https://github.com/Azure. /cognitive-search-vector-pr/blob/main/demo-python/code/azure-search-vector-python-sample.ipynb
from azure.search.documents.models import Vector
from azure.search.documents.indexes.models import (
SearchIndex,
SearchField,
SearchFieldDataType,
SimpleField,
SearchableField,
SearchIndex,
SemanticConfiguration,
PrioritizedFields,
SemanticField,
SearchField,
SemanticSettings,
VectorSearch,
HnswVectorSearchAlgorithmConfiguration
)
введите сюда описание изображения
Сначала я столкнулся с ошибкой импорта, связанной с импортом Vector. Я видел это решение в stackoverflow, обновив azure.search.documents до версии ==11.4.0b6; Хотя HnswVectorSearchAlgorithmConfiguration всегда будет ошибкой, независимо от того, какую версию я использовал. Я пробовал azure.search.documents 11.4.0b6 и 11.4.0b4.
Если ошибка импорта останется нерешенной, следующая часть также будет ошибкой.
vector_search = VectorSearch(
algorithm_configurations=[
HnswVectorSearchAlgorithmConfiguration(
name="my-vector-config",
kind="hnsw",
parameters={
"m": 4,
"efConstruction": 400,
"efSearch": 500,
"metric": "cosine"
}
)
]
)
Я также пытался пройти мимоimport hnswlib
, но это не сработало... введите сюда описание изображения
Если кто-то справился с этой проблемой, пожалуйста, дайте мне знать. Спасибо!
3 ответа
Используя функцию Vector Когнитивного поиска Azure, вам не нужно устанавливать hnswlib отдельно.
Можете ли вы убедиться, что используете последнюю версию пакета pip azure-search-documents?
Пытатьсяpip install azure-search-documents --pre --upgrade
.
Последнюю предварительную версию Python SDK, включающую возможности векторного поиска, можно найти здесь: https://pypi.org/project/azure-search-documents/11.4.0b8/
Продолжаем полезный ответ Фарззи:
У меня была такая же проблема, я просто бежалpip install azure-search-documents --pre --upgrade
это не исправило, поэтому я также выполнил следующие команды:
pip install azure-search --pre --upgrade
pip install azure-core --pre --upgrade
И один из них это исправил.
Ни один из предложенных ответов мне не помог, но в итоге я нашел другое решение в Azure Samples. Надеюсь это поможет...
репозиторий: https://github.com/Azure-Samples/azure-search-comparison-tool .
Я импортировал HnswParameters и VectorSearchAlgorithmConfiguration из azure.search.documents.indexes.models вместо HnswVectorSearchAlgorithmConfiguration:
from azure.search.documents.indexes.models import (
HnswParameters,
PrioritizedFields,
SearchableField,
SearchField,
SearchFieldDataType,
SearchIndex,
SemanticConfiguration,
SemanticField,
SemanticSettings,
SimpleField,
VectorSearch,
VectorSearchAlgorithmConfiguration,
)
Затем я изменил конфигурацию векторного поиска на:
vector_search = VectorSearch(
algorithm_configurations=[
VectorSearchAlgorithmConfiguration(
name="natp-vector-config",
kind="hnsw",
hnsw_parameters=HnswParameters(m=4, ef_construction=400, ef_search=500, metric="cosine")
)
]
)