我发现了一个可以确定女巫意图的示例是在给定文本的情况下触发的
但是我需要做几乎一样的事情,唯一的不同是我想触发一个特定的意图。

这是我找到的示例,但不是我所需要的。

我正在使用dialogflow库到新的apiv2

def detect_intent_texts(project_id, session_id, texts, language_code):
"""Returns the result of detect intent with texts as inputs.

Using the same `session_id` between requests allows continuation
of the conversaion."""
session_client = dialogflow.SessionsClient()

session = session_client.session_path(project_id, session_id)
print('Session path: {}\n'.format(session))

for text in texts:
    text_input = dialogflow.types.TextInput(
        text=text, language_code=language_code)

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

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

    print('=' * 20)
    print('Query text: {}'.format(response.query_result.query_text))
    print('Detected intent: {} (confidence: {})\n'.format(
        response.query_result.intent.display_name,
        response.query_result.intent_detection_confidence))
    print('Fulfillment text: {}\n'.format(
        response.query_result.fulfillment_text))

最佳答案

将这个答案作为对Prasoon的回答的补充,Prasoon已经为您确定了正确的方向,但是我将提供一些其他信息,这些信息可能会对您的用例更有用。

我看到您正在使用the basic Dialogflow API V2 examplePython Dialogflow Client Library上工作(您可以在this other link中找到该库的完整参考)。

根据migration from API V1 to V2上的文档,V1中的/query调用在V2中被转换为detectIntent,您在问题中共享的示例代码中正在使用该调用。 detectIntent方法在其queryInput field中指定查询的输入,该输入可以包含一个事件,该事件指定要触发的意图。

知道了这一点,让我们转到Python客户端参考。在这里,您将找到一个dialogflow.types.EventInput class,可用于定义Event以便调用您选择的特定意图。

考虑到所有这些信息,您应该开始定义您选择的事件,然后通过EventInput方法将detectInput添加到查询中。

关于python - 查询特定意图Dialogflow apiv2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49969780/

10-13 05:28