开源任务式问答机器人系列之rasa篇

本文介绍了Rasa,一个用于构建上下文AI助手和聊天机器人的开源框架。Rasa包含Rasa NLU(语义理解)和Rasa Core(对话管理)两个主要模块。Rasa NLU处理用户消息的意图和实体识别,而Rasa Core负责对话管理和状态跟踪。通过nlu.md、stories.md、domain.yml和config.yml等文件,可以定制训练数据和机器人行为。训练完成后,使用rasa train命令进行模型训练,rasa shell进行交互式体验。

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

开源任务式问答机器人框架系列--Rasa

Rasa

rasa是一个开源的问答机器人框架,rasa可用于构建基于上下文的AI助手,也可用于构建闲聊机器人。
Rasa有两个主要模块:Rasa NLU和Rasa Core,Rasa NLU 用于对用户消息内容的语义理解,主要包括实体识别,意图识别;Rasa Core 用于对话管理(Dialogue management),记录多轮信息,跟踪对话状态。Rasa官方还提供了一套交互工具 RasaX 帮助用户提升和部署由Rasa框架构建的AI小助手和聊天机器人。
创建一个初始的Rasa项目。可在终端运行如下命令:

rasa init --no-prompt

init.py an empty file that helps python find your actions
actions.py an empty file that helps python find your actions
config.yml ‘*’ configuration of your NLU and Core models
credentials.yml details for connecting to other services
data/nlu.md ‘*’ your NLU training data
data/stories.md ‘*’ your stories
domain.yml ‘*’ your assistant’s domain
endpoints.yml details for connecting to channels like fb messenger
models/.tar.gz your initial model

可以看到,一个完整的项目主要包括以上内容。最为重要的是带*号的文件,主要是需要我们定制的用以训练NLU模型和对话管理模型的数据。
以下分别介绍上述文件的主要内容。

data/nlu.md

Rasa NLU是一个开源的自然语言处理工具,其主要作用是识别用户的意图,以及用户消息内容所涉及的实体:

“我想查询广州今天的天气”

NLU将会解析成:

{
   
  "intent": "search_weather",
  "entities": {
   
    "address" : "广州",
    "date_time" : "今天"
  }
}

也就是,识别出用户的意图为查询天气,识别的两个实体包括地点和时间,分别是广州和今天。也就是我们常说的填槽。nlu的训练数据在data/nlu.md文件,是以markdown编写的形式,易于理解,示例如下:

## intent:request_weather
- 帮我查下天气
- 天气怎么样
- 我想知道[明天](date_time)的天气
- 请问[北京](address)[今天]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值