【问题标题】:integrate API.Ai bot into web channel将 API.Ai 机器人集成到网络频道
【发布时间】:2017-02-22 21:02:14
【问题描述】:

是否可以将 API.Ai 集成到网络频道中? Microsoft Bot 框架有一个选项,即可以通过网络聊天以及 FB Messenger、Skype 等来调用该机器人。为此,MSFT 提供了一个可以嵌入到任何 html 页面中的聊天 URL。 API.AI 也能做到同样的事情吗?

是否也可以从任何独立应用程序调用 API.Ai 的 NLP 部分,例如经过训练的意图、上下文等?

【问题讨论】:

    标签: chatbot dialogflow-es


    【解决方案1】:

    是的,您可以借助事件调用 api.ai 的 NLP 部分。

    首先在以下 URL 的帮助下创建事件: https://docs.api.ai/docs/concept-events

    现在,您可以从您的 Web 应用程序中使用以下代码来调用这些事件,

    HttpClient httpClient = HttpClientBuilder.create().build(); 
    HttpPost request = new HttpPost("https://api.api.ai/v1/query?v=20150910");
    StringEntity params =new StringEntity("{\"event\":{ \"name\": \"custom_event\", \"data\": {\"name\": \"Sam\"}}, \"timezone\":\"America/New_York\", \"lang\":\"en\", \"sessionId\":\"123abc\"}");
    request.addHeader("content-type", "application/json");
    request.addHeader("Authorization", "Bearer 0651225b57464d209936252796106e59");
    request.setEntity(params);
    HttpResponse response = httpClient.execute(request);
    
    BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
    String line = "";
    while ((line = rd.readLine()) != null)
    {
         System.out.println(line);
    }
    

    这会返回给你适当的响应。

    【讨论】:

      【解决方案2】:

      是的,你可以。 您需要构建一个能够调用 api.ai 服务的前端应用程序(api.ai sdk)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多