# insurance_chatbot_demo **Repository Path**: li330273334/insurance_chatbot_demo ## Basic Information - **Project Name**: insurance_chatbot_demo - **Description**: 只能保险聊天机器人 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-29 - **Last Updated**: 2024-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # insurance_chatbot_demo ## 介绍 智能保险聊天机器人 我们致力于打造一个第三方保险平台,利用智能保险机器人服务于广大用户以及保险销售人员。 本智能保险机器人提供的服务有:客服问答、保险理赔售后服务、产品销售服务。 为客户提供保险咨询服务,同时为保险销售人员提供展业服务,搭建机器人、客户、保险销售人员之间的桥梁。 ## 主要功能介绍 1. 智能客服 促进客户服务的及时性和持续性 提高客服接待效率 降低人工客服成本 提高客服管理效率 提高客户服务质量 2. 保险顾问 为客户提供保险产品咨询服务 获取客户相关信息 进行保险产品推荐 进行销售人员推荐 降低人工客服成本 3. 智能理赔 为客户提供相关理赔咨询 更快的保险索赔后续处理 简化新业务、标准流程化 降低人工客服成本 ## 软件架构 ![项目架构](images\项目架构.png) ## 项目搭建 1. **搭建使用环境** 安装项目依赖包pip install -r requirements.txt ​ (1) 虚拟环境python3.7(含库: rasa==2.5.1、py2neo、pymysql) ​ (2) neo4j 3.5.6(需要自行下载) ​ (3) 安装mysql 2. **搭建neo4j数据库** ​ **运行 graph/graph_build.py构建知识图谱)** ​ 运行时间稍长,具体看设备和网速 **运行 server_websocket.py (启动问答系统)** 3. **搭建mysql数据库** ​ (1)**创建数据库** ``` CREATE DATABASE insurance_chatbot; ``` ​ (2)**创建表** ``` DROP TABLE IF EXISTS `information_from`; CREATE TABLE `information_from` ( `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '编号', `age` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '年龄', `sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '性别', `year_incoming` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '年收入', `monthly_spending` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '月支出', `phone_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号', `date_time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '录入时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `phone_num`(`phone_num`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; ``` ## 目录结构 ├── action // Custom Actions │ ├── api //调用的api │ ├── actions.xls //actions类 ├── chinese_L-12_H-768_A-12 // 自定义组件bert ├── data // nlu\rules\stories文件 │   ├── nlu // nlu语料 │   ├── rules // 规则文件 │   ├── stories // 故事文件 ├── images // ReadMe.md文件所需图片 ├── models // 模型文件夹 ├── MT5_chichat //mt5模型训练闲聊语料,开发api项目 ├── rasa-voice-interface-master //rasa语音前端二 ├── static //flask前端静态文件 ├── templates // flask模板 ├── test // ├── venv //虚拟环境目录 ├── 语音助手使用文档 //百度语音助手使用文档 ├── app.py //问题解析 ├── asr_json.py //语音识别 ├── config.yml //rasa pipeline、policies配置文件 ├── credentials.yml // 指定通道(input channels)属性 ├── domain.yml //定义一个域文件 ├── Makefile //启动方式文件 ├── README.md //README文件 ├── requirements.txt //依赖环境文件 ├── socketio_connector.py //百度语音api与rasa连接 ├── run_train.py //项目训练代码 ├── tts.py //百度语音生成 ## 使用说明 1. **激活虚拟环境** ``` cd venv cd Scripts activate cd ../.. ``` 2. **启动neo4j,cmd输入** ``` neo4j console ``` 3. **启动chichat api** 单独打开项目MT5_chichat ,运行runServer.py 4. **启动bert服务命令** 单独打开项目chinese_L-12_H-768_A-12,Terminal控制台,输入 ``` bert-serving-start -model_dir model -pooling_strategy NONE -max_seq_len 70 ``` 5. **Terminal控制台,输入** ``` rasa run actions --actions actions.actions ``` 6. **开启第二个Terminal控制台** debug启动 ``` rasa shell --debug --endpoints endpoints.yml ``` rasa-x启动 ``` rasa x --endpoints endpoints.yml ``` 语音功能启动 ``` rasa run --debug --endpoints endpoints.yml --credentials credentials.yml --enable-api ``` 7. **语音功能启动后,开启第三个Terminal控制台** ``` cd rasa-voice-interface-master npm run serve ``` 浏览器输入: http://localhost:8080/ 进入语音页面 8. **开启第四个Terminal控制台** ``` python -m http.server 8888 ```