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

这篇具有很好参考价值的文章主要介绍了GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Name 等

Logo:自动生成
Name 介绍
Description 介绍
Instructions 要求或命令等 比如用中文回复,角色。
Knowledge 上传你的知识库,如果你有某一垂直行业的数据,基于数据来回答。比如我有某个芯片的指令集。
Capabilities 都要
Actions:就这个难以理解一点,下面详说含义用法。
Addtional Settings 目前只有是否允许使用对话数据提高模型。
GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互,chatGPT,交互,GPTs,actions,gpt,android
GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互,chatGPT,交互,GPTs,actions,gpt,android

Actions 示例1:json格式

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

在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.yaml

openapi: "3.0.0"
info:
  version: 1.0.0
  title: Swagger Petstore
  license:
    name: MIT
servers:
  - url: https://petstore.swagger.io/v1
paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets
      parameters:
        - name: limit
          in: query
          description: How many items to return at one time (max 100)
          required: false
          schema:
            type: integer
            maximum: 100
            format: int32
      responses:
        '200':
          description: A paged array of pets
          headers:
            x-next:
              description: A link to the next page of responses
              schema:
                type: string
          content:
            application/json:    
              schema:
                $ref: "#/components/schemas/Pets"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      summary: Create a pet
      operationId: createPets
      tags:
        - pets
      responses:
        '201':
          description: Null response
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /pets/{petId}:
    get:
      summary: Info for a specific pet
      operationId: showPetById
      tags:
        - pets
      parameters:
        - name: petId
          in: path
          required: true
          description: The id of the pet to retrieve
          schema:
            type: string
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pet"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
components:
  schemas:
    Pet:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        tag:
          type: string
    Pets:
      type: array
      maxItems: 100
      items:
        $ref: "#/components/schemas/Pet"
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          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中获取这些数据,但为了简单起见,我们在这里使用静态数据。文章来源地址https://www.toymoban.com/news/detail-756772.html

示例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数据。

到了这里,关于GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 中的 @Controller 注解:原理、用法与示例

    Spring Boot 是一个快速开发 Spring 应用程序的框架,它提供了很多有用的功能和特性。其中,@Controller 注解是一个常用的注解,它可以将一个 Java 类标记为 Spring MVC 中的控制器。本文将介绍 Spring Boot 中 @Controller 注解的原理、用法和示例。 在 Spring MVC 中,@Controller 注解用于标识

    2024年02月07日
    浏览(53)
  • python中的 collections 模块(用法、详解、底层原理,示例等)

    1.1 defaultdict 功能 可以设置一个默认值作为字典中新key的默认值。该默认值可以是任何对象, 包括函数、列表、元组、集合等。默认值不需要像dict那样事先定义,因为它在需要的时候会自动创建 使用defaultdict,可以简化代码并提高代码的可读性,而且可以防止KeyError异常的出

    2024年04月29日
    浏览(39)
  • Github Actions 执行Python定时任务(时区及缓存问题处理)

    文档地址:https://docs.github.com/en/actions 这两天一直在学习Github Actions,很是兴奋,才发现这么好的东西,相见恨晚。 它是什么呢,简单讲,就是让你的Github项目具备持续集成的能力,类似于传统工具jenkins,Gitlab的CI/CD功能等,但Github Actions更加强大。 我尝试简单实践了一下,

    2024年02月09日
    浏览(59)
  • Vue 中的依赖注入,特别是 Provide 和 Inject,它们的原理、用法和示例

    Vue.js 作为一款现代的前端 JavaScript 框架,提供了诸多方便开发的特性。其中依赖注入是一个非常有用的功能,可以在组件树中传递数据和方法,并使得组件之间的耦合度更低。本文将介绍 Vue 中的依赖注入,特别是 Provide 和 Inject,它们的原理、用法和示例。 在软件开发中,

    2024年02月06日
    浏览(47)
  • 深入解析PyTorch中的模型定义:原理、代码示例及应用

    ❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈 (封面图由文心一格生成) 在机器学习和深度学习领域,PyTorch是一种广泛

    2024年02月07日
    浏览(39)
  • 给自己创建的GPTs添加Action(查天气)

    在这篇文章中,我将分享如何利用ChatGPT 4.0辅助论文写作的技巧,并根据网上的资料和最新的研究补充更多好用的咒语技巧。 GPT4的官方售价是每月20美元,很多人并不是天天用GPT,只是偶尔用一下。 如果调用官方的GPT4接口,就可以按使用量付费,用多少付多少,而且没有3个

    2024年01月21日
    浏览(38)
  • 【JAVA原理系列】Java String类中的三个替换方法replaceFirst、replaceAll和replace原理用法示例源码详解

    这里是三种字符串替换方法的原理: replaceFirst() 方法的原理是通过编译给定的正则表达式,然后使用编译后的模式创建一个匹配器对象,将该匹配器应用于目标字符串,并使用给定的替换字符串替换第一个匹配的子字符串。 replaceAll() 方法的原理与 replaceFirst() 类似,也是通过

    2024年04月16日
    浏览(44)
  • JavaScript中的CRUD操作指南示例 - 用DHTMLX创建医院管理系统!

    创建、读取、更新和删除(CRUD)是现代web和移动应用程序执行的四个基本功能。然而这些函数是如何产生的,它们到底是做什么的? 在本文中,我们将简要介绍CRUD的含义以及它何时被引入编程的。文中我们还将使用用于医院管理的JavaScript演示应用程序,展示如何使用DHTMLX小部

    2024年02月10日
    浏览(56)
  • GPTs 初体验 - 1 分钟就能创建一个自己的 ChatGPT?

    就在 11.10 号早上,ChatGPT 已经偷摸的把 GPTs 功能,开放给所有尊贵的 Plus 用户了。 随着这波的功能开放,界面也是改了不少。点击左侧的 Explore 或者左下角的用户处,就可以直接进入新的 GPTs 功能: 这里可以看到我们自己创建的 GPT,下面呢还有 OpenAI 官方出品的 GPTs : 不过

    2024年02月05日
    浏览(40)
  • Linux 可执行文件瘦身指令 strip 使用示例

    以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/lJ8vj-FszEoplMVcmT0I0w 在 Linux 系统下开发软件,输出的可执行文件可大可小,运行环境如果是在服务器那么可能资源比较充足,但如果是在嵌入式环境,那么存储资源是寸土必争

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包