我已经创建了一个基本的Azure '自定义问答'机器人(https://learn.microsoft.com/en-us/azure/cognitive-services/language-service/question-answering/quickstart/sdk?pivots=studio)。我通过语言工作室创建了这个机器人:通过语言工作室创建Bot
我想添加身份验证,以便只有与谁是我的Azure AD的一部分的用户能够与机器人交互。我试着遵循下面列出的教程:
- https://learn.microsoft.com/en us/azure/bot service/bot - builder authentication?view=azure bot -服务- 4.0,标签= singletenant % 2 caadv2 % 2 ccsharp
- https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/authentication/add-authentication?tabs=dotnet%2Cdotnet-sample
我无法遵循这些教程,因为它们假设bot是由以下代码库之一构建的:
https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/46.teams-auth- https://github.com/Microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/18.bot-authentication
而我通过Language Studio部署的bot看起来像是从以下框架构建的:
- https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/12.customQABot
如何将身份验证添加到通过Azure Language Studio部署的自定义问答机器人(认知服务)?目前任何人都可以和我的机器人互动。
感谢要添加身份验证,需要安装支持Python编程的库。
pip install azure-ai-language-questionanswering
添加上述库以启动认证过程。
Authenticate with Client
从Azure Cognitive Services获取API密钥。
az cognitiveservices account keys list --resource-group <resource-group-name> --name <resource-name>
实例化QuestioningAnswerClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.language.questionanswering import QuestionAnsweringClient
endpoint = "https://{myaccount}.api.cognitive.microsoft.com"
credential = AzureKeyCredential("{api-key}")
client = QuestionAnsweringClient(endpoint, credential)
如需进一步参考,请查看以下链接:
https://pypi.org/project/azure-ai-language-questionanswering/
https://learn.microsoft.com/en-us/azure/cognitive-services/authentication?tabs=powershell
由于这些都是示例,因此为了简单起见,它们都被设计为只做一件事。您需要做的实际上是直截了当的(在概念上,如果不总是在实践中)。您应该查看验证示例的代码和文档,并将验证部分集成到您的CQA机器人中。或者,您可以将CQA部分与认证机器人集成。不管你从哪个基础开始,目标都是一样的。结合两者