当前位置:   article > 正文

中文聊天机器人_chatbot git

chatbot git

项目地址:https://github.com/lin423497786/django-chatbot.git

效果图

在这里插入图片描述
在这里插入图片描述

django-chatbot

django-chatbot是chatbot-py的django封装版本,chatbot-py是中文聊天机器人, 支持上下文管理,动态的函数调用,
可以根据自己的语料训练出自己想要的聊天机器人,可以用于智能客服、在线问答、智能聊天等场景!

快速开始

1. 安装

git clone https://github.com/lin423497786/django-chatbot.git
cd django-chatbot
pip install -r requirements.txt
  • 1
  • 2
  • 3

2. 启动django服务

python manage.py runserver 80
  • 1

3. 静态语料学习

静态语料:不需要调用函数或接口的语料

import requests


post_data = {
    'question': '早上吃鸡蛋对身体好吗?',
    'answer': '早餐当中吃鸡蛋,的确是对身体有很大的益处',
}

headers = {
    'Content-Type': 'application/json',
    'Accept': '*/*',
}

# post
requests.post('http://127.0.0.1/api/chatbot/learn/', json=post_data, headers=headers)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4. 动态语料学习

动态语料:需要调用函数或接口的语料
这里以天气查询为例子,首先先定义一个函数,这里使用chatbot.ext.integrate_weather_gaode.get_weather函数

import requests


post_data = {
    'question': '天气查询',   # 问题
    'answer': 'chatbot.ext.integrate_weather_gaode.get_weather',  # 回答,这里要填函数的绝对路径
    'category': '天气',        # 分类,可以随便填,不填也行
    'type_': 1                # 固定值1,所有动态的问题该值都是1
}

headers = {
    'Content-Type': 'application/json',
    'Accept': '*/*',
}

# post
requests.post('http://127.0.0.1/api/chatbot/learn/', json=post_data, headers=headers)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5. 提问

学习完后就可以向机器人提出问题, 这里以步骤4学习的“天气查询”进行提问,因为“天气查询”调用的是chatbot.ext.integrate_weather_gaode.get_weather
函数,该函数有2个参数,程序会一一识别出来,并一个个询问,当所有参数都询问完后程序就会调用该函数,将该函数的返回值作为回复,如下所示。

import requests


session = requests.session()

# 第一轮询问
response = session.post('http://127.0.0.1/api/chatbot/question/', json={'question': '天气查询'})
print(response.text)

# 第二轮询问
response = session.post('http://127.0.0.1/api/chatbot/question/', json={'question': '南京'})
print(response.text)

# 第三轮询问
response = session.post('http://127.0.0.1/api/chatbot/question/', json={'question': '20190822'})
print(response.text)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

效果图

这是集成到微信公众号后的效果图
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/337225
推荐阅读
相关标签
  

闽ICP备14008679号