首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有大型DB集成的Chatbot

具有大型DB集成的Chatbot
EN

Stack Overflow用户
提问于 2017-01-30 09:30:13
回答 1查看 1.3K关注 0票数 0

我们想要建立一个机器人,它将向用户提出问题,然后记录他们的反应。此问答将根据用户的反应智能地完成。

我们目前几乎没有什么初步问题;

  1. 有很多API可用于创建bot,如api.ai、wit.ai、botkit、IBM、Microsoft框架。从开发的角度来看,哪一种在Java、Node.Js或Python中是最好的。同时,从控制数据和完整流程的角度出发。
  2. 我们希望向我们的Bot提供一些来自DBRDBMS或NOSQL的问题,因为将来它将很大,哪个api对同样的api最好。
  3. 我们希望用userid将用户响应存储到数据库。
  4. 根据存储在DB中的用户响应,对bot提出的问题进行分析。

请您建议,如果这可以使用任何一个Bot,哪一个应该是首选。

谢谢你,阿米特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-30 16:32:17

在您的4种情况下,所有这些都可以使用IBM完成。

1:使用会话服务创建聊天机器人,您可以使用context变量保存所有用户输入。

IBM在Python节点JSJava SDK中提供了一些示例,只需单击某些编程语言来检查示例和所有代码。

2:本例使用来自会话简单Node.js链接的Cloudant (nosql),但您可以使用其他链接。

代码语言:javascript
复制
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会话):

代码语言:javascript
复制
context.conversation_id

4:您可以使用IBM提供的其他服务,但我推荐: AlchemyAPI或Discovery取决于您到底要做什么。但我敢肯定他们都想帮你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41932537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档