【问题标题】:Training Dialogflow agent via API V2通过 API V2 训练 Dialogflow 代理
【发布时间】:2018-05-03 07:42:52
【问题描述】:

我正在尝试自动训练代理并且我正在使用 V2 API。 当我想将新的示例训练短语添加到现有意图时,我认为我需要使用此 API 调用来更新意图:https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.intents/patch

但如果我调用该 API 的意图只有一个新的训练短语,它将删除所有现有的短语。所以我可能需要先获取意图的内容。我试图通过这个 API 调用来做到这一点:https://dialogflow.com/docs/reference/api-v2/rest/v2/projects.agent.intents/get

但问题是返回的意图根本不包含训练短语。

谁能帮我通过 V2 API 添加训练短语?

【问题讨论】:

    标签: dialogflow-es


    【解决方案1】:

    感谢 Dialogflow 的支持,我得到了答案,即我在 get intent 调用中缺少 intentView 参数,这就是训练短语不可见的原因。现在它返回它们,我可以训练代理!

    【讨论】:

    • 请问您使用的是什么编程语言?如果您使用的是 Java,请问您如何设置 IntentView 以获取训练短语列表?
    • 我正在使用 JavaScript,但我的问题与语言无关,因为我只想知道如何使用 API。您应该寻找如何在 Java 中传递查询参数的答案。
    • @mattipet:M 面临同样的问题。我已经通过 Dialogflow 控制台训练了意图,并尝试通过 curl 仅使用一个训练短语来训练相同的意图。它给了“成功”200,但现在在控制台上,我既看不到我的旧训练短语,也看不到我通过 curl 给出的新短语。你能帮忙吗?我是否丢失了该 Intent 的所有旧训练集???
    • 我得到了我之前的错误。现在得到我的新意图训练短语(在控制台上),但旧的仍然丢失。以下是我的 curl 命令,感谢您的帮助。 curl -X PUT \ 'https://api.dialogflow.com/v1/intents/<id>?v=20150910' \ -H 'Authorization: Bearer <dev-token>' \ -H 'Content-Type: application/json' \ --data '{ "auto": true, "name": "dislike_reaction", "userSays": [{ "data": [{ "text": "once more" }] }, { "data": [{ "text": "1 more" }] } ], "webhookForSlotFilling": false, "webhookUsed": false }'
    • 我认为您正在调用 detectIntent 端点并且不会返回训练阶段 AFAIK。我调用 getIntent 的方式是curl -X GET "https://dialogflow.googleapis.com/v2beta1/projects/<project-id>/agent/intents/<intent-id>?intentView=INTENT_VIEW_FULL" -H "Authorization: Bearer <dev-token>"
    猜你喜欢
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多