Haben Sie die Demo überprüfen App unter https://github.com/watson-developer-cloud/conversation-simple?
Sie können dem Kontext Objekte auf JSON-Weise hinzufügen.
context.myproperty = "Hello World";
Und das auf den Dienst mit dem Eingang senden
Der andere Weg, um innerhalb des Gesprächsdienst, können Sie eine Variable zuweisen (in diesem Fall Benutzername) auf den Text im vorherigen Schritt (in diesem Fall input.text). Mithilfe von $variablename
(in diesem Fall $username
) können Sie eine dynamische Antwort generieren. Sie die Reihenfolge, in der vorher Antwort Bildschirm nicht lassen Sie stören, wird Kontext vor der Ausgabe ... verarbeitet
In dem Client (in meinem Fall Java)
MessageRequest.Builder messageRequestBuilder = new MessageRequest.Builder();
messageRequestBuilder.inputText("Joe");
messageRequestBuilder.context(question.context); //this context comes from a previous step
ServiceCall<MessageResponse> response = conversationService.message(workspaceId, messageRequestBuilder.build());
MessageResponse mAnswer = response.execute();
Object textObject = mAnswer.getOutput().get("text");
Dieses Textobjekt enthält: Hallo Joe, schön dich zu treffen. Ich bin hier, um Fragen zu beantworten über ....
(Node.) JS-Code kopiert (und entfernt einige Zeilen) aus der Beispielanwendung
// Create the service wrapper
var conversation = watson.conversation ({
username: process.env.CONVERSATION_USERNAME || '<username>',
password: process.env.CONVERSATION_PASSWORD || '<password>',
version_date: '2016-07-11',
version: 'v1'
});
// Endpoint to be called from the client side
app.post ('/api/message', function (req, res) {
var payload = {
workspace_id: workspace_id,
context: {}
};
if (req.body) {
if (req.body.input) {
payload.input = req.body.input;
}
if (req.body.context) {
// The client must maintain context/state
payload.context = req.body.context;
}
}
// Send the input to the conversation service
conversation.message (payload, function (data) {
return res.json (data);
});
Ok, aber wie kann ich dies im Gespräch senden als wäre es der Bot? In meinem Beispiel sendet es als Benutzer ... Überprüfen Sie meine Bearbeitung –
@SayuriMizuguchi Ich habe meine Antwort bearbeitet, als ob Sie nicht jedes Mal entscheiden wollen, wenn der Konversationsservice oder ein anderer Dienst (zB lokales Javascript) gibt die Antwort – mpjjonker
Hallo @ mpjjonker, in dem Fall benutze ich Javascript e nodejs. Sie können ein Beispiel hinzufügen? –