首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在rasa2.0中使用http parse post请求解析消息时指定型号名称?

在 Rasa 2.0 中,可以使用 HTTP Parse 插件来解析 POST 请求中的消息,并指定实体的型号名称。下面是如何实现的步骤:

  1. 首先,确保已经安装了 Rasa 2.0 版本,并且已经创建了一个 Rasa 项目。
  2. 在 Rasa 项目的根目录下创建一个名为 endpoints.yml 的文件,如果已经存在则跳过此步骤。
  3. endpoints.yml 文件中添加以下内容:
代码语言:txt
复制
action_endpoint:
  url: "http://localhost:5055/webhook"

nlu:
  url: "http://localhost:5005/model/parse"
  request_method: "POST"
  headers:
    Content-Type: "application/json"

上述配置中,action_endpoint 指定了 Rasa Action Server 的地址,nlu 指定了 Rasa NLU 服务器的地址和请求方式。

  1. 在 Rasa 项目的根目录下创建一个名为 credentials.yml 的文件,如果已经存在则跳过此步骤。
  2. credentials.yml 文件中添加以下内容:
代码语言:txt
复制
http:
  url: "http://localhost:5005/model/parse"
  method: "POST"
  headers:
    Content-Type: "application/json"

上述配置中,url 指定了 Rasa NLU 服务器的地址,method 指定了请求方式。

  1. 在 Rasa 项目的根目录下的 config.yml 文件中添加以下内容:
代码语言:txt
复制
pipeline:
  - name: "WhitespaceTokenizer"
  - name: "RegexFeaturizer"
  - name: "CRFEntityExtractor"
  - name: "EntitySynonymMapper"
  - name: "CountVectorsFeaturizer"
  - name: "CountVectorsFeaturizer"
    analyzer: "char_wb"
    min_ngram: 1
    max_ngram: 4
  - name: "DIETClassifier"
    epochs: 100
  - name: "EntityExtractor_http"
    url: "http://localhost:5005/model/parse"
    method: "POST"
    headers:
      Content-Type: "application/json"

上述配置中,EntityExtractor_http 是自定义的组件名称,url 指定了 Rasa NLU 服务器的地址,method 指定了请求方式。

  1. 在 Rasa 项目的根目录下的 actions.py 文件中添加以下内容:
代码语言:txt
复制
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher

class ActionParseMessage(Action):
    def name(self) -> Text:
        return "action_parse_message"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
        
        message = tracker.latest_message.get("text")
        model_name = tracker.latest_message.get("model_name")
        
        # 在这里可以根据指定的型号名称进行相应的处理
        
        dispatcher.utter_message(text=f"收到消息:{message},型号名称:{model_name}")
        
        return []

上述代码中,ActionParseMessage 是自定义的动作名称,run 方法中可以获取到消息文本和指定的型号名称,你可以根据需要进行相应的处理。

  1. 在 Rasa 项目的根目录下的 domain.yml 文件中添加以下内容:
代码语言:txt
复制
actions:
  - action_parse_message

上述配置中,action_parse_message 是自定义的动作名称,将其添加到 actions 列表中。

现在,你可以使用 HTTP Parse 插件来解析 POST 请求中的消息,并指定型号名称。当 Rasa 接收到消息时,会触发 action_parse_message 动作,并将消息文本和指定的型号名称传递给该动作进行处理。在动作中,你可以根据指定的型号名称进行相应的逻辑处理,并通过 dispatcher.utter_message 方法返回响应消息。

请注意,上述代码中的地址和端口号仅作为示例,你需要根据实际情况进行相应的修改。此外,还可以根据需要添加其他的 Rasa 组件和自定义动作来实现更复杂的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flask 学习-44.Flask-RESTX 请求参数校验reqparse.RequestParser()

不用担心,如果您现在有代码使用它并希望继续这样做,它不会很快消失。 reqparse 解析请求参数 这是请求解析器的一个简单示例。...() add_argument()默认参数类型是 unicode 字符串, type=str 如果您指定该help值,则在解析引发类型错误时,它将呈现为错误消息。...如果您未指定帮助消息,则默认行为是从类型错误本身返回消息 笔记 默认情况下,请求参数是非必填(required=False)。此外,请求中提供的不属于 的参数RequestParser将被忽略。...在请求解析声明但未在请求本身设置的参数将默认为None. 使用 strict=True 调用 parse_args 能够确保当请求包含你的解析未定义的参数的时候会抛出一个异常。...,你想要以不同的名称存储你的参数一旦它被解析的时候,你可以使用 dest kwarg。

1.9K10

Go语言HTTP服务实现GET和POST请求的同时支持

现在,当有GET请求到达我们的HTTP服务,服务器将会响应一个包含消息"This is a GET request!"的页面。 3. 支持POST请求 POST请求通常用于向服务器提交数据。...如果是POST请求,则首先解析请求的表单数据,然后我们可以根据表单数据做相应的处理。最后,向客户端返回一个简单的成功消息。 现在,我们的HTTP服务已经支持GET和POST请求了。...当有POST请求到达我们的服务器,服务器将会响应一个包含消息"POST request successful!"的页面。 4....对于GET请求,我们直接返回一个简单的消息;对于POST请求,我们首先解析请求的表单数据,然后根据表单数据做相应的处理,并向客户端返回一个成功消息。...同时,我们还介绍了如何在同一个HTTP服务实现对GET和POST请求的支持,使得我们的服务更加灵活和全面。

33410
  • Python 爬虫出发前的装备之二数据先行( Requests 模块)

    可在构造方法中指定,也可以通过调用 add_header( ) 方法添加 默认 User-Agent 是 Python-urllib origin_req_host: 指定请求方的 host 名称或者...method: 用来指定请求使用的方法, **GET、POST 或 PUT ** 等。 很多网站具有反爬虫设置,除了浏览器之外的访问均认定为非法请求。所以爬虫程序需要把自己伪装成浏览器。...data: POST 请求的数据,GET 请求设置为 None。 timeout: 设置网站的访问超时时间。仅仅用于使用 HTTP、HTTPS、FTP 协议请求连接。...cafile、capath: 当使用 HTTPS 请求,用来指定 CA 数字证书。 cafile 指定数字证书文件。 capath 指定包含的数字认证文件的目录。...返回类型说明: 无论使用何种协议发送请求后返回的对象都会包括 3 个通用方法。 geturl( ) 返回请求的资源URL。 info( ) 返回元数据信息,消息头。

    49710

    干货|Webhook配置钉钉飞书机器人告警

    也可以集成第三方的系统来实现更加高级的功能,例如当主机自动注册到 Zabbix ,通过 Webhook 类型调用 API,将资产信息同步到 CMDB 系统,或者报警发生,调用自动化平台的 API...Post请求,格式:req.post(url, data) resp = req.post(params.To, JSON.stringify(msg) ); //...msg: HTTP请求的数据,这里是将告警的主题和内容封装为一个钉钉机器人支持的数据格式。 resp: HTTP请求响应对象。...resp = req.post(params.To, JSON.stringify(msg)): 发送HTTP Post请求。...创建动作 Web界面导航到配置 -> 动作 -> Trigger actions,点击右上角的创建动作 配置动作的名称 配置具体的操作细节 注意:需要配置指定的发送用户,及发送的媒介 2.

    3.4K40

    Python爬虫之urllib库—进阶篇

    urllib库除了一些基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用,比如,用HTTPPOST请求方法向服务器提交数据实现用户登录、当服务器检测出频繁使用同一IP而发出禁令,如何使用代理...POST请求 POSTHTTP协议的请求方法之一,也是比较常用到的一种方法,用于向服务器提交数据。博主先介绍进行post请求的一些准备工作,然后举一个例子,对其使用以及更深层概念进行详细的的剖析。...博主推荐使用fiddler工具,因为爬虫就是模拟浏览器工作,fiddler会帮助我们抓取正常使用浏览器POST请求的内容,这样我们只要把抓到的浏览器POST的信息填到爬虫程序里就ok了。...urllib库parse 除了上面提到的urlencode方法,urllib库的parse还有很多其它的方法可以使用: urlparse:把URL解析成6个部分 ://<netloc...总结 主要介绍了urllib库的一些高级用法: POST请求的准备和使用方法 代理IP的使用 超时的使用 parse解析 最后,感谢大家最近的支持和鼓励,博主会继续努力与大家分享更多实用和有趣的内容

    52710

    浅谈Python爬虫原理与数据抓取

    搜索引擎和DNS解析服务商(DNSPod等)合作,新网站域名将被迅速抓取。...2 HEAD 类似于get请求,只不过返回的响应没有具体的内容,用于获取报头 3 POST指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求。...wd=Chinese POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据(比如请求包含许多参数或者文件上传操作等),请求的参数包含在“Content-Type...Host (主机和端口号) Host:对应网址URL的Web名称和端口号,用于指定请求资源的Internet主机和端口号,通常属于URL的一部分。 2....HTTP/HTTPS的GET和POST方法 urllib.parse.urlencode() # IPython 的测试结果 In [1]: import urllib.parse In [2]:

    2.2K41

    15 常用API说明及基本的示例

    客户端与服务器端的交互事务,在实例化HTTPConnection,应该传入目标服务主机(IP或url)和端口,如果没有传递端口,则会从主机字符串解析端口号(例如www.baidu.com:80,则会尝试从该字符串中去解析出...80作为交互端口),如果主机字符串也无端口号,则使用http.client定义的默认端口(http: 80, https: 443)。...如果给出了可选的超时参数(即timeout),则阻塞操作(连接尝试)将在许多秒之后超时(如果没有给出,则使用全局缺省超时设置)。...# 可选的messagebody参数可用于传递与该请求相关联的消息体。...http.client进行http的GET、POST、HEAD方法 #-*- coding:utf-8 -*- __author__ = "苦叶子" import http.client, urllib.parse

    1.7K70

    Python爬虫之urllib库—进阶篇

    urllib库除了一些基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用,比如,用HTTPPOST请求方法向服务器提交数据实现用户登录、当服务器检测出频繁使用同一IP而发出禁令,如何使用代理...POST请求 POSTHTTP协议的请求方法之一,也是比较常用到的一种方法,用于向服务器提交数据。博主先介绍进行post请求的一些准备工作,然后举一个例子,对其使用以及更深层概念进行详细的的剖析。...博主推荐使用fiddler工具,因为爬虫就是模拟浏览器工作,fiddler会帮助我们抓取正常使用浏览器POST请求的内容,这样我们只要把抓到的浏览器POST的信息填到爬虫程序里就ok了。...urllib库parse 除了上面提到的urlencode方法,urllib库的parse还有很多其它的方法可以使用: urlparse:把URL解析成6个部分 :/// ; ?...总结 主要介绍了urllib库的一些高级用法: POST请求的准备和使用方法 代理IP的使用 超时的使用 parse解析 最后,感谢大家最近的支持和鼓励,博主会继续努力与大家分享更多实用和有趣的内容。

    74680

    自定义web框架

    提交表单,表单默认使用GET请求,但可以设置为POST 请求头: 1、Host 请求的web服务器域名地址 2、User-Agent HTTP客户端运行的浏览器类型的详细信息。...如果web服务器端看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点 post请求 POST / HTTP1.1...第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok) 第二部分:消息报头,用来说明客户端要使用的一些附加信息 第二行和第三行为消息报头, Date:生成响应的日期和时间...不过,接受HTTP请求解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。...POST, 变量将会被放在存在域wsgi.input文件HTTP请求信息, 由WSGI 服务器一起发送.

    51530

    NodePOST请求的正确处理方式

    Node的 http 模块只对HTTP报文的头部进行了解析,然后触发 request 事件。如果请求还带有内容部分( POST 请求,它具有报头和内容),内容部分需要用户自行接收和解析。...通过报头的 Transfer-Encoding 或 Content-Length 即可判断请求是否带有内容 字段名称 含义 Transfer-Encoding 指定报文主体的传输编码方式 Content-Length...POST发送的是表单的数据 如果在页面中使用表单提交一个post请求,我们的代码大概是这样的。...POST发送的是JSON的数据 如果在页面中使用axios发送post请求,我们的代码大概是这样的。...POST发送的是文件数据 如果在页面中使用表单提交文件请求,我们的代码大概是这样的。

    2K80

    怎样用Node.js搭建web服务器

    DELETE:请求服务器删除指定的资源。HEAD:仅请求资源的头部信息。OPTIONS:询问服务器支持的请求方法。了解这些基本的HTTP方法对于开发高效的Web服务器至关重要。...} else if(req.method === 'POST') { // 处理POST请求 }});获取GET请求参数在处理GET请求,我们通常需要获取URL的查询参数。...; }); req.on('end', () => { console.log(require('querystring').parse(data)); // 解析并打印POST数据 });...随后,我们深入了解了如何在Node.js创建HTTP服务器,并根据不同的请求方法(GET和POST)来处理请求。特别地,我们讨论了如何获取GET请求的参数以及如何处理POST请求的数据。...结语通过本文的学习,你应该对如何使用Node.js创建和管理HTTP服务器有了基本的了解。Node.js提供的灵活性和强大的性能使其成为开发现代Web应用的理想选择。

    27010

    JavaWeb全栈开发前后端交互通用标准

    在接收服务器数据一般是得到字符串,我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。 JSON.parse()方法用于从一个字符串解析出json对象。...前端请求参数的形式 前端请求参数的形式:GET和POST两种方式。 GET:从指定的服务器获取数据(方便,较不安全)。 POST:提交数据给指定的服务器处理(不方便,比较安全)。...然而,在以下情况,请使用 POST 请求: 不使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠...URL的参数主要是根据后台需要,若后台需要一个参数作为查询的辅助条件,前端在URL数据请求就传递参数。 请求格式:URL?参数(如果有几个参数则用&连接参数。...() 方法 jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。

    7.8K20

    Web页面解析过程(浅)

    DNS注册的信息,注册商,名称对应的IP地址,则这个DNS是合法的。...国内域名DNS查询界面使用方法: 在“主机”一栏输入DNS服务器的名称,点击查询,如果查询出有DNS注册的信息,注册商,名称对应的IP地址,则这个DNS是合法的 ​ 修改方法:通过相应域名注册公司进行域名变更...POST_READ 读取HTTP头部,读取并解析内容 server-rewrite在URL与location匹配之前修改请求的URL(重定向),在server块请求地址重写 find-config配置查找阶段...请求方法: GET方法: 用于获取请求页面的指定资源,没有完整的请求内容(请求的参数实际是存在URL) GET /index.php HTTP/1.1 POST方法: 用于向指定的URL页面请求资源或提交内容资源...PUT/DELETE方法: PUT用于向服务器请求存储指定的实体信息在指定的HOST;DELETE用于向服务器请求删除指定URL位置的资源;非常危险的两个请求方法哦~常常被禁止使用 TRACE方法:

    2.1K20

    Postman快速上手

    2、能够模拟各种HTTP RequestGET、POST、PUT、DELETE…等等。 3、请求还可以发送文件(图片、文本文件等)、额外的Header等,实现特定的接口测试。...3、Headers:请求的头部信息。 4、Body:post请求要带的参数,里面放一些key-value键值对。 4.1、form-data:它将表单数据处理为一条消息,以标签为单元,用分隔符分开。...2、输入接口名称、版本号、选择指定的架构信息等。 3、添加完成后,可对该API接口定义进行完善,并可进行对API接口的开发与测试等后续操作。...注:因为创建模拟接口,接口URL地址已经自动添加到环境变量里,此时接口URL地址也可以引用变量的方式进行请求。提取变量,直接使用{{变量名}}即可。...注:提取变量,直接使用{{变量名}}即可。 断言结果: 8、运行集合 选择指定的Collections集合,点击Run collection。 设置后,点击运行。

    1.2K20

    爬虫之scrapy框架

    配置文件,:递归的层数、并发数,延迟下载等 spiders 爬虫目录,:创建文件,编写爬虫解析规则 2,新建一个爬虫程序 也是在pycharm的终端下输入:cd 项目名称...爬取网页上的链接继续发送请求使用CrawlSpider更合适   2,创建CrawlSpider爬虫程序 1,新建一个项目,这个和spider一样的 scrapy startproject 项目名称...) 作用:提取response符合规则的链接   4,Rule,规则解析器 根据链接提取器中提取到的链接,根据指定规则提取解析器链接网页的内容。...指定规则解析解析数据的规则(回调函数)   参数3:是否将链接提取器继续作用到链接提取器提取出的链接网页。...5,爬取的流程 a)爬虫文件首先根据起始url,获取该url的网页内容 b)链接提取器会根据指定提取规则将步骤a中网页内容的链接进行提取 c)规则解析器会根据指定解析规则将链接提取器中提取到的链接的网页内容根据指定的规则进行解析

    1.2K20
    领券