调用chatgpt的api, 必须知道的三件事

news2024/11/27 12:35:41

牙叔教程 简单易懂

调用api的代码

let url = "https://api.openai.com/v1/completions";
let answer = await axios // 使用axios发送post请求
  .post(url, data, { headers: headers })
  .then((res) => {
    return res.data.choices[0].text.trim();
  })
  .catch((err) => {
    console.log(err.response.data);
    return "error";
  });

很简单吧, 就是一个post请求

调用api须知

字符限制

问题+答案<4000, 单位是token; 一个英文算1个token, 一个汉字算2个token;

也就是说, 问题和答案总的字数不能超过2000汉字, 不能超过4000英文;

token价格

一般大家使用的模型是 Davinci, $0.02每个token

图片模型的token价格

其他产品的token价格

什么是token

你就认为一个token就是一个英文单词就可以了.

一个汉字算2个token

一次提问怎么计算价格

翻译一下就是:

一次问花费的tokens = 问题tokens + 答案tokens

破解字符限制

问题别超过1000个字符, 超过的字符就舍弃; 给答案留下1000个字符的空间, ;

根据自己的实际情况决定舍弃那些文字, 问题和答案的文字数量比例,

比如你要2000个字的答案,

那么就提问100个字的问题, AI 最多回答1900, 差不多也算2000字

if (data.prompt.length > 1000) {
  data.prompt = data.prompt.slice(-1000);
}

有没有上下文

比如你问了 AI 两个问题, 然后你问AI : 我上一个问题是什么?

AI 回答: XXXX,

如果他回答正确, 那说明就有上下文, 回答错误, 就说明没有上下文;

创建上下文

post提交数据的时候, 把之前所有的对话都提交上去, 这样就有了上下文;

比如, 你把之前的对话, 存到一个数组里面, 提交数据的时候, 把数组里面的元素用

\n\n

连接起来, AI 就会识别你上传的对话内容, 就有了上下文

getPreviousConversationContent(data) {
  var len = data.length;
  let arr = [];
  for (var i = 0; i < len; i++) {
    let item = data[i];
    arr.push(item.content);
  }
  return arr.join("\n\n");
}

使用时间

中国和美国差12到13个小时, 中国人多, 美国人也多, 人多了服务器就卡,

所以, 晚上我们使用的时候, 服务器容易报错, 白天报错就少;

封号

除了服务器错误, 另一个常见的报错就是 封号, 真的头大;

这个就只能换号了;

如果有钱, 就去订阅正版;20美金一个月;

环境

设备: 小米11pro
Android版本: 12
Autojs版本: 9.3.11

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程

声明

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谈谈会话管理

客户端和服务器之间进行数据传输遵循的是HTTP协议, 此协议属于无状态协议(一次请求对应一次响应, 响应完之后断开连接), 服务器是无法跟踪客户端的请求, 通过cookie技术可以给客户端添加一个标识, 客户端之后发出的每次请求都会带着这个标识从而让服务器识别此客户端, 但由于co…

PostgreSQL入门

PostgreSQL入门 简介 PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES&#xff0c; 版本 4.2为基础的对象关系型数据库管理系统&#xff08;ORDBMS&#xff09; 支持大部分SQL标准并且提供了许多现代特性 复杂查询外键触发器可更新视图事务完整性多版本并发控制 …

引导滤波code

文章目录1. 原理概述2. 实验环节2.1 验证与opencv 库函数的结果一致2.2 与 双边滤波比较2.3 引导滤波应用&#xff0c;fathering2.3 引导滤波应用&#xff0c;图像增强2.4 灰度图引导&#xff0c;和各自通道引导的效果差异2.5 不同参数设置影响3. 参考引导滤波1. 原理概述 引导…

VHDL语言基础-状态机设计-ASM图法状态机设计

目录 有限状态机的描述方法&#xff1a; ASM图&#xff1a; 状态转移图&#xff1a; 状态转移列表&#xff1a; MDS图&#xff1a; ASM图法状态机设计&#xff1a; ASM图的组成&#xff1a; 状态框&#xff1a; 判断框&#xff1a; 条件框&#xff1a; 状态框与条件框…

Python之FileNotFoundError: [Errno 2] No such file or directory问题处理

错误信息&#xff1a;FileNotFoundError: [Errno 2] No such file or directory: ../AutoFrame/temp/report.xlsx相对于当前文件夹的路径&#xff0c;其实就是你写的py文件所在的文件夹路径&#xff01;python在对文件的操作时&#xff0c;需要特别注意文件地址的书写。文件的路…

上海亚商投顾:三大指数集体调整 消费板块逆市活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。市场情绪三大指数今日集体调整&#xff0c;沪指全天弱势震荡&#xff0c;创业板指盘中跌超1%。旅游、食品、乳业等大消费板块…

渗透测试 -- 网站信息收集

数据来源 01 网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件(web容器)、脚本语言&#xff08;php、java、...&#xff09;、数据库&#xff08;Mysql、...&#xff09;为什么要了解这些&#xff1f; 举个例子&#xff1a;发现了一…

vue3组件库项目学习笔记(八):Git 使用总结

目前组件库的开发已经接近尾声&#xff0c;因为这次是使用 git 进行协作的开发模式&#xff0c;在团队协作的时候遇到很多的问题&#xff0c;开发过程中发现小伙伴们对于 git 的使用还不是很熟练&#xff0c;这里就简单总结一下常用的 git 的操作&#xff0c;大致有&#xff1a…

Revit快速材质切换:同一墙面赋予不同材质的方法

一、Revit中对同一墙面赋予不同材质的方法 方法1&#xff1a;零件法 重点&#xff1a;通过工作平面面板上的设置工作平面命令选取正确的面取消勾选通过原始分类的材质&#xff0c;如图1所示 方法2&#xff1a;拆分构造层绘制一道墙体&#xff0c;选择创建的墙体&#xff0c;单击…

判断元素是否在可视区域

前言 在日常开发中&#xff0c;我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值&#xff08;例如 100 px&#xff09;&#xff0c;从而实现一些常用的功能&#xff0c;例如&#xff1a; 图片的懒加载列表的无限滚动计算广告元素的曝光情况可点击链接的预加…

关于TL431和光耦PC817反馈控制部分电阻取值计算

计算R4和R3。TL431的R端流入电流2uA&#xff0c;为了保证取样精度&#xff0c;即不让TL431的R端吸取电流参与R3和R4的分压&#xff0c;可以设置R4的电流大于TL431的R端吸取电流的100倍&#xff0c;此时工程实践上基本可以忽略掉TL431的R端吸取电流的影响了。R4电流最小为2uA*10…

CSS基础:选择器和声明样式

CSS概念 CSS&#xff08;Cascading Style Sheets&#xff09;层叠样式表&#xff0c;又叫级联样式表&#xff0c;简称样式表 CSS用于HTML文档中元素样式的定义 使用css让网页具有美观一致的页面 语法 CSS 规则由两个主要的部分构成&#xff1a;选择器和声明样式 选择器通常…

DaVinci:色度 - 亮度网格应用

调色页面&#xff1a;色彩扭曲器 Color&#xff1a;Color Warper色彩扭曲器中的色度 - 亮度 Chroma - Luma网格提供了强大且直观的调色功能&#xff0c;相对于色相 - 饱和度网格&#xff0c;色度 - 亮度网格在颜色的亮度控制上更具优势。在使用网格调色之前&#xff0c;最好先确…

DOM编程-复选框的全选和取消全选

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>复选框的全选和取消全选</title> </head> <body> <script type"text/javascript"> …

LoadRunner

目录 为什么需要性能测试 性能测试实施流程 常见的性能测试指标 性能测试分类 1、一般性能测试 2、负载测试 3、压力测试 LoadRunner LoadRunner包括三个组件 VUG Controller Analysis 一个网站或者app的性能差&#xff0c;用户的使用体验就会很差 常见的性能问题&a…

LabVIEW中使用.NET方法时出现错误1316

LabVIEW中使用.NET方法时出现错误1316为什么不能调用带有泛型参数的方法&#xff1f;LabVIEW不支持哪些.NET功能&#xff1f;为什么会收到以下错误&#xff1a;发生此错误的原因是正在调用LabVIEW中不支持的.NET功能。有关解决方法&#xff0c;请参阅“其他信息”部分。可以在下…

04- Matplotlib数据可视化详解 (数据库)

Matplotlib的亮点: import matplotlib.pyplot as plt # 导包plt.figure(figsize (9, 6) , 设置图片大小plt. plot(x, y), 画图绘制网格线: 线型, 颜色, 透明度plt.grid(linestyle --, color green, alpha0.75) # linestyle: 样式, color: 颜色, alpha: 透明度plt.axis(…

【堆】数据结构堆的实现(万字详解)

前言&#xff1a; 在上一期中我们讲到了树以及二叉树的基本的概念&#xff0c;有了之前的认识&#xff0c;今天我们将来具体实现一种二叉树的存储结构“堆”&#xff01;&#xff01;&#xff01; 目录1.二叉树顺序结构介绍2.堆的概念及结构3.调整算法3.1向上调整算法3.1.1算法…

消息中间件-RocketMQ入门 消息发送的三种方式

消息中间件-RocketMQ入门 消息发送的三种方式消息中间件简介应用场景常用消息中间件RocketMQ核心概念入门案例-生产者和消费者代码逻辑消息发送的三种方式同步发送异步发送一次性消息消息中间件简介 应用场景 假设现在有订单微服务和积分微服务,正常请求流程之后是不是一个订…

Java程序员:为了跳槽刷完1000道真题,想不到老板直接给我升职了

同事&#xff1a;前阵子听说你要跳槽&#xff0c;现在准备得怎么样啊&#xff1f; 程序员T&#xff1a;不跳了 同事&#xff1a;啊&#xff1f;为什么&#xff1f; 程序员T&#xff1a;涨薪了呗&#xff1f; 同事&#xff1a;真的吗&#xff1f;涨了多少&#xff1f;你自己…