如何找到QnAMaker的知识库ID(kbid)?

时间:2019-02-26 05:51:25

标签: botframework azure-bot-service qnamaker

我正在尝试将QnAmaker知识库与Azure Bot Service集成。  我在QnAMaker门户上找不到知识库ID。 如何在QnAPortal中找到kbid?

2 个答案:

答案 0 :(得分:3)

知识库ID可以位于知识库中“部署详细信息”下的“设置”中。正是gui嵌套在POST中的“知识库”和“ generateAnswer”之间(请参见下图)。

enter image description here

希望有帮助!

答案 1 :(得分:0)

嘿,您也可以通过查看以下代码使用 python 来获取此信息。 也就是说,如果您想编写一个程序来动态获取 kb id。

import http.client, os, urllib.parse, json, time, sys

# Represents the various elements used to create HTTP request path for QnA Maker 
operations.
# Replace this with a valid subscription key.
# User host = '<your-resource-name>.cognitiveservices.azure.com' 
host = '<your-resource-name>.cognitiveservices.azure.com'
subscription_key = '<QnA-Key>'
get_kb_method = '/qnamaker/v4.0/knowledgebases/'

try:
    headers = {
    'Ocp-Apim-Subscription-Key': subscription_key,
    'Content-Type': 'application/json'
    }

    conn = http.client.HTTPSConnection(host)
    conn.request ("GET", get_kb_method, None, headers)

    response = conn.getresponse()
    data = response.read().decode("UTF-8")
    result = None
    if len(data) > 0:
        result = json.loads(data)
        print 
        #print(json.dumps(result, sort_keys=True, indent=2))
    # Note status code 204 means success.
    KB_id = result["knowledgebases"][0]["id"]
    print(response.status)
    print(KB_id)

except :
    print ("Unexpected error:", sys.exc_info()[0])
    print ("Unexpected error:", sys.exc_info()[1])