rasa 最简单对话实现
1.1 简单实现
1.1.1 定义意图和实体
最简单的就是 data/nlu.yml
中编辑
version: "3.1"
nlu:
- intent: greet
examples: |
- 你好
- 嗨
- 早上好
- 晚上好
- intent: goodbye
examples: |
- 再见
- 拜拜
- 下次见
- intent: ask_weather
examples: |
- 今天天气怎么样
- 你能告诉我天气吗
- 明天会下雨吗
1.1.2 定义响应
domain.yml
中编辑
version: "3.1"
responses:
utter_greet:
- text: "你好!有什么我可以帮您的吗?"
utter_goodbye:
- text: "再见!祝您有美好的一天!"
utter_weather:
- text: "让我查一下天气信息。"
session_config:
session_expiration_time: 60
carry_over_slots_to_new_session: true
其中 session_expiration_time 代表过期时间,60代表60分钟
carry_over_slots_to_new_session 决定会话过期并创建新会话时,是否将之前会话中填充的槽(slots)值保留并传递到新会话中
session_config
这部分不加也不影响最简单的使用
1.1.3 定义规则
编辑 data/rules.yml
version: "3.1"
rules:
- rule: Greet
steps:
- intent: greet
- action: utter_greet
- rule: Goodbye
steps:
- intent: goodbye
- action: utter_goodbye
- rule: Ask Weather
steps:
- intent: ask_weather
- action: utter_weather
utter_ 是一个rasa的习惯用语,动作的时候一般会加,中文为:“说出”
我们在 domain 中已经定义了这些行为的响应,domain 中的 response
和 action
回复动作是相关联的
1.1.4 训练模型
terminal 中执行这个命令即可
rasa train

1.1.5 测试对话
rasa shell
也是在 terminal 中用一下这个命令

直接开始聊,但是没在nlu中定义的问题会有提示,比如我这个 hi
END
以上就是最简单 rasa 实现了,涉及到了 domain.yml
、data\nlu.yml
、data\rules.yml
写博客是写给未来的自己,会看到自己思想的演变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?