chat bot ai引擎是一个chatbot生成器平台,它以最小的编码提供bot智能和聊天处理程序。
chatbotA的Python项目详细描述
python chatbot ai,帮助创建基于python的chatbot 最小编码。这提供了机器人程序ai和聊天处理程序,以及 允许轻松集成rest api和python函数调用 使其在功能上更加独特和强大。这个人工智能提供 许多功能,如学习、记忆、条件转换、基于主题 会话处理等。
安装
从pypi安装:
pip install chatbotAI
从github安装:
git clone https://github.com/ahmadfaizalbh/Chatbot.git
cd Chatbot
python setup.py install
示例代码(与维基百科搜索API集成)
fromchatbotimportChat,reflections,multiFunctionCallimportwikipediadefwhoIs(query,sessionID="general"):try:returnwikipedia.summary(query)except:fornewqueryinwikipedia.search(query):try:returnwikipedia.summary(newquery)except:passreturn"I don't know about "+querycall=multiFunctionCall({"whoIs":whoIs})firstQuestion="Hi, how are you?"Chat("examples/Example.template",reflections,call=call).converse(firstQuestion)
有关如何构建Facebook Messenger机器人结帐的详细信息Facebook Integration.ipynb
对于Jupyter笔记本聊天机器人结帐Infobot built using NLTK-Chatbot
示例应用程序
- 一个使用 messengerbot, Django和 NLTK-Chatbot在这里可用Facebook messenger bot
- 使用Microsoft Bot Connector Rest API - v3.0构建的示例Microsoft bot, Django和 NLTK-Chatbot在这里可用Micosoft Chatbot
bot模板中支持的功能列表
内存
设置内存
{ variable : value }
在思考模式下
{! variable : value }
获取内存
{ variable }
获得匹配组
获取第n个匹配的客户模式组
%N
第一个匹配的示例
%1
获取第n组匹配的机器人模式
%!N
第一个匹配的示例
%!1
递归
得到客户的回复,就好像客户说了这个新声明一样
{% chat statement %}
它将对语句进行模式匹配
条件
{% if condition %} do this first {% elif condition %} do this next {% else %} do otherwise {% endif %}
更改主题
{% topic TopicName %}
与python函数交互
{% call functionName: value %}
rest api集成
在api.json文件中
{"APIName":{"auth" : {"url":"https://your_rest_api_url/login.json", "method":"POST", "data":{"user":"Your_Username", "password":"Your_Password"}}, "MethodName" : {"url":"https://your_rest_api_url/GET_method_Example.json", "method":"GET", "params":{"key1":"value1", "key2":"value2", ... }, "value_getter":[order in which data has to be picked from json response]}, "MethodName1" : {"url":"https://your_rest_api_url/GET_method_Example.json", "method":"POST", "data":{"key1":"value1", "key2":"value2", ... }, "value_getter":[order in which data has to be picked from json response]}, "MethodName2" : { ... }, ... }, "APIName2":{ ... }, ... }
如果只需要身份验证,则需要“auth”方法。 `` pi.json文件中定义的数据``和``params`用作默认值 模板文件中定义的所有键值对都将覆盖默认值 value.``value戡getter``按使用的键的顺序排列 将收集来自json的信息。
在模板文件中
[ APIName:MethodName,Key1:value1 (,Key*:value*)]
可以有任意数量的键值对,所有键值对都将 根据method重写数据或参数,如果method是 POST然后它重写数据,如果方法是GET,则它 重写params。
专题小组
{% group topicName %}{% block %}{% client %}client says {% endclient %}{% response %}response text{% endresponse %}{% endblock %} ... {% endgroup %}
学习
{% learn %}{% group topicName %}{% block %}{% client %}client says {% endclient %}{% response %}response text{% endresponse %}{% endblock %} ... {% endgroup %} ... {% endlearn %}
大写
{% up string %}
小写
{% low string %}
大写
{% cap string %}
上一页
{% block %}{% client %}client's statement pattern{% endclient %} {% prev %}previous bot's statement pattern{% endprev %}{% response %}response string{% endresponse %}{% endblock %}