Heim >Technologie-Peripheriegeräte >IT Industrie >So bauen Sie Ihren eigenen KI -Assistenten mit api.ai auf

So bauen Sie Ihren eigenen KI -Assistenten mit api.ai auf

Jennifer Aniston
Jennifer AnistonOriginal
2025-02-17 09:16:08186Durchsuche

How to Build Your Own AI Assistant Using Api.ai

Möchten Sie ein detailliertes Verständnis der künstlichen Intelligenz haben? Sehen Sie sich unser Video -Tutorial an "Microsoft Cognitive Services and Text Analysis API: Implementierung der KI -Sentiment -Analyse in Ihrem Roboter".

How to Build Your Own AI Assistant Using Api.ai Die Welt der intelligenten Assistenten verändert sich mit jedem Tag - Siri, Cortana, Alexa, OK Google, Facebook M, Bixby - Alle Tech -Riesen haben ihre eigenen Smart Assistants. Viele Entwickler erkennen jedoch nicht, dass der Bau eines eigenen KI -Assistenten tatsächlich sehr einfach ist! Sie können sich an Ihre Bedürfnisse, IoT -Geräte und benutzerdefinierte APIs anpassen, und die Möglichkeiten sind endlos.

Hinweis: Dieser Artikel wurde 2017 aktualisiert, um die neuesten Änderungen in API.AI zu widerspiegeln.

Früher habe ich 2016 einen Leitfaden über fünf einfache Möglichkeiten geschrieben, künstliche Intelligenz aufzubauen, die einige einfache Optionen zum Aufbau eines KI -Assistenten abdeckt. In diesem Artikel möchte ich mich auf einen bestimmten Service konzentrieren - API.AI, der den Bau eines voll funktionsfähigen KI -Assistenten extrem einfach macht und nur sehr wenige Anfangseinstellungen aufweist.

Schlüsselpunkte

  • api.ai (jetzt Teil von Google Cloud) ermöglicht es Entwicklern, AI-Assistenten mithilfe natürlicher Sprachverarbeitung und Sprach-Text-Funktionen zu erstellen.
  • Erste Schritte mit api.ai ist einfach - melden Sie sich einfach bei Ihrem Google -Konto an, stimmen Sie den Bedingungen zu und erstellen Sie Ihren ersten Proxy.
  • Passen Sie Ihren KI-Assistenten an, indem Sie die Chat-Funktion in api.ai aktivieren, damit Ihr Bot benutzerfreundlicher und attraktiver klingt.
  • Verbinden Sie Ihre Weboberfläche mit JavaScript und HTML5 mit api.ai, um die Befehle für die Texteingabe und Sprachanlagen zu aktivieren.
  • api.ai bietet detaillierte JSON -Reaktions- und Debugging -Tools, um die Antworten von AI -Assistenten zu verbessern und zu beheben.
  • Für das Hosting sollten Sie Dienste wie Glitch.com für kostenlose HTTPS-fähige Webhosting verwenden, um eine sichere Kommunikation mit api.ai zu gewährleisten.

Erstellen Sie einen AI -Assistenten mit api.ai

Dieser Artikel ist einer von Artikeln, mit denen Sie einen einfachen persönlichen Assistenten mit API.AI betreiben sollen:

  1. So bauen Sie Ihren eigenen KI -Assistenten mit api.ai (in diesem Artikel!)
  2. auf
  3. Passen Sie Ihren API.AI -Assistenten mit Absicht und Kontext an
  4. an
  5. Verbessern Sie Ihren API.AI -Assistenten mit Unternehmen
  6. So verbinden Sie Ihren API.AI -Assistenten mit dem Internet der Dinge

Was ist api.ai?

api.ai ist ein Dienst, mit dem Entwickler Sprach-zu-Text-Verarbeitung, natürliche Sprachverarbeitung, künstliche Intelligenzsysteme erstellen können, die Sie mit Ihren eigenen benutzerdefinierten Funktionen trainieren können. Sie haben eine Reihe vorhandener Wissensbasis, die als „Domänen“ bezeichnet werden und die API.AI Systeme erstellt, die automatisch verstehen können - die sich in diesem Artikel konzentrieren werden. Das Feld bietet eine vollständige Wissensbasis von Enzyklopädienkenntnissen, Sprachübersetzung, Wetter und anderem Wissen. In einem zukünftigen Beitrag werde ich einige der fortgeschritteneren Aspekte von API.AI abdecken, mit denen Sie Ihren Assistenten weiter personalisieren können.

api.ai Erste Schritte

Erstens gehen wir zur api.ai -Website und klicken auf die Schaltfläche „Kostenloser Start“ oder auf die Schaltfläche „Kostenlose Anmeldung“ in der oberen rechten Ecke.

Gehen wir dann zu einem ziemlich einfachen Registrierungsformular: Geben Sie Ihren Namen, Ihre E -Mail und Ihr Passwort ein und klicken Sie auf "Register". Für diejenigen, die einen anderen Satz von Anmeldeinformationen vermeiden möchten, können Sie sich auch mit Ihrem GitHub oder Google -Konto mit der Schaltfläche rechts anmelden.

How to Build Your Own AI Assistant Using Api.ai Da API.AI von Google erworben wurde, wurde es bewegt, sich nur mit Google -Konten anzumelden. Wenn Sie also neu bei API.AI sind, müssen Sie sich mit Ihrem Google -Konto anmelden:

Klicken Sie auf "Ermöglichen" auf dem nächsten Bildschirm, um die API.AI -Erlaubnis zu erteilen, auf Ihr Google -Konto zuzugreifen:

How to Build Your Own AI Assistant Using Api.ai

Sie müssen auch ihre Nutzungsbedingungen lesen und zustimmen:

How to Build Your Own AI Assistant Using Api.ai

Nach der Registrierung gehen Sie direkt zur API.AI -Schnittstelle, an der Sie Ihren virtuellen AI -Assistenten erstellen können. Jeder Assistent, den Sie erstellen und eine bestimmte Fähigkeit unterrichten, wird in API.AI als „Agent“ bezeichnet. Erstens können Sie in der oberen linken Ecke auf die Schaltfläche "Agent erstellen" klicken, um Ihren ersten Agenten zu erstellen:

How to Build Your Own AI Assistant Using Api.ai

Sie müssen möglicherweise API.AI neu autorisieren, um zusätzliche Berechtigungen für Ihr Google-Konto zu erhalten. Das ist normal, kein Problem! Klicken Sie auf "Autorisierung", um fortzufahren:

How to Build Your Own AI Assistant Using Api.ai

Dann erlauben Sie:

How to Build Your Own AI Assistant Using Api.ai

Geben Sie im nächsten Bildschirm die Details Ihres Agenten ein, einschließlich:
  • Name: Dies dient nur dazu, Ihre Unterscheidung zwischen Proxy in der API.AI -Schnittstelle zu erleichtern. Sie können den Agenten so benennen, wie Sie möchten-es kann der Name der Person (ich habe Barry gewählt) oder den Namen sein, der die Aufgabe darstellt, bei der sie helfen (z. B. Lichtkontroller).
  • Beschreibung: Beschreibung der Menschen, so dass Sie sich daran erinnern können, wofür der Agent verantwortlich ist. Dies ist optional und ist möglicherweise nicht erforderlich, wenn Ihr Proxy -Name für sich spricht.
  • Sprache: Die vom Agent verwendete Sprache. Sobald Sie eine Sprache auswählen, können Sie sie nicht ändern - Wählen Sie also mit Vorsicht! Wählen Sie in diesem Tutorial Englisch, da Englisch auf die meisten API.AI -Bereiche zugreifen kann. Sie können die für jede Sprache verfügbaren Felder in der Sprachtabelle des API.AI -Dokuments anzeigen.
  • Zeitzone: Wie Sie erwartet haben, ist dies die Zeitzone, die Sie Proxy haben. Es ist höchstwahrscheinlich, dass Ihre aktuelle Zeitzone erkannt wurde.

Es wird auch automatisch ein Google Cloud -Plattform -Projekt für Ihren Agenten eingerichtet, sodass Sie in dieser Hinsicht nichts bewirken müssen. Es ist jedoch wichtig, dies zu wissen. Wenn Sie also viel Test durchführen und viele Agenten erstellen, wissen Sie, dass Sie viele Projekte für Google Cloud -Plattform erstellen, die Sie möglicherweise am Tag aufräumen.

Wählen Sie nach Eingabe der Proxy -Einstellungen neben dem Proxy -Namen "Speichern", um alles zu speichern:

How to Build Your Own AI Assistant Using Api.ai Testkonsole

Nach dem Erstellen des Agenten können Sie ihn mit der Testkonsole rechts testen. Sie können eine Abfrage oben eingeben und diese Abfragen an Ihren Proxy senden und Ihnen zeigen, was nach dem Hören dieser Aussagen zurückgegeben wird. Geben Sie eine Frage wie "Wie geht es Ihnen?" Ihre Ergebnisse sollten unten angezeigt werden:

How to Build Your Own AI Assistant Using Api.ai Wenn Sie nach rechts vom Ergebnis nach unten scrollen, sehen Sie weitere Details darüber, wie API.ai Ihre Anfrage erklärt (wie im obigen Screenshot gezeigt). Darunter befindet sich eine Schaltfläche namens "Show JSON". Klicken Sie darauf, um zu sehen, wie die API solche Antworten auf Ihre Anwendung zurückgibt.

api.ai öffnet den JSON -Betrachter und zeigt Ihnen eine ähnliche JSON -Antwort wie folgt:

<code class="language-json">{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}</code>

Wie Sie sehen können ... Ihr Agent weiß nicht, wie er reagiert! Im Moment ist es nicht wirklich "intelligent" KI: Es muss noch intelligente Teile hinzufügen. Der Wert in Eingabe. Unbekannter Wert Im Aktionsfeld zeigt Ihnen, dass es nicht sicher ist, wie Sie fortfahren sollen. Oben gibt es eine Nachricht "Entschuldigung, können Sie sie noch einmal sagen?" Es sagt den Menschen nicht, dass es nicht versteht, aber es fordert sie wiederholt auf, es noch einmal zu sagen ... es ist nicht ideal, ich würde es lieber in etwas ändern, das klarer zeigt, wenn der Roboter es nicht versteht. Wenn Sie auch über solche Dinge wählerisch sind und das ändern möchten, was es hier aussagt, finden Sie es auf der Intent -Seite, indem Sie dort auf das Standard -Absichtselement klicken.

Für diejenigen, die vor einiger Zeit API.AI verwendet haben (oder sehen Sie es. Zuvor war es in der Lage, Fragen wie "Wer ist Steve Jobs?" Dies ist jetzt nicht der Fall! Sie müssen benutzerdefinierte Integrationen mit APIs von Drittanbietern hinzufügen, um Maßnahmen zu ergreifen und Informationen zu erhalten. API.AI liefert Satzanalyse und Interpretation.

Chat

hinzufügen

Sie können eine Standardfunktion hinzufügen, mit der Ihr Bot ein wenig Intelligenz anzeigen kann-die "Chat" -Funktion. Dies liefert eine Reihe von Antworten auf gemeinsame Fragen… einschließlich des „Wie geht es Ihnen?“. Dies ist jedoch standardmäßig nicht aktiviert. Um dies zu aktivieren, gehen Sie links zum Menüpunkt der Chat und klicken Sie auf Aktivieren:

How to Build Your Own AI Assistant Using Api.ai Wenn Sie aktiviert sind, können Sie nach unten scrollen, dass Sie eine Reihe von gängigen Small-Chat-Phrasen sehen. Suchen Sie den Abschnitt "Grüße/Abschied" und klicken Sie darauf, um ihn zu erweitern. Fügen Sie der Frage "Wie geht es Ihnen? Nach dem Hinzufügen des Ausdrucks sehen Sie, dass die prozentuale Zahl neben dem Abschnitt „Grüße/Abschied“ ansteigt, um anzuzeigen, wie viele Chatbots Sie angepasst haben.

How to Build Your Own AI Assistant Using Api.ai Wenn Sie dann zur Testkonsole gehen und sie erneut fragen: "Wie geht es Ihnen?"

How to Build Your Own AI Assistant Using Api.ai Wenn es nicht korrekt reagiert, prüfen Sie, ob Sie tatsächlich auf "Speichern" geklickt haben, bevor Sie es versuchen! Es wird nicht automatisch gespeichert.

Idealerweise müssen Sie Ihre Chat -Antworten so weit wie möglich anpassen: Dies gibt Ihrer API.AI Bot eine einzigartigere Persönlichkeit. Sie können den Ton und die Struktur ihrer Antwort auswählen. Ist es ein mürrischer Chatbot, der es hasst, mit Menschen zu sprechen? Ist es ein von Katzen besessener Chatbot? Oder ein Chatbot, der im Internet-/SMS -Stil eines Teenagers antwortet? Sie können entscheiden!

Nachdem Sie zumindest einige Chat -Elemente ausgeführt haben, ist Ihr Agent jetzt bereit, es in Ihre eigene Webanwendungsoberfläche zu integrieren. Dazu müssen Sie den API -Schlüssel erhalten, um auf Ihren Proxy aus zuzugreifen.

Finden Sie Ihre API.AI -API -Schlüssel

Die API -Schlüssel, die Sie benötigen, befindet sich auf der Seite der Proxy -Einstellungen. Um es zu finden, klicken Sie auf das Zahnradsymbol neben dem Agentennamen. Kopieren Sie auf der Seite, die angezeigt wird, und fügen Sie das Client -Zugangs -Token an einen sicheren Ort ein. Dies ist das, was wir verwenden müssen, um Abfragen an den API.AI -Dienst auszustellen:

How to Build Your Own AI Assistant Using Api.ai

Code

Wenn Sie den Arbeitscode anzeigen und es versuchen möchten, finden Sie es auf GitHub. Nutzen Sie sie gerne und erweitern Sie diese Idee, um Ihren eigenen KI -persönlichen Assistenten zu erstellen.

Wenn Sie es ausprobieren möchten, leite ich Barry hier. Genießen Sie es!

Verbindung zu API.AI mit JavaScript

verbinden

Sie haben derzeit einen funktionierenden persönlichen Assistenten, der irgendwo in der API.AI -Cloud läuft. Sie brauchen jetzt einen Weg, um mit Ihrem persönlichen Assistenten von Ihrer eigenen Oberfläche zu sprechen. API.AI hat eine Reihe von Plattform -SDKs, die mit Android, iOS, Webanwendungen, Einheit, Cordova, C usw. zusammenarbeiten. Sie können es sogar in einen Slack -Bot oder einen Facebook -Messenger -Bot integrieren! In diesem Beispiel verwenden Sie HTML und JavaScript, um eine einfache Webanwendung für persönliche Assistenten zu erstellen. Meine Demo basiert auf dem Konzept, das in HTML JS GIST von Api.ai angezeigt wird.

Ihre Bewerbung wird Folgendes ausführen:
  • Akzeptieren Sie einen schriftlichen Befehl im Feld Eingabe und senden Sie ihn beim Drücken der Eingabetaste ein.
  • oder verwenden Sie die HTML5 -Spracherkennungs -API (dies ist nur für Google Chrome 25 und später verfügbar). Wenn Benutzer auf "Sprechen" klicken, können sie ihre Befehle sprechen und sie automatisch in das Eingabefeld schreiben.
  • Nach Empfang des Befehls können Sie mit JQuery eine AJAX -Postanforderung an api.ai einreichen. API.AI gibt sein Wissen als JSON -Objekt zurück, wie Sie in der obigen Testkonsole sehen können.
  • Sie verwenden JavaScript, um die JSON -Datei zu lesen und die Ergebnisse in Ihrer Webanwendung anzuzeigen.
  • Wenn Sie verfügbar sind, antwortet Ihre Webanwendung auch mit der Web-Voice-API (verfügbar in Google Chrome 33 und später).

Die gesamte Webanwendung kann im obigen Link auf GitHub gefunden werden. Verweisen Sie darauf, um zu sehen, wie ich HTML style und baue. Ich werde nicht jeden Teil des Aufbaus in diesem Beitrag erklären und sich hauptsächlich auf den Aspekt der API.AI -SDK konzentrieren. Ich werde auch kurz darauf hinweisen und erklären, welche Teile die HTML5 -Spracherkennungs -API und die Web -Sprach -API verwenden.

Ihr JavaScript enthält die folgenden Variablen:
<code class="language-json">{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}</code>

Folgendes ist, was jede Variable für: ist
  • AccessToken. Dies ist der API -Schlüssel, den Sie von der API.AI -Schnittstelle kopiert haben. Mit diesen Schlüssel können Sie auf das SDK zugreifen und angeben, auf welchen Proxy Sie zugreifen. Ich möchte Barry, meinen persönlichen Agenten, besuchen.
  • Baseurl. Dies ist die grundlegende URL für alle Aufrufe der API.AI SDK. Wenn der SDK eine neue Version herausstellt, können Sie sie hier aktualisieren.
  • $ realInput. Dadurch können Sie Ihr <input> Element so speichern, damit Sie in JavaScript darauf zugreifen können.
  • $ recbtn. Dadurch werden Ihr <button></button> -Element gespeichert, das verwendet wird, wenn der Benutzer die Webanwendung klicken und mit ihnen sprechen möchte (oder beim Hören in der Hörstörung in der Pause).
  • Anerkennung. Sie speichern die Funktion webkitSpeechRecognition () in dieser Variablen. Dies ist für die HTML5 -Spracherkennungs -API.
  • MessageCording, MessageCouldnthear, MessageInternalError und Messagesurry. Dies sind Nachrichten, die angezeigt werden, wenn die Anwendung die Stimme des Benutzers aufzeichnet, die Stimme des Benutzers nicht hören kann, ein interner Fehler auftritt und der Agent nicht versteht. Sie speichern sie als Variablen, damit Sie sie problemlos oben im Skript ändern können, und Sie können auch angeben, welche Variablen, die die Anwendung nicht später vorlesen soll.

In diesen Codezeilen finden Sie die Zeit, in der der Benutzer in das Eingabefeld eingibt. Führen Sie die Funktion send () aus, um Daten an api.ai zu senden:

<code class="language-json">{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}</code>

Beachten Sie als Nächstes, ob der Benutzer auf die Schaltfläche "Daten" geklickt hat, um die App zu bitten, sie anzuhören (oder pausieren Sie, wenn er zuhört). Wenn sie darauf klicken, führen Sie die Funktion "SwitchRecognition () aus, um zwischen Aufzeichnung und nicht Aufzeichnung zu wechseln:

<code class="language-javascript">var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";</code>

Schließlich setzen Sie für Ihre ersten JQuery -Einstellungen eine Schaltfläche, die sich unten rechts auf dem Bildschirm befindet, um die JSON -Antwort anzuzeigen und auszublenden. Dies ist nur einfach, um es einfach zu halten: In den meisten Fällen möchten Sie keine eingehenden JSON -Daten sehen, aber manchmal können Sie auf diese Schaltfläche klicken, um zu umschalten, ob der JSON sichtbar ist:

<code class="language-javascript">$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});</code>

Verwenden von HTML5 -Spracherkennungs -API

Wie oben erwähnt, verwenden Sie die HTML5 -Spracherkennungs -API, um Benutzer zuzuhören und das zu transkribieren, was sie sagen. Derzeit gilt dies nur für Google Chrome.

unsere funtecognition () -Funktion sieht folgendermaßen aus:

<code class="language-javascript">$recBtn.on("click", function(event) {
  switchRecognition();
});</code>

So führen Sie die HTML5 -Spracherkennungs -API aus. Alles verwendet die Funktionen in WebkitSpeechRecognition (). Hier sind einige Tipps zu dem, was los ist:

  • Erkennung.onstart. Läuft beim Aufnehmen vom Mikrofon des Benutzers. Sie verwenden eine Funktion namens response (), um Ihre Nachricht anzuzeigen, die dem Benutzer mitteilt, dass Sie ihn anhören. Ich werde bald die Response () -Funktion vorstellen. updaterec () wechselt den Text der Aufzeichnungsschaltfläche von "Stop" zu "Sprechen".
  • Erkennung.Onresult. Läuft, wenn Sie Ergebnisse aus der Spracherkennung erhalten. Sie analysieren das Ergebnis und setzen das Textfeld für dieses Ergebnis (diese Funktion fügt den Text nur dem Eingabefeld hinzu und führt dann Ihre Send () -Funktion aus).
  • Erkennung.onend. Läuft, wenn die Spracherkennung beendet ist. Sie setzen es in Anerkennung auf null. Auf diese Weise wissen Sie, dass die Spracherkennungs -API den Benutzer nicht versteht. Wenn die Funktion ausgeführt wird, antworten Sie dem Benutzer, um ihm mitzuteilen, dass Sie sie nicht richtig hören.
  • Erkennung.lang. Legen Sie die Sprache ein, die Sie suchen. Im Falle der Demo sucht es amerikanisches Englisch.
  • Erkennung.Start (). Beginnen Sie den ganzen Prozess!

Ihre StopRecognition () -Funktion ist viel einfacher. Es stoppt Ihre Anerkennung und setzt sie auf Null. Anschließend wird die Schaltfläche aktualisiert, um anzuzeigen, dass Sie nicht mehr aufnehmen:

<code class="language-json">{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}</code>

switchRecognition () Schaltet, ob Sie die Erkennung starten oder stoppen, indem Sie die Erkennungsvariable überprüfen. Dadurch können Ihre Schaltflächen die Erkennungsfunktion ein- und ausschalten:

<code class="language-javascript">var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";</code>

mit api.ai

kommunizieren

Um Ihre Abfrage an api.ai zu senden, können Sie die Funktion "send () verwenden, die so aussieht:

<code class="language-javascript">$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});</code>

Dies ist eine typische AJAX -Postanforderung, die JQuery für https://www.php.cn/link/dfc0a2d63b0d7a1ce1cd07ffe3a3a3aea7 . Sie stellen sicher, dass Sie JSON -Daten an sie senden und erwarten, dass die JSON -Daten davon abgerufen werden. Sie müssen auch zwei Header-Authorisierung und OCP-APIM-Subscription-Key-auf den API-Schlüssel von API.AI einstellen. Sie senden Daten an api.ai im Format {q: text, lang: "en"} und warten auf eine Antwort.

Wenn Sie die Antwort erhalten, werden Sie PreparerePonse () ausführen. In dieser Funktion formatieren Sie die JSON -Zeichenfolge, die in den Debug -Abschnitt der Webanwendung eingesetzt werden soll, und nehmen Sie den Abschnitt "Speech der API.AI -Antwort" heraus, der Ihnen die Textantwort des Assistenten liefert. Sie zeigen jede Meldung über Antwort () und debugResponds () an:

<code class="language-javascript">$recBtn.on("click", function(event) {
  switchRecognition();
});</code>

Ihre Funktion DEBUGREPER () bringt Text in Ihr JSON -Antwortfeld:

<code class="language-javascript">$(".debug__btn").on("click", function() {
  $(this).next().toggleClass("is-active");
  return false;
});</code>

Ihre Antwort () hat mehr Schritte:

<code class="language-javascript">function startRecognition() {
  recognition = new webkitSpeechRecognition();

  recognition.onstart = function(event) {
    respond(messageRecording);
    updateRec();
  };
  recognition.onresult = function(event) {
    recognition.onend = null;

    var text = "";
    for (var i = event.resultIndex; i < event.results.length; ++i) {
      text += event.results[i][0].transcript;
    }
    setInput(text);
    stopRecognition();
  };
  recognition.onend = function() {
    respond(messageCouldntHear);
    stopRecognition();
  };
  recognition.lang = "en-US";
  recognition.start();
}</code>

Erstens prüfen Sie, ob der Antwortwert leer ist. Wenn ja, stellen Sie es fest, um anzuzeigen, dass die Antwort auf die Frage nicht sicher ist

<code class="language-json">{
  "id": "21345678",
  "timestamp": "2017-05-12T08:04:49.031Z",
  "lang": "en",
  "result": {
    "source": "agent",
    "resolvedQuery": "How are you?",
    "action": "input.unknown",
    "actionIncomplete": false,
    "parameters": {},
    "contexts": [],
    "metadata": {
      "intentId": "6320071",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "Default Fallback Intent"
    },
    "fulfillment": {
      "speech": "Sorry, can you say that again?",
      "messages": [
        {
          "type": 0,
          "speech": "Sorry, could you say that again?"
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "243c"
}</code>

Wenn Sie eine Nachricht ausgeben müssen und nicht die Meldung aufgezeichnet wird, werden Sie die Web -Voice -API verwenden, um die Nachricht mithilfe des Sprach -Synthesiterance -Objekts vorzulegen. Ich fand heraus, dass wenn Voiceuri und Lang nicht eingestellt sind, die Standardstimme des Browsers deutsch ist! Dies macht es schwierig, die Sprache zu verstehen, bis ich sie ändere. Um die Nachricht tatsächlich zu sagen, verwenden Sie das Fenster.

<code class="language-javascript">var accessToken = "YOURACCESSTOKEN",
    baseUrl = "https://api.api.ai/v1/",
    $speechInput,
    $recBtn,
    recognition,
    messageRecording = "正在录制...",
    messageCouldntHear = "我没有听清,你能再说一遍吗?",
    messageInternalError = "哦,不,发生了内部服务器错误",
    messageSorry = "对不起,我还没有答案。";</code>

Hinweis: Es ist wichtig, dass es "Aufnahme ..." nicht sagen lässt: Wenn Sie dies tun, nimmt das Mikrofon die Stimme auf und fügt sie der aufgezeichneten Abfrage hinzu.

Zeigen Sie schließlich Ihr Antwortfeld an und fügen Sie diesen Text hinzu, damit der Benutzer es auch lesen kann:

<code class="language-javascript">$speechInput.keypress(function(event) {
  if (event.which == 13) {
    event.preventDefault();
    send();
  }
});</code>
Hostieren Sie Ihre Weboberfläche

Für die besten Ergebnisse müssen Sie es möglicherweise auf einem HTTPS-fähigen Webserver hosten. Ihre Anfrage an api.ai wird über https gestellt. Es ist daher besser, Ihre Weboberfläche auch auf HTTPS zu hosten. Wenn Sie es nur als Prototyp verwenden möchten und keinen HTTPS Secure Web Server mit dem Shelf-HTTPS haben, versuchen Sie es mit Glitch.com! Dies ist ein neuer Service, der Code-Snippets mit dem Front-End- und Back-End-Code (Node.js) enthalten kann.

Zum Beispiel wird mein Barry auch unter

https://www.php.cn/link/e35284b6966864480f02bc12997b8b4b49 Glitch Hosting völlig kostenlos! Dies ist ein großartiger Service und ich empfehle Ihnen dringend, es zu versuchen.

Wenn Sie dieses Projekt größer machen möchten, sollten Sie in Erwägung ziehen, ein kostenloses SSL/TLS -Zertifikat zu erhalten oder ein Zertifikat von Ihrem Webhost zu kaufen.

Praktische Operation

Wenn Sie eine Webanwendung mit meinem Stil aus dem Github -Repository ausführen, sieht es so aus:

Wenn Sie auf "sprechen" klicken und sagen "Wie geht es Ihnen?" How to Build Your Own AI Assistant Using Api.ai

(Wenn Sie auf die Schaltfläche klicken, müssen Sie möglicherweise Chrome zulassen, um auf Ihr Mikrofon zuzugreifen. Dies geschieht natürlich jedes Mal, es sei denn, Sie servieren die Seite als https.)

How to Build Your Own AI Assistant Using Api.ai Dann reagiert es visuell wie dieses (auch laut lesen, was im Screenshot schwer zu zeigen ist):

Sie können auch auf die Schaltfläche in der unteren rechten Ecke klicken, um die JSON -Antwort -API anzuzeigen.

How to Build Your Own AI Assistant Using Api.ai Wenn Sie anscheinend eine Nachricht erhalten, hauptsächlich "Ich habe nicht klar gehört, können Sie es noch einmal sagen?" Überprüfen Sie bitte die Mikrofonberechtigungen in Ihrem Browser. Wenn Sie die Seite lokal laden (z. B. wenn Ihre Adressleiste mit Datei: /// beginnt), scheint Chrome überhaupt keinen Zugriff auf das Mikrofon zu bieten, sodass Sie diesen Fehler trotzdem haben! Sie müssen es irgendwo hosten. (Versuchen Sie, Glitch.com oben zu verwenden.)

How to Build Your Own AI Assistant Using Api.ai Persönlich mag ich einige der Standardphrasen in Small Talk nicht wie folgt:

How to Build Your Own AI Assistant Using Api.ai Ich habe viele dieser Phrasen in diesen Einstellungen angepasst, die ich zuvor gesehen habe. Zum Beispiel habe ich diese kleine Chat -Anweisung in der Liste sehr seltsam gefunden, also habe ich beschlossen, sie so anzupassen:

How to Build Your Own AI Assistant Using Api.ai Beginnen Sie also, Ihren eigenen Chatbot zu erstellen! Machen Sie es einzigartig und haben Sie Spaß!

Begegnung mit Problemen?

Ich finde das manchmal, wenn die Web -Voice -API versucht, etwas zu lange zu sagen, die Stimme von Chrom nicht mehr funktioniert. Wenn dies für Sie der Fall ist, schließen Sie die Registerkarte und öffnen Sie eine neue Registerkarte, um es erneut zu versuchen.

Schlussfolgerung

Ich bin sicher, Sie werden sehen, dass API.AI eine wirklich einfache Möglichkeit ist, einen persönlichen Assistenten im Chatbot-AI zu erstellen.

Möchten Sie Ihren API.AI -Roboter weiterentwickeln? Weitere Dinge zu tun: Dies ist die gesamte Serie, die ich auf SitePoint geschrieben habe!

Wenn Sie Ihren persönlichen Assistenten mit API.ai erstellt haben, würde ich gerne hören, was Sie denken! Haben Sie es auch Barry benannt? Welche Probleme haben Sie dafür festgelegt? Bitte lassen Sie es mich in den Kommentaren unten wissen oder kontaktieren Sie mich auf Twitter über @thatpatrickGuy.

Verwenden Sie emotionale Werkzeuge, um menschliche Elemente in Ihre KI zu injizieren. Schauen Sie sich unsere Video -Tutorials zu Microsoft Cognitive Services und Text Analysis API an.

FAQs (FAQ) für den Bau Ihres eigenen KI -Assistenten mit API.ai

Was sind die Voraussetzungen für den Bau eines AI -Assistenten mit API.ai?

Um einen KI -Assistenten mit API.AI aufzubauen, benötigen Sie ein grundlegendes Verständnis von Programmierkonzepten und -sprachen (insbesondere JavaScript). Sie müssen auch mit dem Google Cloud -Dienst vertraut sein, da API.AI Teil von Google Cloud ist. Es ist auch vorteilhaft, KI- und maschinelles Lernenkonzepte zu verstehen. API.AI ist jedoch so konzipiert, dass sie einfach zu bedienen sind und erfordert kein ausführliches KI-Wissen.

Wie kann ich meinen KI -Assistenten in andere Plattformen integrieren?

api.ai bietet integrierte Unterstützung für viele beliebte Plattformen wie Slack, Facebook Messenger und Skype. Sie können die API.AI SDK und die API verwenden, um Ihren KI -Assistenten in diese Plattformen zu integrieren. Dieser Vorgang umfasst das Einrichten eines Webhooks und das Konfigurieren von Plattformeinstellungen in der API.AI -Konsole.

Kann ich das Verhalten des KI -Assistenten anpassen?

Ja, API.ai ermöglicht es Ihnen, das Verhalten eines KI -Assistenten anzupassen. Sie können benutzerdefinierte Absichten und Entitäten definieren, die bestimmen, wie Ihr KI -Assistent auf Benutzereingaben reagiert. Sie können auch die Fulfillment -Funktion verwenden, um benutzerdefinierten Code zu schreiben, der ausgeführt wird, wenn eine bestimmte Absicht ausgelöst wird.

Wie verbessert man die Genauigkeit von AI -Assistenten?

Die Genauigkeit des KI -Assistenten hängt von der Qualität der Schulungsdaten ab. Sie können die Genauigkeit verbessern, indem Sie für jede Absicht verschiedene Beispielphrasen bereitstellen. API.AI bietet auch eine Funktion namens "maschinelles Lernmodus", die das Modell basierend auf der Benutzerinteraktion automatisch verbessert.

Ist es möglich, mehrsprachige AI -Assistenten mit API.ai zu bauen?

Ja, API.AI unterstützt mehrere Sprachen. Sie können mehrsprachige AI -Assistenten aufbauen, indem Sie Absichten und Entitäten in verschiedenen Sprachen definieren. API.AI erkennt automatisch die vom Benutzer eingegebene Sprache.

Wie teste ich meinen KI -Assistenten während der Entwicklung?

api.ai bietet eine integrierte Testkonsole, bei der Sie mit Ihrem AI-Assistenten interagieren können. Sie können Benutzerphrasen eingeben und sehen, wie Ihr KI -Assistent reagiert. Auf diese Weise können Sie Ihren KI -Assistenten während der Entwicklung testen und verbessern.

Wie viel kostet es, API.ai zu verwenden?

api.ai ist Teil von Google Cloud und seine Preisgestaltung basiert auf der Nutzung. Es gibt eine kostenlose Stufe, die eine bestimmte Anzahl von Anfragen pro Minute und monatlich enthält. Nachdem Sie die kostenlose Stufe überschritten haben, werden Sie anhand der Anzahl der Anfragen bezahlt.

Kann ich mit API.AI einen AI -Assistenten für meine mobile Anwendung erstellen?

Ja, API.AI stellt SDKs für Android und iOS bereit. Sie können diese SDKs verwenden, um Ihren KI -Assistenten in Ihre mobilen Anwendungen zu integrieren.

Wie kann man API.AI verwenden, um komplexe Gespräche zu bewältigen?

api.ai bietet eine Funktion namens "Kontext", mit der Sie komplexe Gespräche umgehen können. Mit dem Kontext können Sie den Konversationsfluss steuern und Abhängigkeiten zwischen Absichten verwalten.

Kann ich API.AI verwenden, um die Interaktion zwischen Benutzern und meinem AI -Assistenten zu analysieren?

Ja, API.AI bietet Analysefunktionen, mit denen Sie Benutzerinteraktionen analysieren können. Sie können Nutzungsstatistiken, Absichtsleistung und Benutzerzufriedenheitsbewertungen anzeigen. Diese Informationen können Ihnen helfen, Ihren KI -Assistenten im Laufe der Zeit zu verbessern.

Das obige ist der detaillierte Inhalt vonSo bauen Sie Ihren eigenen KI -Assistenten mit api.ai auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn