分类下相关文章
2023-06-27 · 阅读 2441 · 字数 728
尝试手动启动了两个 docker containter: 一个用于 rasa core 一个用于 rasa actions 但是,发现测试对话不涉及 actions 服务的,一切正常返回; 但是跟 actions 相关的,没有任何返回。 查看 docker 容器日志 docker logs -f <containter-id> 这样就能实时查看 docker 容器中 rasa 的运行日志,跟 tail -f 效果等同。非常方便。 异常日志 查看了一下 rasa core 的日志: rasa.shared.exceptions.RasaException: Failed to ...
2024-02-22 · 阅读 3610 · 字数 2172
非常典型地一个应用场景,即通过 rasa 从提交消息中提取城市和时间,然后调用三方天气接口查询天气,再返回用户。 但是按照官方文档,及电子书,网上资料里配置,jieba dict 也好,lookup table 也好,都会因为 DIETClassifier 报奇怪的异常。我感觉是版本的 bug,目前还没有定位到问题。 折腾了两天,没有头绪,看了部分 rasa 源代码,印象也非常不好,许多配置规则没有在文档中体现,需要看源码才能理清。 距离这个项目验收的时间不多了,我也懒得折腾,干脆直接在 actions 中直接获取消息原文,用 python 通过正则提取 entity,这本应由 DIETCla ...
2023-05-23 · 阅读 3006 · 字数 662
场景 例如,跟 Rasa 机器人对话中,询问今天星期几,然后使用 Python 返回中文答复。 nlu.yml 增加自然语言解析: - intent: weekday examples: | - 今天是星期几 - 今天几号 - 今天的日期 domain.yml 增加 actions: intents: - weekday actions: - action_weekday rules.yml 配置映射关系 - rule: 星期几 steps: - intent: weekday - action: action_weekday actio ...
2024-09-03 · 阅读 14071 · 字数 570
Rasa 是一个自然语言处理开源框架,用于构建聊天机器人和智能助手。它提供了一系列用于处理对话流程的工具和算法,包括自然语言理解(NLU)、对话管理、对话策略等。 使用 Rasa,可以创建一个可扩展、灵活且高度个性化的聊天机器人,该机器人可以与用户进行深入的交互,以满足他们的需求。 Rasa 是基于 Python 编写的,并且支持命令行和 API 接口的方式进行使用和集成。 它还有一个友好的社区,提供了很多文档、教程和示例来帮助开发者上手。 以下教程基于 Rasa 3.4.6 版本,我边学习,边整理的实战笔记,并经过测试。 对话机器人 Rasa(一):安装 对话机器人 Rasa(二): ...
2023-05-05 · 阅读 7884 · 字数 509
今天在 V2EX 论坛上学到了一个有趣的技巧:如何一句话区分 ChatGPT 3.5 与 4。 目前我用到的大部分免费的 ChatGPT 套壳网站都是基于 ChatGPT 3.5 的,偶有标榜使用了 ChatGPT 4 接口的网站。即便是申明使用了 4 的接口,很多也是挂着羊头卖狗肉。比较 4 的接口成本太高了。 回归正题,直接看截图: 这个我一直在用的一个套壳站,果然一句话就露馅了,这就是典型的 ChatGPT 3.5 的回复。 对于 4 则是有逻辑性的分析过程: 问:小明 8 岁,他妹妹年龄是他的一半。小明 56 岁时,妹妹几岁 答:小明现在 8 岁,他的妹妹年龄是他的一半,因此妹 ...
2023-04-22 · 阅读 4626 · 字数 1027
虽然我已经 用 Rasa 实现了中文自动问答机器人功能,但是里面 pipeline 的配置,其实我完全没看明白各个组件起到的作用。我已经很认真地读了几遍官方文档关于各个组件的描述,英文/中文文档都看了不少,对我来说太晦涩了,无法理解。 但是这个项目除了要实现功能,还要做成 PPT 给合作方讲解,对方有深度学习的专家教授,这就更尴尬了。只能临时抱佛脚求助 ChatGPT,没想到 AI 给出的解释通俗易懂,真大哥也。 除了口头禅 “总之”,其他都挺好的。 rasa 中 DIETClassifier 的作用 在 Rasa 中,DIETClassifier 是一种用于意图分类和实体提取的深度学习模型。 ...
2023-07-01 · 阅读 5986 · 字数 641
由于要现场演示 Rasa 对话机器人的实际效果,感觉用 Rasa Shell 命令来演示不太正式。 还是用网页版 Rasa 组件来演示更直观一些,也容易理解。 再就是我想把对话场景制作成一段小视频,或 gif,放到 PPT 里给客户演示。这种情况,也是网页端更简单直观。 页面效果 但是官方组件在手机端体验不太好,底部发送按钮有遮拦,在 iphone 上按钮超出右侧屏幕,原因是宽度都是用的 px 写死。 rasa websocket 配置 打开配置文件 credentials.yml: 增加 socketio: user_message_evt: user_uttered bot_me ...
2023-05-08 · 阅读 3466 · 字数 620
自动化的必要性 手动跑一遍覆盖各种问题的对话,太耗费时间了。例如,即便最简单的有十几个意图识别的对话场景,手动测试一遍都需要很长时间。 而且记不住有哪些 rule ... 需要对照着 nlu.yml 文件才能记起来。 比较高效的方式是,跑一遍自动化测试,然后将失败的 case 摘出来,手动跑一遍交互式训练。 还有另外一个好处,就是之后现场演示的时候,可以照着自动化测试的 test case 来演示,以保证万无一失。避免像百度文心一言一样,发布会上连现场演示的勇气都没有。 测试文件 > ls tests/ test_stories.yml 似乎没有 test_rules.yml 这样的文 ...
2023-04-19 · 阅读 3056 · 字数 287
在配置 Rasa 对话规则的时候,我一直有一个疑问。 Rasa 中 story 的意义是什么? 我在跟 Rasa 对话的时候,似乎也没发现按照 story 的流程走。 查了一下: Rasa 包含了两种方式来定义对话流程:规则(Rules)和故事(Stories)。 规则是一种简单而有限制的方式来定义对话流程。它们通常用于处理简单的用户请求,例如回答一个固定的问题或者执行某些操作。规则只能捕获单个意图(intent)并且不能处理槽位填充或多轮对话。该方法适用于简单的场景下。 相比之下,故事可用于更复杂的对话流程。故事中可以包含多个意图、槽位填充以及多轮对话。在故事中,您可以定义特定的对话场景,并 ...
2023-04-17 · 阅读 2788 · 字数 287
首先在 google colab 上新建一个笔记本,然后菜单里选择 “修改” - “笔记本设置” 在弹出的配置对话框里,选择 GPU 作为硬件加速器,即可。 点击保存。 GPU 加速数据处理的场景 机器学习和深度学习:GPU 对于大规模数据集的处理速度比 CPU 快得多,因此免费的 GPU 资源可以用于训练神经网络、图像识别、自然语言处理等任务。 科学计算:GPU 可以用于加速各种科学计算,如物理仿真、气象预测等。 游戏开发:使用 GPU 进行游戏开发可以提高渲染速度和图形质量。 数字艺术和设计:GPU 可以用于加速渲染和处理高分辨率图像和视频,从而加快数字艺术和设计的工作流程。 例如 ...
2023-05-31 · 阅读 5580 · 字数 1475
由于线上生产环境使用的是腾讯云的服务器,Ubuntu server 版本比较低,是 18.04。自带的 python 版本为 3.6,不满足对话机器人框架 rasa 对 python 版本的最低要求。 而升级 python 版本可能破坏系统的一些工具。至于 virtualenv, miniconda 的方案我都非常反感,因为手动操作也不少,增加了重复部署的复杂度,而且长时间不用,命令就忘了。(目前大部分服务端程序,我都采用了 golang,已经很少用 python)我觉得目前最佳的部署方案是 docker。 这也是我第一次线上生产环境尝试 docker 部署,所以记录一下流程。 如果有一定 d ...
2023-05-08 · 阅读 4277 · 字数 363
使用 Rasa rules.yml 是最简单的指定回复内容的方式,即,添加一条匹配规则。 添加一个意图对应的回复,需要编辑三个文件。 以回复用户的夸奖为例: nlu.yml 意图识别: data/nlu.yml - intent: praise examples: | - 你真聪明 - 你怎么这么聪明 - 你太智能了 - you are really smart - you are so clever domain.yml 编辑返回的内容模板。domain.yml 中添加: version: "3.1" intents: ...
2024-04-10 · 阅读 11913 · 字数 1913
Rasa 安装之后,默认是不支持中文对话的。 学习、配置的策略 查到的示例,pipeline 配置各不相同,不动手试,难以知道相互间的优劣。 所以,先从能运行的最简单配置开始。例如使用《Rasa 实战:构建开源对话机器人》这本书上的推荐的中文 pipeline。 里面有个医疗机器人的 nlu 配置示例。当然,只包含了 nlu 部分的配置,即识别意图和实体,没有回复配置。 效果 基于 Rasa websocket 的网页组件 实现。 最简单的中文配置 打开项目根目录下的 config.yml 配置文件,修改如下: recipe: default.v1 language: zh pipeli ...
2023-04-07 · 阅读 3454 · 字数 702
官方文档 https://rasa.com/docs/rasa/components 记录几个感觉比较重要的: 语言模型 Language Model MitieNLP: 预训练的语言模型之一,需要指定模型文件,网上有可以下载到的用百度知道和维基百科训练好的中文模型文件。 SpacyNLP: 另一个预训练的语言模型。也需要指定模型文件,以中文为例,有几个版本,https://spacy.io/usage/models, 小的几十M,大的几百M. 推荐使用至少中型模型,即 md,否则影响意图分类的性能。 在一些文章里看到说是官方推荐使用 SpacyNLP, 但是我在官方文档里没有找到这样的说 ...
2023-08-29 · 阅读 2257 · 字数 388
rasa init 初始化项目之后,可以看到增加了很多不需要添加到 git 项目管理中的文件,例如 模型文件。默认的模型文件大小就有 24M。 cache 文件 等。 在开始动手修改各种 yml 配置文件之前,最好先提交原始的文件到 git 管理中,防止误操作。 网上找到一个规范的 rasa gitignore 文件,用来过滤这些文件。 参考 https://raw.githubusercontent.com/RasaHQ/rasa-nlu-examples/main/.gitignore gitignore 配置 # Byte-compiled / optimized / DLL fil ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |