Когнитивный поиск Azure: получен неожиданный аргумент ключевого слова «query_language» в Python vscode
Я пытаюсь использовать когнитивный поиск Azure с поддержкой семантического поиска в моем приложении flask (в виртуальной среде Python). Когда я выполняю pip install azure.search.documents, устанавливается версия 11.3.0, и я получаю следующую ошибку:
TypeError: Session.request() got an unexpected keyword argument 'query_language'
то же самое для query_speller, semantic_configuration_name и т. д.
вот код, который я использую:
results = list(
self.search_client.search(search_text="xxx",
query_type ="semantic",
query_language ="en-us",
query_speller ="lexicon",
semantic_configuration_name ="xxx",
top=3,
captions= None)
код ниже работает нормально
results = list(self.search_client.search(search_text="xxx"))
2 ответа
Я попробовал в своей среде и получил следующие результаты:
Первоначально я получил ту же ошибку, что и при попытке
azure-search-documents=11.3.0
package в моей среде.
Ошибка типа: Session.request() получил неожиданный аргумент ключевого слова «query_language».
Вы можете использовать приведенный ниже код и пакет, чтобы включить семантический поиск. Когнитивный поиск Azure.
Упаковка:
pip install azure-search-documents==11.4.0b3
Код:
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
endpoint = "AZURE_SEARCH_SERVICE_ENDPOINT"
index_name = "AZURE_SEARCH_INDEX_NAME"
api_key = "AZURE_SEARCH_API_KEY"
credential = AzureKeyCredential(api_key)
client = SearchClient(endpoint=endpoint,
index_name=index_name,
credential=credential)
results = list(client.search(search_text="Budget Room",
query_type ="semantic",
query_language ="en-us",
query_speller ="lexicon",
semantic_configuration_name ="semantic",
top=3))
print(results)
Выход:
Приведенный выше код был выполнен и успешно получил необходимые результаты.
[{'LastRenovationDate': '2014-10-31T00:00:00Z', 'Category': 'Budget', 'Description': 'The Best Gaming Resort in the area. With elegant rooms & suites, pool, cabanas, spa, brewery & world-class gaming. This is the best place to play, stay & dine.', 'ParkingIncluded': False, 'Tags': ['continental breakfast', 'bar', 'pool'], 'Location': {'type': 'Point', 'coordinates': [-106.605949, 35.1087], 'crs': {'type': 'name', 'properties': {'name': 'EPSG:4326'}}}, 'Description_fr': "La meilleure station de jeux dans la région.
Также убедитесь, что для вашего сервиса включен семантический поиск.
Ссылка: класс Azure.search.documents.SearchClient | Microsoft Обучение
Семантический поиск все еще находится в предварительной версии и доступен только в бета-версиях.
Попробуйте установить последнюю бета-версию библиотеки azure-search-documents.
(Я работаю в команде SDK в MS)