DialogFlow(您可以有一个主代理来控制其他代理吗?)

时间:2018-07-12 19:28:39

标签: dialogflow

类似于Angular的模块。模块是组织应用程序并使用外部库的功能对其进行扩展的好方法。

是否有一个主代理与不同的代理连接?

1 个答案:

答案 0 :(得分:1)

您可以创建多个代理,然后编写一个脚本,在该脚本中,您可以根据情况使用sdk调用这些代理。

每个代理都有一个项目ID,该ID将用于建立与该代理的连接。

下面是在python中如何操作的示例:

import dialogflow

def detect_intent_texts(project_id, session_id, text)
    session_client = dialogflow.SessionsClient()

    session = session_client.session_path(project_id, session_id)
    text_input = dialogflow.types.TextInput(text=text)

    query_input = dialogflow.types.QueryInput(text=text_input)

    response = session_client.detect_intent(
        session=session, query_input=query_input)


session_id = initialize_session_id_from_application
text = get_text_from_application

if condition == 1:
    res = detect_intent_texts(project_id_1, session_id, text)
elif condition == 2:
    res = detect_intent_texts(project_id_2, session_id, text)
else:
    res = detect_intent_texts(project_id_3, session_id, text)

您可以使用res.query_result.query_text查看用户查询,并使用res.query_result.intent.display_name查看检测到的意图。

请注意,不同的意图会在内部创建不同的会话。

希望有帮助。