在您的 4 个条件下,都可以使用 IBM Watson 完成。
1:
使用对话服务创建聊天机器人,您可以使用context
变量保存所有用户输入。
IBM Watson 提供了一些Python、Node JS和Java SDK 的示例,只需单击一些编程语言即可查看示例和所有代码。
2:
此示例使用来自 Conversation Simple Node.js 链接的 Cloudant DB (nosql),但您可以使用其他。
function log(input, output) {
if ( logs ) {
// If the logs db is set, then we want to record all input and responses
var id = uuid.v4();
logs.insert( {'_id': id, 'request': input, 'response': output, 'time': new Date()} );
}
}
if ( cloudantUrl ) {
// If logging has been enabled (as signalled by the presence of the cloudantUrl) then the
// app developer must also specify a LOG_USER and LOG_PASS env vars.
if ( !process.env.LOG_USER || !process.env.LOG_PASS ) {
throw new Error( 'LOG_USER OR LOG_PASS not defined, both required to enable logging!' );
}
// add basic auth to the endpoints to retrieve the logs!
var auth = basicAuth( process.env.LOG_USER, process.env.LOG_PASS );
// If the cloudantUrl has been configured then we will want to set up a nano client
var nano = require( 'nano' )( cloudantUrl );
// add a new API which allows us to retrieve the logs (note this is not secure)
nano.db.get( 'car_logs', function(err) {
if ( err ) {
console.error( err );
nano.db.create( 'car_logs', function(errCreate) {
console.error( errCreate );
logs = nano.db.use( 'car_logs' );
} );
} else {
logs = nano.db.use( 'car_logs' );
}
} );
3:所有通话都有一些id,你可以用context
变量访问它。示例(与 IBM Watson 对话:
context.conversation_id
4:您可以使用 IBM Watson 的其他服务,但我建议:AlchemyAPI 或 Discovery,取决于您真正要做什么。但是看看两者,我相信他们会帮助你。