GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互

Name 等

Logo:自动生成
Name 介绍
Description 介绍
Instructions 要求或命令等 比如用中文回复,角色。
Knowledge 上传你的知识库,如果你有某一垂直行业的数据,基于数据来回答。比如我有某个芯片的指令集。
Capabilities 都要
Actions:就这个难以理解一点,下面详说含义用法。
Addtional Settings 目前只有是否允许使用对话数据提高模型。
在这里插入图片描述
在这里插入图片描述

Actions 示例1:json格式

在这里插入图片描述

在ChatGPT中,Actions 是用于定义和执行特定任务的功能模块。这些任务通常涉及到与外部系统或服务的交互。你提供的示例是一个开放API(应用程序编程接口)的规格说明,用于获取特定地点的当前天气数据。让我来解释一下这个示例中各部分的含义:

  1. openapi: 指定OpenAPI规格的版本,这里是3.1.0版本。

  2. info: 提供API的基本信息。

    • title: API的名称,这里是“Get weather data”。
    • description: API的简要描述,说明它用于检索特定位置的当前天气数据。
    • version: API的版本,这里是v1.0.0。
  3. servers: 定义API的服务器列表。

    • 这里只有一个服务器URL:“https://weather.example.com”。
  4. paths: 描述API的各种路径及其操作。

    • /location: 这是一个路径,用于获取特定位置的天气数据。
      • get: 表示这是一个GET请求。
        • description: 该操作的描述,这里是“获取特定位置的温度”。
        • operationId: 操作的唯一标识符,这里是“GetCurrentWeather”。
        • parameters: 定义传递给API的参数。
          • name: 参数的名称,这里是“location”。
          • in: 参数的位置,这里是在查询字符串中。
          • description: 参数的描述,这里是“要检索天气的城市和州”。
          • required: 是否必需,这里是true。
          • schema: 参数的数据类型,这里是字符串。
  5. components: 定义API使用的通用组件,这里的“schemas”是空的,表示没有定义额外的数据结构。

在ChatGPT的上下文中,若要使用这样的API,你需要根据这个规格描述构建相应的请求。例如,如果要获取某个城市的天气数据,你会向"https://weather.example.com/location"发送一个带有位置参数的GET请求。然而,由于ChatGPT当前的运行环境不支持直接与外部API交互,这类操作通常无法直接执行。

//用中文解释一下chatGPT中Actions的用法 
{"openapi": "3.1.0","info": {"title": "Get weather data","description": "Retrieves current weather data for a location.","version": "v1.0.0"},"servers": [{"url": "https://weather.example.com"}],"paths": {"/location": {"get": {"description": "Get temperature for a specific location","operationId": "GetCurrentWeather","parameters": [{"name": "location","in": "query","description": "The city and state to retrieve the weather for","required": true,"schema": {"type": "string"}}],"deprecated": false}}},"components": {"schemas": {}}
}

Actions 示例2:YAML格式

# Taken from https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yamlopenapi: "3.0.0"
info:version: 1.0.0title: Swagger Petstorelicense:name: MIT
servers:- url: https://petstore.swagger.io/v1
paths:/pets:get:summary: List all petsoperationId: listPetstags:- petsparameters:- name: limitin: querydescription: How many items to return at one time (max 100)required: falseschema:type: integermaximum: 100format: int32responses:'200':description: A paged array of petsheaders:x-next:description: A link to the next page of responsesschema:type: stringcontent:application/json:    schema:$ref: "#/components/schemas/Pets"default:description: unexpected errorcontent:application/json:schema:$ref: "#/components/schemas/Error"post:summary: Create a petoperationId: createPetstags:- petsresponses:'201':description: Null responsedefault:description: unexpected errorcontent:application/json:schema:$ref: "#/components/schemas/Error"/pets/{petId}:get:summary: Info for a specific petoperationId: showPetByIdtags:- petsparameters:- name: petIdin: pathrequired: truedescription: The id of the pet to retrieveschema:type: stringresponses:'200':description: Expected response to a valid requestcontent:application/json:schema:$ref: "#/components/schemas/Pet"default:description: unexpected errorcontent:application/json:schema:$ref: "#/components/schemas/Error"
components:schemas:Pet:type: objectrequired:- id- nameproperties:id:type: integerformat: int64name:type: stringtag:type: stringPets:type: arraymaxItems: 100items:$ref: "#/components/schemas/Pet"Error:type: objectrequired:- code- messageproperties:code:type: integerformat: int32message:type: string

这个YAML文件是一个OpenAPI 3.0规范的示例,用于定义一个名为“Swagger Petstore”的API。这个API提供了操作宠物商店数据的接口。以下是文件的主要部分及其功能:

  1. openapi: 指定OpenAPI规格的版本,这里是3.0.0版本。

  2. info: 提供API的基本信息。

    • version: API的版本,这里是1.0.0。
    • title: API的名称,这里是“Swagger Petstore”。
    • license: 指定API的许可证,这里使用的是MIT许可证。
  3. servers: 定义API的服务器列表。

    • 这里的URL是"https://petstore.swagger.io/v1",代表API的主机地址。
  4. paths: 描述API的各种路径及其操作。

    • /pets: 这是一个路径,用于处理与宠物相关的请求。
      • get: 获取宠物列表的操作。
        • summary: 操作的简要描述,这里是“列出所有宠物”。
        • parameters: 请求参数,这里是一个名为“limit”的查询参数,用于指定返回的项目数(最多100个)。
        • responses: 定义了可能的响应。
      • post: 创建新宠物的操作。
    • /pets/{petId}: 获取特定宠物的详细信息的路径。
      • get: 操作的描述,这里是“获取特定宠物的信息”。
  5. components: 定义API使用的通用组件。

    • schemas: 定义了多个模式,包括“Pet”、“Pets”和“Error”,用于描述数据结构。

在这个API中,例如,如果想要获取宠物列表,可以向"/pets"路径发送一个GET请求,可能会带有“limit”参数来限制返回的数量。如果想要获取特定宠物的详细信息,可以向"/pets/{petId}“发送一个GET请求,其中”{petId}"是宠物的唯一标识符。

由于ChatGPT的运行环境不支持直接与外部API交互,这些操作无法直接在当前环境中执行。但是,这个文件提供了一个完整的API规范,可以用于生成API文档或在服务器上实现相应的功能。

Actions 示例3:json格式空白模板

{"openapi": "3.1.0","info": {"title": "Untitled","description": "Your OpenAPI specification","version": "v1.0.0"},"servers": [{"url": ""}],"paths": {},"components": {"schemas": {}}
}

外部系统示例(提供简单的API来响应天气查询)

以下示例展示了如何设计一个外部系统来处理来自ChatGPT的请求,并返回JSON格式的天气数据。这个示例中,假设外部系统是一个基于HTTP的Web服务,它提供了一个简单的API来响应天气查询。

API设计

  • 路径: /getWeather
  • 方法: GET
  • 请求参数:
    • location: 要查询天气的地点(例如城市名称)

请求示例

假设外部系统的基础URL是 https://example-weather-api.com。则一个向该API发送请求的URL可能是:

https://example-weather-api.com/getWeather?location=Beijing

处理请求

当外部系统收到一个请求时,它会解析查询参数中的location,然后根据这个地点获取当前的天气数据。

响应格式

响应将以JSON格式返回,包含地点、温度、天气状况等信息。

响应示例

{"location": "Beijing","temperature": "15°C","condition": "Sunny","humidity": "40%","wind": "10 km/h","forecast": [{ "day": "Monday", "temperature": "16°C", "condition": "Partly Cloudy" },{ "day": "Tuesday", "temperature": "14°C", "condition": "Rain" },{ "day": "Wednesday", "temperature": "13°C", "condition": "Thunderstorms" }]
}

实现注意事项

  1. 安全性: 确保处理请求时考虑到安全性,例如通过验证输入,防止注入攻击等。

  2. 性能: 根据预期的负载选择合适的服务器规格和扩展策略。

  3. 数据源: 此API可能依赖于第三方天气服务提供数据,因此需要考虑数据源的可靠性和更新频率。

  4. 错误处理: 应妥善处理可能出现的错误情况,并返回相应的错误信息。

请注意,这个示例是理论上的设计,具体实现会根据技术栈、应用场景和业务需求有所不同。

用php写一个外部系统示例(提供简单的API来响应天气查询)

创建一个简单的PHP脚本来模拟上述描述的外部系统是完全可行的。这个脚本将接收一个查询参数(location),然后返回硬编码的天气数据。在实际应用中,你可能会从数据库或第三方API中获取这些数据,但为了简单起见,我们在这里使用静态数据。

示例PHP脚本

<?php
// 模拟的天气数据
$weatherData = ["Beijing" => ["temperature" => "15°C","condition" => "Sunny","humidity" => "40%","wind" => "10 km/h","forecast" => [["day" => "Monday", "temperature" => "16°C", "condition" => "Partly Cloudy"],["day" => "Tuesday", "temperature" => "14°C", "condition" => "Rain"],["day" => "Wednesday", "temperature" => "13°C", "condition" => "Thunderstorms"]]],// 更多地点的数据可以在此添加
];header('Content-Type: application/json');// 获取查询参数
$location = $_GET['location'] ?? 'Unknown';// 查找对应地点的天气数据
$response = $weatherData[$location] ?? null;if ($response) {// 如果找到了数据,则返回echo json_encode(["location" => $location] + $response);
} else {// 没有找到数据,则返回错误信息echo json_encode(["error" => "Weather data not found for location: " . $location]);
}

使用方法

  1. 将上述代码保存为一个.php文件,例如getWeather.php
  2. 部署这个文件到一个PHP服务器上。你可以使用任何标准的LAMP(Linux, Apache, MySQL, PHP)或WAMP(Windows, Apache, MySQL, PHP)堆栈。
  3. 通过浏览器或任何HTTP客户端访问这个脚本,如:http://yourserver.com/getWeather.php?location=Beijing

注意事项

  • 这个示例非常基础,只用于演示目的。
  • 它不包含任何安全性或错误处理功能,这在生产环境中是必需的。
  • 在实际应用中,你可能需要从数据库或第三方API中动态获取天气数据。
  • 确保你的PHP服务器配置正确,可以处理GET请求并返回JSON数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/213321.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python OS模块常用方法整理

os模块包含了普遍的操作系统和文件目录方法 引入类库 首先需要引入类库 import os 常用方法 OS模块方法 获取操作系统类型 nt->window:Microsoft Windows NT posix->Linux/Mac OS: Portable Operating System Interface of UNIX&#xff08;可移植操作系统接口&…

Python VSCode 配置固定的脚本入口

Python VSCode 配置固定的脚本入口 打开或者新建一个启动配置 选择 .vscode目录下 launch.json文件 将 “program”: “${file}” 替换成 “program”: “mian.py”, //完成你自己的入口.py文件名即可 json启动配置文件 {// Use IntelliSense to learn about possible attrib…

C++数据结构:B树

目录 一. 常见的搜索结构 二. B树的概念 三. B树节点的插入和遍历 3.1 插入B树节点 3.2 B树遍历 四. B树和B*树 4.1 B树 4.2 B*树 五. B树索引原理 5.1 索引概述 5.2 MyISAM 5.3 InnoDB 六. 总结 一. 常见的搜索结构 表示1为在实际软件开发项目中&#xff0c;常用…

使用条件格式突出显示单元格数据-sdk

使用条件格式突出显示单元格数据 2023 年 12 月 6 日 根据数据值将视觉提示应用于特定单元格、行或列&#xff0c;从而更轻松地识别模式和趋势。 网格中的条件格式允许用户根据单元格或范围包含的数据将视觉样式应用于单元格或范围。它通过以数据驱动的方式突出显示关键值、异常…

【3】密评-物理和环境安全测评

0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求&#xff1a; 物理和环境层面&#xff1a; a&#xff09;宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性&#xff1b; b&#xff09;宜采用密码技术保证电子门…

【面试经典150 | 二叉树】从中序与后序遍历序列构造二叉树

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;递归 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容…

VS2009和VS2022的错误列表可复制粘贴为表格

在VS2019或VS2022中&#xff0c;可看到如下错误列表&#xff1a; 如果复制这两行错误信息&#xff1a; 然后把它粘贴到word文件&#xff0c;就可以看到以下表格&#xff1a; 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0020 未定义标识符 "dd"…

【Redis】Redis 的学习教程(十三)Redis 各场景

由于Redis 支持比较丰富的数据结构&#xff0c;因此他能实现的功能并不仅限于缓存&#xff0c;而是可以运用到各种业务场景中&#xff0c;开发出既简洁、又高效的系统 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

【WPF.NET开发】WPF中的对话框

目录 1、消息框 2、通用对话框 3、自定义对话框 实现对话框 4、打开对话框的 UI 元素 4.1 菜单项 4.2 按钮 5、返回结果 5.1 模式对话框 5.2 处理响应 5.3 非模式对话框 Windows Presentation Foundation (WPF) 为你提供了自行设计对话框的方法。 对话框是窗口&…

每日一题:LeetCode-209. 长度最小的子数组(滑动窗口)

每日一题系列&#xff08;day 11&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…

圆通速递查询,圆通速递单号查询,用表格导出查询好的物流信息

批量查询圆通速递单号的物流信息&#xff0c;以表格的形式导出查询好的物流信息。 所需工具&#xff1a; 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界…

同源策略与跨域

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 不论个人练习还是实际开…

千锋 Vue 详细笔记整理

视频笔记是根据B站 千锋 涛哥 - SpringBootvue前后端分离项目《锋迷商城》实战课-完结版 进行整理的 笔记可上 gitee仓库 自取 千锋 Vue 笔记整理 一、vue 的简介1.1 使用 JQuery 的复杂性问题1.2 VUE 简介1.2.1 前端框架1.2.2 MVVM 二、 vue 入门使用2.1 vue 的引入2.2 入门案…

期末速成数据库极简版【存储过程】(5)

目录 【7】系统存储过程 【8】用户存储过程——带输出参数的存储过程 创建存储过程 存储过程调用 【9】用户存储过程——不带输出参数的存储过程 【7】系统存储过程 系统存储我们就不做过程讲解用户存储过程会考察一道大题&#xff0c;所以我们把重点放在用户存储过程。…

Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库

2023 年第三季度&#xff0c;Navicat 首次支持了华为云 GaussDB 主备版数据库。经过双方团队进一步的深化合作&#xff0c;Navicat 完成了 GaussDB 分布式的研发适配工作&#xff0c;赋能 GaussDB 全域数据库产品。 GaussDB 数据库分为主备版和分布式版两种模式。主备版适用于…

【Backbone】TransNeXt:最新ViT模型(原理+常用神经网络汇总)

文章目录 一、近几年神经网络 Backbone 回顾1.Densenet 与 Resnet2.CBP3.SENet4.GCNet5.DANet6.PANet 与 FPN7.ASPP8.SPP-net9.PSP-net10.ECA-Net 二、TransNeXt&#xff08;2023&#xff09;1.提出问题2.Aggregated Pixel-focused Attention2.1 Pixel-focused Attention&#…

matlab RGB三元组和十六进制的转换

matlab画柱状图改颜色的时候&#xff0c;用三元组的形式&#xff0c;范围是[0&#xff0c;1] 我们获得了十六进制 到网站转换为[0,255] https://c.runoob.com/front-end/55/ 然后将得到的值/255 输入matlab就可以了

idea__SpringBoot微服务05——JSR303校验(新注解)(新的依赖),配置文件优先级,多环境切换

JSR303校验&#xff0c;配置文件优先级&#xff0c;多环境切换 一、JSR303数据校验二、配置文件优先级三、多环境切换一、properties多环境切换二、yaml多环境切换————————创作不易&#xff0c;如觉不错&#xff0c;随手点赞&#xff0c;关注&#xff0c;收藏(*&#x…

DOS命令

1.cd.. 返回主目录 2.cd 目录 切换到当前目录 3.dir 查看目录的所有文件夹 4.cls 清除dos窗口所有内容 5.键盘的向上箭头 查看上面输入的命令 6.exit退出dos窗口

国产化软件突围!怿星科技eStation产品荣获2023铃轩奖“前瞻优秀奖”

11月11日&#xff0c;2023中国汽车供应链峰会暨第八届铃轩奖颁奖典礼在江苏省昆山市举行。怿星科技凭借eStation产品&#xff0c;荣获2023铃轩奖“前瞻智能座舱类优秀奖”&#xff0c;怿星CEO潘凯受邀出席铃轩奖晚会并代表领奖。 2023铃轩奖“前瞻智能座舱类优秀奖” 铃轩奖&a…