Когнитивный поиск 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.0package в моей среде.

Ошибка типа: 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)

Другие вопросы по тегам