调用chatgpt的api,必须知道的三件事
牙叔教程 简单易懂
调用api的代码
let url ="https://api.openai.com/v1/completions";
let answer =awaitaxios//使用axios发送post请求
.post(url, data, { headers: headers })
.then((res)=>{returnres.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) {varlen =data.length;
let arr = [];for(vari =0; i < len; i++) {
let item =data[i];
arr.push(item.content);
}returnarr.join("\n\n");
}
使用时间
中国和美国差12到13个小时, 中国人多, 美国人也多, 人多了服务器就卡,
所以, 晚上我们使用的时候, 服务器容易报错, 白天报错就少;
封号
除了服务器错误, 另一个常见的报错就是封号,真的头大;
这个就只能换号了;
如果有钱, 就去订阅正版;20美金一个月;
环境
设备: 小米11proAndroid版本: 12Autojs版本: 9.3.11
名人名言
思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程
声明
部分内容来自网络 本教程仅用于学习, 禁止用于其他用途
美国 21岁灾难女孩通过 NFT 拍卖 4 岁时围观邻居房子失火时爸爸拍下来的照片,卖出了 50 万美元,她不仅保留照片的版权,还能获得未来二次交易带来的收入。
NFT是什么?ChatGPT又是什么?
2023年的热词NFT和ChatGPT,一直听说却又似懂非懂,让我们一起脑补一下吧。