rasa搭建项目可用多轮对话系统(二)

本文介绍在Win10系统搭建公司可用的rasa多轮对话系统。涵盖数据准备,包括安装Nodejs、chatito,配置相关文件;还涉及下载rasa demo样例、安装依赖包、准备make环境、搭建bert - as - service环境,最后进行模型训练、运行及对话验证,指出后续待优化之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇内容带大家入门rasa,但是如果要真正的应用与实际项目,肯定是远远不够的。这篇带大家搭建公司可用的rasa系统。防止童鞋在windows中学习,我这里在win10中搭建。

数据准备

当接到一个项目开始,在没有原始数据时,面临这冷启动的问题,用chatito来生成rasa需要的意图识别数据。其实就是排列组合。

安装Nodejs

文件下载

官网地址:https://nodejs.org/
百度网盘:https://pan.baidu.com/s/1nv_8D1RM2-HObIXUQRTZrA
提取码:w1zv

双击安装即可

配置环境变量

我的电脑→属性→高级系统设置→环境变量→path中添加nodejs的安装路径
在这里插入图片描述

验证安装:

在这里插入图片描述
接下来生成命令可参考样例。
样例地址:https://github.com/GaoQ1/chatito_gen_nlu_data

安装chatito

执行下列命令:

npm install -g chatito

配置.chatito文件

具体内容格式参考https://github.com/GaoQ1/chatito_gen_nlu_data/blob/master/trainClimateBot.chatito

生成命令

npx chatito <.chatito文件名> --format=<可以在rasa和snips格式中选择> --formatOptions=<json文件内容> --outputPath=<输出的位置>

样例参考:https://github.com/GaoQ1/chatito_gen_nlu_data

下载rasa demo样例

地址:https://github.com/GaoQ1/rasa_chatbot_cn

安装依赖的package

在你下载的项目同级目录下,执行下列命令:

pip install -r requirements.txt

make环境准备

下载文件

地址:http://www.mingw.org
visualcppbuildtools_full.exe文件的百度网盘地址:https://pan.baidu.com/s/1vInn2b0v6OTlJtMPnGH00Q
提取码:0wve

文件安装

双击mingw-get-setup.exe,记住安装路径,配置环境变量,在系统环境变量中添加安装的目录即可参考上述nodejs的环境变量配置。
在这里插入图片描述
在安装的目录bin下双击mingw32-get,
在这里插入图片描述在basic setup中选择下图选中的:
在这里插入图片描述
点击installation下的apply changes,继续点击apply,安装过程可能有错误提示,重复apply过程即可

文件重命名

打开MinGW的安装目录,bin文件夹中的mingw32-make.exe重命名为make.exe。

验证环境

在这里插入图片描述到这里make环境就准备好了。

bert-as-service环境

server安装,注意安装1.8.9版本:

pip install bert-serving-server==1.8.9

启动bert-as service服务

下载bert的中文模型文件
官网地址:https://github.com/google-research/bert
百度网盘:https://pan.baidu.com/s/1_Is7wZl4YA8BT7TFQpWOVQ
提取码:63lr
我的显卡是GTX 1050 Ti ,我的gpu的专用内存和共享内存都是4G,这里选择worker的数目是2,根据自己的环境,可自行调节

bert-serving-start -model_dir /tmp/english_L-12_H-768_A-12/ -num_worker=2 

modedir就是下载的模型文件路径。

模型训练

cmd命令窗口,路径回到rasa的项目路径下,执行下列命令

make train

上述命令可能报错,报通讯错误检查bert-as-service服务,报dtype错误的的检查numpy版本,我本地卸载了numpy,重新安装numpy版本1.16

pip uninstall numpy
pip install numpy==1.16

运行model

执行下列命令:

make run

验证对话

执行下列命令:

make run-cmdline

服务开启后就可以进行,对话测试了。

输入你好后,返回:
在这里插入图片描述

对与单个的实体识别是可以的。

在这里插入图片描述
提出问题后,回答还是有缺陷,我输入我想选套餐一,就又跳回到了选套餐,我期望得到回答是确认回复
在这里插入图片描述
在这里插入图片描述这是可以实际应用的多轮对话项目demo,要想真正应用到实际项目中这些还是远远不够的,后面会慢慢介绍 在实体识别 意图识别等可优化的地方,gpu利用率低等问题。请关注后续内容。

### 工作台首页 AI 搜索对话模块设计方案 #### 1. 功能需求概述 工作台首页的AI搜索对话模块旨在提供智能化的信息检索服务,帮助用户快速获取所需数据和服务。该模块应具备自然语言处理能力,能够理解用户的查询意图并返回精准的结果。 #### 2. 架构设计原则 为了确保系统的可扩展性和高效性能,在构建此模块时需遵循以下几点: - **微服务化**:采用分布式架构来分离不同功能组件,便于独立部署和维护。 - **高可用性**:通过负载均衡器分发请求至多个实例以提高响应速度;利用缓存机制减少数据库访问压力。 - **安全性考量**:实施严格的权限管理策略保护敏感信息不被泄露。 #### 3. 技术选型建议 针对上述目标,可以考虑如下技术栈组合: - 后端框架选用Node.js配合Express搭建RESTful API接口; - 数据存储方面可以选择Elasticsearch作为全文搜索引擎优化模糊匹配效果; - 对话逻辑部分引入Rasa NLU解析输入语句提取实体特征; - 前端界面则基于React或Vue.js实现交互友好且易于定制化的UI组件库[^1]。 #### 4. 实现流程说明 以下是具体操作步骤的一个简化版本: ```javascript // 初始化项目依赖项 const express = require('express'); const bodyParser = require('body-parser'); let app = express(); app.use(bodyParser.json()); // 定义API路由处理函数 app.post('/api/search', async (req, res) => { let queryText = req.body.text; try{ // 调用NLP引擎分析文本内容 const nluResult = await callNLPEngine(queryText); // 根据解析结果执行相应业务逻辑... return res.status(200).send({ success: true, message: 'Search completed successfully', data: processedData }); }catch(error){ console.error(`Error occurred during search process:${error}`); return res.status(500).send({success:false,message:'Internal Server Error'}); } }); function callNLPEngine(text){ // 这里模拟调用了外部NLP服务进行语义理解和实体识别 } // 启动服务器监听指定端口 app.listen(process.env.PORT || 3000, () => { console.log('Server is running...'); }); ``` #### 5. 用户体验优化措施 为了让最终产品更加贴近实际应用场景的需求,还需要关注以下几个方面的改进方向: - 提升语音识别精度降低误判率; - 支持多轮会话模式增强连续交流的能力; - 整合第三方插件丰富技能集覆盖更多领域话题; - 加强隐私政策透明度让用户放心使用个人资料参与互动[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值