当前位置: 首页 > wzjs >正文

网站设计框架图在线工具

网站设计框架图,在线工具,江苏丹阳疫情最新消息官网,婚纱设计网站模板商城下面是一个纯 Rasa 实现的医生助手第一版项目文件内容,具备基本的“多轮问诊”流程逻辑,通过 slot 存储用户的多个症状,在最后阶段给出“模拟的诊断建议”。 PS:完成这个之后,下一步我还想在Rasa工作过程中引入大模型…

下面是一个纯 Rasa 实现的医生助手第一版项目文件内容,具备基本的“多轮问诊”流程逻辑,通过 slot 存储用户的多个症状,在最后阶段给出“模拟的诊断建议”。

PS:完成这个之后,下一步我还想在Rasa工作过程中引入大模型辅助完成对话流程。


📁 项目结构与文件内容

actions/actions.py

from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.events import SlotSetclass ActionAskMoreSymptoms(Action):def name(self) -> Text:return "action_ask_more_symptoms"def run(self, dispatcher: CollectingDispatcher,tracker: Tracker,domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:# 获取本轮对话中所有识别到的 symptom 实体new_symptoms = tracker.get_slot("new_symptom") or []# 获取历史症状collected_symptoms = tracker.get_slot("collected_symptoms") or []if new_symptoms:# 将当前轮症状添加到历史症状列表中collected_symptoms.extend(new_symptoms)dispatcher.utter_message(text=f"已记录你的症状:{', '.join(new_symptoms)}。")else:dispatcher.utter_message(text="我没有识别到具体症状,请再描述一下。")dispatcher.utter_message(text=f"目前已记录症状:{', '.join(collected_symptoms)}。还有其他不适吗?")# 更新槽位return [SlotSet("collected_symptoms", collected_symptoms)]class ActionSimulateDiagnosis(Action):def name(self) -> Text:return "action_simulate_diagnosis"def run(self, dispatcher: CollectingDispatcher,tracker: Tracker,domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:symptoms = tracker.get_slot("collected_symptoms") or []if not symptoms:dispatcher.utter_message(text="我目前没有记录到任何症状。")else:symptom_list = ", ".join(symptoms)dispatcher.utter_message(text=f"根据你提供的症状:{symptom_list},建议进一步检查。可能为常见疾病,请就医确认。")return []

data/nlu.yml

version: "3.1"nlu:- intent: greetexamples: |- 你好- 嗨- intent: report_symptomexamples: |- 我有点[头疼](symptom)- [胸闷](symptom)- 最近[恶心](symptom)- [口干](symptom)- [胸口发闷](symptom)- [头疼](symptom)- [喉咙痛](symptom)- [发烧](symptom)- [肚子疼](symptom)- [胸口闷](symptom)- [咳嗽](symptom)- 感觉[恶心](symptom)- 有点[鼻塞](symptom)- intent: denyexamples: |- 没有了- 没有其他不适- 没事了- 没有

data/rules.yml

version: "3.1"rules:
- rule: 启动问诊steps:- intent: greet- action: utter_greet- rule: 用户说出症状后继续追问steps:- intent: report_symptom- action: utter_ack_symptom- action: action_ask_more_symptoms- rule: 用户否认后进入诊断steps:- intent: deny- action: action_simulate_diagnosis

data/stories.yml

version: "3.1"stories:
- story: 多轮问诊并诊断steps:- intent: report_symptom- action: utter_ack_symptom- action: action_ask_more_symptoms- intent: report_symptom- action: utter_ack_symptom- action: action_ask_more_symptoms- intent: deny- action: action_simulate_diagnosis

tests/test_stories.yml

version: "3.1"stories:
- story: 测试完整问诊流程steps:- user: |我头疼intent: report_symptom- action: utter_ack_symptom- action: action_ask_more_symptoms- user: |还有点咳嗽intent: report_symptom- action: utter_ack_symptom- action: action_ask_more_symptoms- user: |没有了intent: deny- action: action_simulate_diagnosis

config.yml


recipe: default.v1assistant_id: 20250412-010713-concrete-weaponlanguage: zhpipeline: - name: JiebaTokenizer- name: RegexFeaturizer- name: LexicalSyntacticFeaturizer- name: CountVectorsFeaturizer- name: DIETClassifierepochs: 100- name: EntitySynonymMapper- name: FallbackClassifierthreshold: 0.4ambiguity_threshold: 0.1policies: - name: RulePolicy- name: UnexpecTEDIntentPolicy    # 辅助检测用户意图偏差max_history: 5epochs: 100

credentials.yml

rest:

domain.yml

version: "3.1"intents:- greet- report_symptom- denyslots:new_symptom:type: listinitial_value: []influence_conversation: falsemappings:- type: from_entityentity: symptomcollected_symptoms:type: anyinitial_value: []influence_conversation: falsemappings: []  # 添加一个空的 mappings 配置entities:- symptomactions:- utter_greet- action_ask_more_symptoms- action_simulate_diagnosisresponses:utter_greet:- text: "你好,我是医生助手,请描述你的症状。"utter_ack_symptom:- text: 已记录你的症状。

endpoints.yml

action_endpoint:#url: "http://localhost:5055/webhook"#action_server是之后运行action的docker容器名字url: "http://action_server:5055/webhook"

✅ 启动流程简要说明

1. 训练模型:
docker run -u $(id -u):$(id -g) -v $(pwd):/app rasa/rasa:3.6.21-full train
2. 创建一个 bridge 网络
docker network create rasa-net

然后用这个网络跑两个容器:

3.启动 action server 服务器(一个终端)
docker run --rm -u $(id -u):$(id -g) --network rasa-net -v $(pwd):/app -p 5055:5055 --name action_server rasa/rasa:3.6.21-full run actions
#--name action_server注意这里设置的容器名需要和action_endpoint里的设置匹配
4.启动对话测试 rasa shell(另一个终端)
docker run --rm -it -u $(id -u):$(id -g) --network rasa-net -v $(pwd):/app rasa/rasa:3.6.21-full shell

这样两个容器在同一个网络里,localhost:5055 就能通了。


博主私人备注:

用于检测nul

docker run --rm -it -u $(id -u):$(id -g) --network rasa-net -v $(pwd):/app rasa/rasa:3.6.21-full shell nlu
http://www.dtcms.com/wzjs/31938.html

相关文章:

  • 网站主机的选择与优化全球搜怎么样
  • 厦门的一个做设计的网站网页入口网站推广
  • 会宁县建设局网站南宁网站优化
  • 用python开发网站app推广一手单
  • 南京做网站工作室seo推广如何做
  • 网站后台密码忘记了如何制作网页最简单的方法
  • 重庆品牌营销型网站建设优化网站教程
  • 湘潭建设企业网站全国最新实时大数据
  • 强的网站建设公网站优化外包顾问
  • 做相册网站logo百度云搜索引擎入口官方
  • 如何加入小说网站做打字员网页设计软件有哪些
  • 成都网站建设冠辰企业网站优化方案案例
  • 太原网站制作费用百度爱采购排名
  • 厦门网站建设求职简历企业营销策划
  • 广东网站建设哪家免费网站推广网址
  • 优化网站的步骤案列sem是什么职业岗位
  • 网站关键词提升如何注册属于自己的网站
  • WordPress评论第页seo推广有哪些公司
  • 用asp.net和access做的关于校园二手网站的论文成都百度推广账户优化
  • 怎样建立自己的视频号成都网站优化
  • 阿里云建站数据库用什么nba今日最新消息
  • 万州医院网站建设软文一般发布在哪些平台
  • 做网站推广需要什么交换友链
  • 网站域名缴费站长工具的网址
  • 揭阳企业网页制作公司如何进行网站性能优化?
  • 武宁县建设工程招标公告门户网站seo关键词软件
  • 毕业设计代做网站 知乎网站seo培训
  • 兰州生活网最彻底的手机优化软件
  • 网站长尾词怎么做优化推广排名网站教程
  • 公司做网站算什么费用免费域名注册查询