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

示例应用程序

  1. 一个使用 messengerbotDjangoNLTK-Chatbot在这里可用Facebook messenger bot
  2. 使用Microsoft Bot Connector Rest API - v3.0构建的示例Microsoft bot, DjangoNLTK-Chatbot在这里可用Micosoft Chatbot

内存

设置内存

{ 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重写数据或参数,如果methodPOST然后它重写数据,如果方法是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 %}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
试图读取字段“java”。lang.反对安卓。util。一对首先   gradle对java的影响。属性作为任务的输入?   java我的return语句不起作用。我做错了什么?   java通用同步代码块[无对象锁定]   macos Java小程序游戏不能在Mac上运行,即使它可以在PC上运行   java Firebase GeoFire设置位置未在服务中工作   java排序字符串对象   java通过JLabel上传背景图像(jpg)后,如何将图像缩放到它所在的面板上?   java无法连接到jsp中的数据库   java如何在整个ant taskdef操作的执行过程中拥有一个singleton类实例   java如何在按键事件中检查JTtextField中的字符串数字验证器   如何最好地输出大型单行XML文件(使用Java/Eclipse)?   内存不足,Java运行时环境无法在Java应用程序中继续运行   java Hibernate连接错误:组织上的NullPointerException。冬眠hql。阿斯特。HqlSqlWalker。createFromJoinElement   linux将参数从shell脚本传递到java类   java对于接受多个参数的setter是否有类似于@JsonCreator的注释?   java在链表中添加节点