Azure 搜索客户端授权失败

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

我正在尝试从混合搜索返回响应:

query = "scalable storage solution"  

service_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"] 
index_name = os.environ["AZURE_SEARCH_INDEX_NAME"]

credential = DefaultAzureCredential()
search_client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential)
embedding = client.embeddings.create(input=query, model=embedding_model_name).data[0].embedding
vector = VectorizedQuery(vector=embedding,  k_nearest_neighbors=3,  fields="embedding")


results =  search_client.search(query_type='semantic', 
            semantic_configuration_name='config124'
            search_text=query, 
            vector_queries = [vector],
            top=3)

for result in results:  
        print(f"Score: {result['@search.score']}")

但是我得到了错误:

/search/documents/_generated/operations/_documents_operations.py", line 756, in search_post
    azure.core.exceptions.HttpResponseError: () Authorization failed.
    Code:
    Message: Authorization failed.

我还可以通过什么来确保其授权?

对于向量,“字段”的值是多少?

azure azure-active-directory
1个回答
0
投票

结果:

credential = DefaultAzureCredential()

取决于它的运行位置。

例如,如果它在 Azure 应用服务中运行:

您也可以使用 api 密钥进行连接https://learn.microsoft.com/en-us/azure/search/search-security-api-keys?tabs=portal-use%2Cportal-find%2Cportal-query

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