我是靠谱客的博主 踏实香烟,最近开发中收集的这篇文章主要介绍机器人 Chatterbot 自定义适配器api 重写can_process方法 process方法来实现自定义适配器,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
人工智能聊天机器人实现的技术途径大约可分为以下2种:
1 属于调用第三方,也就是说核心代码和数据库中数据不掌握在自己手里 (X灵机器人啥的)
2 属于开源框架,也就是说我们可以下载其源码,采用,相对快速的自己搭建一个聊天机器人,核心代码和数据库都掌握在自己手里(chatterbot 等 就用过这个其他不感评论啊)(哈哈 …感觉和没说一样)
分享下自己工作中的微信聊天机器人中 后台chatterbot+django+drf 框架搭建 下面表述下自己的心得
安装后chatterbot django django_rest_framework (之前工作用的的)
我们网上百度的chatterbot 一般都是 创建机器人 学习语言 发送命令 得到相应 例如下面(其中get_response这个方法里面有很多方法之前的调用 感兴趣的可以点进去看下源码)
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot('Hou')
# 创建机器人
trainer = ChatterBotCorpusTrainer(chatbot)
# 生成训练机器人一个对象
trainer.train("chatterbot.corpus.english")
# 用英文 你可以改成 chinese
print(chatbot.get_response('hi'))
print(chatbot.get_response('1+1'))
流程 所谓的适配器是 get_response(“测测”)走chatterbot中 里面嵌套的有can_process(self, statement):方法 这里面可以 运用一些正则来匹配一些命令 中间获取你所用的适配器 confidence 越高 越优先进匹配到的适配器 …然后进入process(self, statement, additional_response_selection_parameters=None):方法 编写你的业务逻辑 得到你想要的结果 renturn Statement(text=XXX) 其中text属性赋值你想要的东西 是返回的结果
url.py中定义一个路由
url(r'testbot', TestBotApiView.as_view(), name='TestBot')
views.py post
方法中 代码
class TestBotApiView(View):
chatterbot = ChatBot(**settings.TESTBOT)#(适配器在setting中配置)
def post(self, request, *args, **kwargs):
statement = Statement(text=input_data['text'])
response = self.chatterbot.get_response(statement)
response_data = response.serialize()
settings.py
TESTBOT = {
'name': '小猴',
'django_app_name': 'django_chatterbot',
'logic_adapters': [
{
'import_path': 'Adapter.MyLogicAdapter',
},
'chatterbot.logic.BestMatch',
],
'read_only': 'True',
}
Adapters.py
class MyLogicAdapter(LogicAdapter):
def __init__(self, chatbot, **kwargs):
super().__init__(chatbot, **kwargs)
def can_process(self, statement):
if "测试" == statement.text:
return True
else:
return False
def process(self, statement, additional_response_selection_parameters=None):
"""
返回 结果
"""
mes="测试"
confidence=1 # 响应度
response_statement = Statement(text=)
response_statement.confidence = confidence
return response_statement
有什么问题可以评论 或者私聊 相互学习啊
最后
以上就是踏实香烟为你收集整理的机器人 Chatterbot 自定义适配器api 重写can_process方法 process方法来实现自定义适配器的全部内容,希望文章能够帮你解决机器人 Chatterbot 自定义适配器api 重写can_process方法 process方法来实现自定义适配器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复