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

本文介绍了如何使用axios调用OpenAIAPI进行POST请求,包括字符限制、token计费、上下文管理以及应对服务器错误和账号封号的策略。此外,还提供了代码示例和优化提问方式以充分利用API资源。

牙叔教程 简单易懂

调用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文档, 最后才是群里问问 --- 牙叔教程

声明

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

您好!要在Vue3中调用ChatGPT API,您可以按照以下步骤进行操作: 1. 首先,在您的Vue3项目中安装axios库,用于发送HTTP请求。您可以使用以下命令进行安装: ```bash npm install axios ``` 2. 在您的Vue组件中,可以创建一个方法来调用ChatGPT API。您可以使用以下代码作为参考: ```javascript import axios from 'axios'; export default { data() { return { message: '', response: '', }; }, methods: { async sendMessage() { try { const response = await axios.post('https://api.example.com/chatgpt', { message: this.message, }); this.response = response.data; this.message = ''; } catch (error) { console.error(error); } }, }, }; ``` 在上面的代码中,我们使用`axios.post`方法发送一个POST请求到ChatGPT API的URL,并将用户的输入消息作为请求的主体发送。API响应将被保存在`response`变量中,并在组件中显示。 请注意,您需要将`https://api.example.com/chatgpt`替换为实际的ChatGPT API URL。 3. 在Vue模板中,您可以使用`v-model`指令绑定用户输入的消息,并使用`@submit`件监听表单提交。以下是一个示例: ```html <template> <div> <input v-model="message" @submit="sendMessage" /> <button @click="sendMessage">Send</button> <p>{{ response }}</p> </div> </template> ``` 在上面的示例中,我们使用`v-model="message"`将用户输入的消息绑定到`message`数据属性上。当用户点击发送按钮或按下回车键时,将调用`sendMessage`方法。 这样,您就可以在Vue3中调用ChatGPT API了。请确保替换示例代码中的URL和其他细节,以适应您的实际情况。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牙叔教程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值