WatBot ist ein von IBM Watson betriebener ChatBot, der auf Android läuft und den Watson Assistant-Dienst in der IBM Cloud (einer offenen Standard-Cloud-Plattform zum Erstellen, Ausführen und Verwalten von Apps und Diensten) nutzt.
Hinweis: Diese App verwendet die Watson Assistant V1-API
Klonen Sie das Repo und importieren Sie den Code in Android Studio.
git clone https://github.com/VidyasagarMSC/WatBot.git
In diesem Blogbeitrag finden Sie Schritt-für-Schritt-Anleitungen und aktuelle Anleitungen.
Um die App zu konfigurieren, benötigen Sie das Passwort , die URL und die Workspace-ID des Watson Assistant-Dienstes
Suchen Sie in der MainActivity -Klasse die Methode mit dem Namen sendMessage() . Klicken Sie auf der Registerkarte „Verwalten“ des von Ihnen erstellten Assistentendienstes auf „Tool starten“ > „Skills“ > Klicken Sie auf die drei vertikalen Punkte neben dem Skill > „API-Details anzeigen“ > Dort finden Sie die Workspace-ID, den Benutzernamen und das Passwort. Wenn Sie den API-Schlüssel direkt verwenden möchten, lesen Sie das TODO, kommentieren Sie den Code aus und ersetzen Sie den Platzhalter durch den API-Schlüsselwert.
Sie finden den API-Schlüssel und die URL auf der Registerkarte „Verwalten“ oder unter „Dienstanmeldeinformationen“.
Assistant assistantservice = new Assistant("2018-02-16");
//If you like to use USERNAME AND PASSWORD
//Your Username: "apikey", password: "<APIKEY_VALUE>"
assistantservice.setUsernameAndPassword("apikey", "<API_KEY_VALUE>");
//TODO: Uncomment this line if you want to use API KEY
//assistantservice.setApiKey("<API_KEY_VALUE>");
//Set endpoint which is the URL. Default value: https://gateway.watsonplatform.net/assistant/api
assistantservice.setEndPoint("<ASSISTANT_URL>");
InputData input = new InputData.Builder(inputmessage).build();
//WORKSPACES are now SKILLS
MessageOptions options = new MessageOptions.Builder().workspaceId("<WORKSPACE_ID>").input(input).context(context).build();
MessageResponse response = assistantservice.message(options).execute();
assistantservice.setUsernameAndPassword("apikey", "<ASSISTANT_PASSWORD>");
Rufen Sie die Workspace-ID ab und fügen Sie sie in den folgenden Code ein:
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
Gradle-Eintrag
compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
Ersetzen Sie in Zeile 95 von MainActivity.java die Passwort- und URL-Platzhalter durch die TTS-Dienstanmeldeinformationen
textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
Wenn Sie nun auf eine Nachricht tippen, wird der Text über eine Stimme (Voice.EN_US_LISAVOICE) gehört. Sie können die Sprachformate im Code ändern (Zeile 120 0f MainActivity.java)
Hinweis: Die erforderlichen Gradle-Einträge für TTS sind bereits in der Datei build.gradle enthalten
compile 'com.ibm.watson.developer_cloud:text-to-speech:6.11.0'
compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'
Hinweis: Die erforderlichen Gradle-Einträge für STT sind bereits in der Datei build.gradle enthalten
compile 'com.ibm.watson.developer_cloud:speech-to-text:6.11.0'
compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'
Wenn Sie alle oben genannten Anweisungen befolgt haben, sollten Sie problemlos mit Ihrem Wat(son)Bot chatten.
** Denken Sie daran, dass Ihr Bot mit Ihrem Watson Assistant-Dienst (Intents, Entities und Dialog) kommuniziert.**
Lautsprecheretiketten
Hinweis: Bei der Funktion „Sprecherbeschriftungen“ handelt es sich um eine Beta-Funktion, die für US-Englisch, Japanisch und Spanisch verfügbar ist.
Sprecherbezeichnungen geben an, welche Personen in einem Austausch mit mehreren Teilnehmern welche Wörter gesprochen haben. (Die Kennzeichnung, wer wann gesprochen hat, wird manchmal als Sprechertagebuch bezeichnet.) Sie können die Informationen verwenden, um eine individuelle Abschrift eines Audiostreams zu erstellen, z. B. den Kontakt zu einem Callcenter. Oder Sie animieren damit einen Austausch mit einem Gesprächsroboter oder Avatar. Um die beste Leistung zu erzielen, verwenden Sie Audio, das mindestens eine Minute lang ist.
Klicken Sie zum Aktivieren auf TODO auf der unteren Registerkarte von Android Studio oder suchen Sie in der Datei MainActivity.java nach TODO und entkommentieren Sie die Zeilen. Sie sollten die Ausgabe im Logcat wie unten gezeigt sehen
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}