Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations

Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations

Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations

Rasa 官网

Learn more about Rasa:
Rasa documentation:
Join the Rasa Community:
Twitter:
Facebook:
Linkedin:
Youtube :

www.zeeklog.com - Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations

Contextual Conversations

考虑上下文通常是提供良好用户体验的关键。本页是创建上下文对话模式的指南。

在上下文对话中,对话中前一步之外的内容会影响下一步应该发生的事情。例如,如果用户询问“有多少?”,仅仅从信息中还不清楚用户在问什么。在助手说“你有邮件”的情况下,回答可能是“你的邮箱里有五封信”。在关于未付账单的对话中,回答可能是“你有三张逾期账单”。助手需要知道上一个操作才能选择下一个操作。

要创建上下文感知会话助手,您需要定义会话历史如何影响下一个响应。

例如,如果用户询问示例音乐会机器人如何开始,机器人会根据他们是否喜欢音乐做出不同的响应:

与喜欢音乐的用户的对话:

www.zeeklog.com - Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations


与不喜欢音乐的用户的对话:

www.zeeklog.com - Transformer课程 业务对话机器人Rasa 3.x Contextual Conversations

Step-by-step Guide on Creating Contextual Conversation Patterns

1. Defining Slots

插槽是助理的内存。插槽存储您的助手稍后需要参考的信息片段,可以根据插槽设置slot_was_set事件引导对话流程。有不同类型的插槽,每个插槽都以自己的方式影响会话流。

在音乐会机器人示例中,likes_music槽是一个布尔槽。如果为true,则bot发送一条介绍消息。如果为false,则bot发送另一条消息。在域中定义插槽及其类型:
domain.yml

slots: likes_music: type: bool mappings: - type: custom 

2. Creating Stories

故事是对话应该如何进行的例子。在上面的示例中,音乐会机器人对喜欢音乐的用户和不喜欢音乐的用户的响应不同,因为这两个故事:
stories.yml

stories: - story: User likes music steps: - intent: how_to_get_started - action: utter_get_started - intent: affirm - action: action_set_music_preference - slot_was_set: - likes_music: True - action: utter_awesome - story: User doesn't like music steps: - intent: how_to_get_started - action: utter_get_started - intent: deny - action: action_set_music_preference - slot_was_set: - likes_music: False - action: utter_goodbye 

这些故事根据用户的意图(肯定或否定)而有所不同。根据用户的意图,自定义操作会设置一个槽,进一步引导对话。

3. Configuring the TEDPolicy

除了添加故事来解释上下文之外,机器学习策略还可以帮助您的模型概括为看不见的对话路径。重要的是要理解,使用机器学习策略并不意味着放弃对助手的控制。如果基于规则的策略能够进行预测,则该预测将始终具有更高的策略优先级,并将预测下一个操作。

TED策略用于处理意外的用户行为。例如,在下面的对话中(摘自Rasa X上的对话):

stories: - story: Story from conversation with a2baab6c83054bfaa8d598459c659d2a on November 28th 2019 steps: - checkpoint: STORY_START - intent: greet - action: action_greet_user - slot_was_set: - shown_privacy: true - intent: ask_whoisit - action: action_chitchat - intent: ask_whatspossible - action: action_chitchat - intent: telljoke - action: action_chitchat - intent: how_to_get_started entities: - product: x - slot_was_set: - product: x - action: utter_explain_x - action: utter_also_explain_nlucore - intent: affirm - action: utter_explain_nlu - action: utter_explain_core - action: utter_direct_to_step2 

在这里,我们可以看到用户首先完成了一些聊天任务,然后最终询问他们如何开始使用Rasa X。TED策略正确地预测了Rasa X应该向用户解释,然后还引导他们开始使用,而不需要先询问所有符合条件的问题。

由于机器学习策略已经推广到这种情况,您应该将此故事添加到您的训练数据中,以不断改进您的机器人,并帮助模型在将来更好地推广。RASAX是一个工具,可以帮助您改进您的机器人,使其更加上下文化。

Setting max_history

通常,只有一定数量的上下文与您的助手相关。max_history是Rasa对话管理策略的超参数,用于控制模型在对话中查看多少步骤以决定下一步要采取的操作。

在下面的故事中,用户连续三次请求帮助。前两次,机器人发送相同的信息,但第三次,它将它们交给人工客服
stories.yml

stories: - story: user persists in asking for help steps: - intent: help - action: utter_help - intent: help - action: utter_help - intent: help - action: action_human_handoff 

为了让模型了解这种模式,它至少需要知道前面的四个步骤,即四个的最大历史信息max_history。如果max_history为3,则模型将没有足够的上下文来查看用户已经发送了两个帮助请求,并且永远不会预测人工切换操作。

通过将max_history 历史记录传递到配置文件中的策略设置,可以设置max_history ,例如:

config.yml

policies: - name: "TEDPolicy" max_history: 5 

您需要确保将max_history设置得足够高,以便您的助手能够准确预测下一步要做什么。有关更多详细信息,请参阅Featureizer上的文档。

Summary

以下是您可以应用的概念摘要,以使您的助手能够进行上下文对话:

为上下文对话写故事

使用插槽存储上下文信息以供以后使用

根据bot所需的上下文量,为策略设置最大历史记录

使用TED策略对不可见的对话路径进行泛化

rasa 链接

Rasa系列博客:

Read more

黄仁勋公开发文:传统软件开发模式终结,参与AI不必非得拥有计算机博士学位

黄仁勋公开发文:传统软件开发模式终结,参与AI不必非得拥有计算机博士学位

黄仁勋分享全文: AI 是当今塑造世界最强大的力量之一。它并非仅仅是一款巧妙的应用程序,也不是某个单一的模型,而是一种就像电力和互联网一样的基础设施。 AI 依赖真实的硬件、真实的能源以及真实的经济体系运行。它可以把原材料大规模地转化为智能。未来,每家公司都会使用 AI,每个国家/地区都会建设 AI。 要理解 AI 为什么会以这样的方式发展,最好的方法是从第一性原理出发,看看计算领域究竟发生了哪些根本性的变化。 从预先编写的软件,到实时生成的智能 在计算机发展的绝大多数历史中,软件都是预先写好的。人类先描述算法,然后由计算机执行。数据必须被精心组织与设计,存储在表格中,再通过精确的查询进行检索。 因此,SQL 成为不可或缺的工具,因为它让这种计算模式变得可行。 而 AI 打破了这一模式。 我们首次拥有了一台能够理解非结构化信息的计算机。它可以识别图像、阅读文本、理解声音,并理解其中的含义。它能够根据上下文和意图进行推理。更重要的是,它能够实时生成智能。 每一次回答都是全新的。每一次回应都取决于你提供的上下文。这不再是软件从数据库中取出预先存储的指令。而是软件在实时推理

By Ne0inhk
转型AI工程师实战指南

转型AI工程师实战指南

https://github.com/zeeklog/Be-an-AI-engineer-from-any-role 如果帮到你,Plz右上角Star⭐️ 来自 590 家公司的895 条真实JD的数据分析结论: AI 工程师岗位正在疯狂分层——会的人月入翻倍,不会的人正在被时代彻底甩在身后。 现在不行动,你就下一个N+1 🚀 AI 工程师角色 残酷真相:AI 工程师已经彻底变天! 2026 年市场只认一种人:能把 LLM + RAG + Agent 真正上线、能赚钱、能扛住生产压力的 Full-Stack Builder。 岗位类型分布(2026 真实画像) * AI-First(69.4%):直接构建产品核心功能(RAG、智能体、自动化工作流)——做不出来就出局 * AI-Support(28.5%):为全公司搭建 AI

By Ne0inhk