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

Dialogflow es DialogFlow(您可以有一个主代理来控制其他代理吗?),dialogflow-es,Dialogflow Es,有点像是模块化的角度。模块是组织应用程序并使用外部库的功能对其进行扩展的一种很好的方法 让一个主代理连接到不同的代理?您可以创建多个代理,然后编写脚本,根据条件使用sdk调用代理 每个代理都有一个项目id,用于与代理建立连接 下面是如何在python中使用它的示例: import dialogflow def detect_intent_texts(project_id, session_id, text) session_client = dialogflow.SessionsCli

有点像是模块化的角度。模块是组织应用程序并使用外部库的功能对其进行扩展的一种很好的方法


让一个主代理连接到不同的代理?

您可以创建多个代理,然后编写脚本,根据条件使用sdk调用代理

每个代理都有一个项目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\u result.query\u text
查看用户查询,并使用
res.query\u result.intent.display\u name
查看检测到的意图

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


希望有帮助。

我还没有看到这样做,但我认为一个合理的步骤是使用API将多个代理合并为一个。较小的代理有利于模块化。更大的代理有利于最始终如一地做用户想要做的事情。