lyfing / laravel-chatbot
laravel 的聊天机器人
v1.0.2
2017-05-16 09:45 UTC
This package is not auto-updated.
Last update: 2024-09-29 02:54:52 UTC
README
0. 安装
composer require 'lyfing\laravel-chatbot'
1. 配置
将 Lyfing\LaravelChatBot\ChatBotServiceProvider::class,
添加到 config/app.php 的 providers
2. 发布
php artisan vendor:publish
4. 配置 config
你可以直接编辑
config/chatbot.php
文件
5. 配置 aiml
编辑
storage/chatbot/aiml
目录下的文件
chatbot.aiml
是入口文件,它里面的aiml
标签可以包含多个category
标签,一个default
标签和多个include
标签。
- 你添加的其它
aiml
文件在根aiml
标签里必须要包含一个topic
标签,这个topic标签可以包含多个category
标签和一个default
标签 (这里的其他aiml文件不能写include
标签,include
标签只能出现在chatbot.aiml
文件里)。
6. 测试聊天机器人
你可以打开
http://127.0.0.1:/chatbot
和机器人进行聊天测试。
7. 调用聊天机器人
如果希望在您的应用中调用聊天机器人,我们可以这样调用它的API
api?requestType=talk&userInput=hello
8. 关于匹配规则
修改后的匹配规则
* ---> (\S+) # ---> \S+ _ ---> .* = ---> \S*
9. 关于AIML标签
本聊天机器人的
aiml
标签与标准aiml
标签有所不同,我根据需求对标签做了一些个性化,更多支持的标签可以在AIML.MD文件中找到。
14. 关于数据库
log
表用于存储日志。
property
表存储user
和bot
的相关属性,相当于我们聊天机器人的大脑,帮助我们记住一些属性。set, get, del, user, bot 等标签用于操作这个表。
data
表用于存储用户的输入和机器人的回复,input, that, topic 等标签会操作Parser::$_data
数组。每次程序开始运行时,程序会从这个表加载数据到这个数组中,程序结束时再将数据存储到这个表里。表的唯一标识是userId
。