簡體   English   中英

API.AI-基於網頁的示例

[英]API.AI - web page based examples

我們是否有基於API.AI的網頁示例來響應用戶查詢,並學習和改善響應。 我在網上搜索,但未找到任何內容。 可能缺少一些基本知識。

好的,如果您只是在尋找如何將API.ai chatbot部署到基於Web的自定義應用程序上(而不是例如Facebook Messenger),我建議您查看以下問題: 如何通過Java將chatbot用戶界面連接到APIAI serverhost python sdk或javascript?

我闡明了大部分細節,並鏈接到一個完整的工作示例。 那應該讓您開始。

如果您只是希望將已經使用API​​.AI構建的聊天機器人嵌入到網頁中,則非常簡單。 您需要從API.AI工作區發布機器人,復制嵌入代碼並將其粘貼到HTML中。 這將不是您可以自定義的白標簽聊天機器人,而只是在iFrame中。 它在格式設置(例如,您不能具有可單擊的超鏈接)和其他格式文本方面也有一些限制。

如果您需要更多詳細信息,可以在我的博客上查看此文章。

http://miningbusinessdata.com/embedding-api-ai-chatbot-into-your-wordpress-site/

您還可以看到一些嵌入到我自己的WordPress博客中的(簡單的)聊天機器人的示例。

http://miningbusinessdata.com/botfolio/

更新04/28/17:

我已經弄清楚了如何編寫一些自定義代碼來做到這一點。 您可以查看有關此內容的文章: https : //miningbusinessdata.com/adding-faq-chatbot-to-your-wordpress-site-using-api-ai/

Insert your access Token and enjoy! 
   <html>
    <head>
        <title>BOT </title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script type="text/javascript">
            var accessToken = "yourAccessToken";
            var baseUrl = "https://api.api.ai/v1/";
            var synth ;  
            $(document).ready(function() {
                $("#input").keypress(function(event) {
                    if (event.which == 13) {
                        event.preventDefault();
                        send();
                    }
                });
                $("#rec").click(function(event) {
                    switchRecognition();
                });
            });
            var recognition;
            function startRecognition() {
                recognition = new webkitSpeechRecognition();
                recognition.onstart = function(event) {
                    updateRec();
                };
                recognition.onresult = function(event) {
                    var text = "";
                    for (var i = event.resultIndex; i < event.results.length; ++i) {
                        text += event.results[i][0].transcript;
                    }
                    setInput(text);
                    stopRecognition();
                };
                recognition.onend = function() {
                    stopRecognition();
                };
                recognition.lang = "en-US";
                recognition.start();
            }

            function stopRecognition() {
                if (recognition) {
                    recognition.stop();
                    recognition = null;
                }
                updateRec();
            }
            function switchRecognition() {
                if (recognition) {
                    stopRecognition();
                } else {
                    startRecognition();
                }
            }
            function setInput(text) {
                $("#input").val(text);
                send();
            }
            function updateRec() {
                $("#rec").text(recognition ? "Stop" : "Speak");
            }
            function send() {
                var text = $("#input").val();
                $.ajax({
                    type: "POST",
                    url: baseUrl + "query?v=20150910",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    headers: {
                        "Authorization": "Bearer " + accessToken
                    },
                    data: JSON.stringify({ query: text, lang: "en", sessionId: "somerandomthing" }),
                    success: function(data) {
                        setResponse(JSON.stringify(data, undefined, 2));
                    },
                    error: function() {
                        setResponse("Errore di comunicazione con il server.");
                    }
                });
                setResponse("Caricamento...");
            }
            function setResponse(val) {
            //$("#response").text(val);
            var obj = JSON.parse(val);
            var response = obj.result.fulfillment.messages[0].speech;//testo a capo  //obj.result.fulfillment.speech;
            if (response != null)
                $("#response").text(response);
                else 
                $("#response").text(val);


            }
        </script>
        <style type="text/css">
            body { width: 500px; margin: 0 auto; text-align: center; margin-top: 20px; }
            div {  position: absolute; }
            input { width: 400px; }
            button { width: 50px; }
            textarea { width: 100%; }
        </style>
    </head>
    <body>
        <div>
            <input id="input" type="text"> <button id="rec">Speak</button>
            <br>Response<br> <textarea id="response" cols="40" rows="20"></textarea>
        </div>
    </body>
    </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM