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

坑梓网站建设包括哪些游戏大全免费版入口

坑梓网站建设包括哪些,游戏大全免费版入口,商场设计分析,企业网站cms模板此篇接续上一篇 传统业务对接AI-AI编程框架-Rasa的业务应用实战(4)--Rasa成型可用 针对业务配置rasa并训练和部署 上一篇我们已经让Rasa准确识别了我们自然语言指令的开票和查询发票的意图和实体。 # 开具发票场景 用户输入:开具一张1000元…

此篇接续上一篇 传统业务对接AI-AI编程框架-Rasa的业务应用实战(4)--Rasa成型可用 针对业务配置rasa并训练和部署
 

上一篇我们已经让Rasa准确识别了我们自然语言指令的开票和查询发票的意图和实体。

# 开具发票场景

用户输入:开具一张1000元的发票,税率13%   // 识别开票意图和实体

rasa输出:好的,我将为您开具一张金额为1000元,税率为13%的发票。

# 查询发票场景

用户输入:查询发票编号12345  // 识别发票查询意图和实体

rasa输出:正在查询发票编号12345的详情,请稍候。

此篇我们要做进一步提升改造,内容如下:

1、当前是命令行界面输入文本来交互,我则希望是前端发送http rest请求来输入自然语言指令。 

比如:前端页面访问 http://localhost:xxx/xxx/ (rasa服务的交互接口)

2、Rasa 接收到前端的自然语言指令后,识别了意图和实体,调用后端的开票/查询业务服务接口

并最终将最后的业务操作结果,返回给前端。

http://localhost:8088/ai/rasa/issue_invoice(开票接口)


http://localhost:8088/ai/rasa/query_invoice/xxx(查票接口)


接下来就是我们具体的改造 

1、定义 Rasa 的后台服务API地址,通过配置 endpoints.yml 文件来实现:(在其中添加以下配置内容)

action_endpoint:url: "http://localhost:5055/webhook"

解释:http://localhost:5055/webhook 此即 rasa对外暴露的API接口,前端界面就可以通过这个url来传入自然语言指令来与rasa交互

2、先改规则配置文件:

 开票和查票的两个意图的动作,都由原来的返回响应文本(utter_issue_invoice),改成执行动作(action_issue_invoice),即触发对应domain.yml中配置的动作项:

3、实现rasa的开票和查票的两个动作 即 action_issue_invoice 和 action_query_invoice 去调用业务系统的后台服务接口

编辑工作目录下的actions/actions.py文件 如下:

from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.events import SlotSet
import requestsclass ActionIssueInvoice(Action):def name(self):return "action_issue_invoice"def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: dict):amount = tracker.get_slot("amount")tax_rate = tracker.get_slot("tax_rate")if amount and tax_rate:# 替换为你的发票系统 API 地址和参数try:response = requests.post("http://localhost:8088/ai/rasa/issue_invoice",json={"amount": amount.replace("元", ""), "tax_rate": tax_rate.replace("%", "")},headers={"Authorization": "Bearer YOUR_API_TOKEN"})if response.status_code == 200:dispatcher.utter_message(text=f"发票已开具,金额为{amount},税率为{tax_rate}。")else:dispatcher.utter_message(text=f"发票开具失败:{response.json().get('error', '未知错误')}。")except Exception as e:dispatcher.utter_message(text=f"发票开具失败:{str(e)}。")return [SlotSet("amount", amount), SlotSet("tax_rate", tax_rate)]else:dispatcher.utter_message(text="抱歉,无法识别金额或税率,请重新输入。")return []class ActionQueryInvoice(Action):def name(self):return "action_query_invoice"def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: dict):invoice_number = tracker.get_slot("invoice_number")if invoice_number:# 替换为你的发票系统 API 地址和参数try:response = requests.get(f"http://localhost:8088/ai/rasa/query_invoice/{invoice_number}",headers={"Authorization": "Bearer YOUR_API_TOKEN"})if response.status_code == 200:invoice_data = response.json()dispatcher.utter_message(text=f"发票编号{invoice_number}的详情:{invoice_data}。")else:dispatcher.utter_message(text=f"查询失败:{response.json().get('error', '未知错误')}。")except Exception as e:dispatcher.utter_message(text=f"查询失败:{str(e)}。")return [SlotSet("invoice_number", invoice_number)]else:dispatcher.utter_message(text="抱歉,无法识别发票编号,请重新输入。")return []

此即意味着,当识别了开票意图后, 会执行Python的action_issue_invoice方法,传入识别的实体信息去调用开票的后端服务接口。当识别了查询发票的意图后,会执行Python的action_query_invoice方法, 传入识别的实体信息去调用开票的后端服务接口。

 4、以服务方式(非壳方式 即不是shell命令行模式)启动 rasa 执行以下命令:

rasa run --enable-api --cors "*" --port 5005

执行后运行如下:

这样 rasa 就以http server模式启动了,前端就可以通过http请求与之交互对话了。

5、启动 rasa 的动作服务器。  在工程目录下,新开个 powershell 执行界面,执行以下命令:

rasa run actions

 此一步正是第3步中的 actions/actions.py 的服务端实现的部署启动,用来对外调用业务接口

如上图所示 就是启动成功了 动作服务器的端口默认为:5055 

6、模拟业务前端界面发起开票的自然语言指令试试效果

如下图,我用自然语言,作为传入参数,调用rasa的server,它成功调用了业务端接口并返回了正确的预期结果。大功告成!

上图是我的模拟开票服务的后端接口日志输出,证明rasa在识别到开票的自然语言指令后确实成功调用了业务接口。 

再试试查票的识别:

也是OK 完美识别。 


末尾,顺带附上我测试用的业务接口的代码 (模拟开发票和查发票的业务API) 

@RestController
@RequestMapping("/ai/rasa")
public class Ai4BizController extends BaseController {private static final Logger logger = LoggerFactory.getLogger(Ai4BizController.class);@PostMapping("/issue_invoice")public JSONObject issueInvoice(@RequestBody JSONObject reqObj) {String amount = reqObj.getString("amount");String taxRate = reqObj.getString("tax_rate");if (StringUtils.isEmpty(amount) || StringUtils.isEmpty(taxRate)) {return fail("开票失败,缺少开票信息!");}logger.info("业务系统后台成功开具了一张发票!金额:{}, 税率:{}", reqObj.getString("amount"), reqObj.getString("tax_rate"));JSONObject data = new JSONObject().fluentPut("info", "发票开具成功!").fluentPut("fee", reqObj.getString("amount")).fluentPut("tax_rate", reqObj.getString("tax_rate"));return success(data);}@GetMapping("/query_invoice/{invoice_number}")public JSONObject queryInvoice(@PathVariable("invoice_number") String invoiceNumber) {if (StringUtils.isEmpty(invoiceNumber)) {return fail("查询失败,缺少发票号码!");}return success(new JSONObject().fluentPut("info", "您查询的发票号码是:" + invoiceNumber));}
}


文章转载自:

http://94g9TN4H.sgfpn.cn
http://lEy8fvfj.sgfpn.cn
http://8TkmihWg.sgfpn.cn
http://faDe2ufO.sgfpn.cn
http://FhCH1zNE.sgfpn.cn
http://5MKbbMhN.sgfpn.cn
http://CC4hAKPq.sgfpn.cn
http://ewJrExK2.sgfpn.cn
http://pUKEm5jv.sgfpn.cn
http://OVGYG5mP.sgfpn.cn
http://GU3XHDPi.sgfpn.cn
http://UyQPfdUu.sgfpn.cn
http://ZmWFEGYL.sgfpn.cn
http://hg0BezFm.sgfpn.cn
http://ehK6UY6N.sgfpn.cn
http://PDD1g2sj.sgfpn.cn
http://XWNo1tyJ.sgfpn.cn
http://jB6wkTSl.sgfpn.cn
http://sqk6Z5xf.sgfpn.cn
http://asWZPj2D.sgfpn.cn
http://zWqAiX7o.sgfpn.cn
http://sCIjoY9J.sgfpn.cn
http://CtE5m2zD.sgfpn.cn
http://RUiRFR3b.sgfpn.cn
http://OinRUY3z.sgfpn.cn
http://dOfv753v.sgfpn.cn
http://JdidhuT2.sgfpn.cn
http://ZkhPpxtT.sgfpn.cn
http://gOxsnoEt.sgfpn.cn
http://YXpFQT5W.sgfpn.cn
http://www.dtcms.com/wzjs/695798.html

相关文章:

  • 网站分页怎么做陕西防疫最新政策
  • 大气宽屏企业网站源码网络营销外包平台
  • 如何免费申请网站wordpress快速扒站
  • 新手建站1 网站建设过程一览dedecms 获取网站地址
  • 东莞seo建站优化收费凡科抽奖
  • php网站开发实例教程实验报告常见的网站首页布局
  • 南宁网站建公司电话网络优化器免费
  • 网站创建app重庆节点建筑设计咨询有限公司
  • 自学做网站需要学会哪些哪里有做手工活的可以拿回家的
  • 网站如何上传找人做网站 源码被盗用
  • 律师做网络推广哪个网站好简历模板做的最好的是哪个网站
  • 网站运营的案例网站的排版包括什么意思
  • 江门市网站开发上海龙元建设网站
  • 开发公司支付前期物业开办费包括哪些内容凌源网站优化
  • 万网域名注册号后怎么做网站大同工业园区招聘信息
  • 邯郸集团网站建设沈阳网站制作全过程
  • h5网站开发培训哪里好视频资源的网站怎么做
  • 网站添加属性长沙有家具网站建设的吗
  • 服务器主机 网站吗产品网络营销策划方案
  • 山东省建设建设协会网站福州全网网站建设
  • 中国有多少个网站网站发布和推广
  • 在网站建设工作会议上讲话宜宾网站建设价格
  • 汕尾手机网站设计163网易免费企业邮箱
  • 网站集约化建设项目内容设计公司网站设计
  • 河南睢县筑宇建设网站创建qq网站
  • 东莞网站seo技术网站开发常用小图片
  • 国内个人网站设计欣赏教育网站首页源代码
  • 营销型网站页面布局外贸网站布局
  • 长沙本土网站制作公司可以建设网站的软件
  • 网站空间虚拟主机wordpress制作图片站