首页
Preview

[2023] 如何使用Curl调用GPT3 API [GPT3][ChatGPT]

<Note>

ChatGPT API发布了!

我在这里发布了一篇关于ChatGPT API版本的文章:

https://medium.com/geekculture/2023-how-to-use-chatgpt-api-with-curl-f2628e4f809

[2023] 如何使用Curl使用ChatGPT API

<Introduction>

全世界都在热议ChatGPT!

此外,OpenAI还发布了GPT-3的API。

该模型经过训练,可以将日语、英语和其他语言的句子作为输入,并生成类似于人类生成的自然文本。

如果你可以通过使用curl从GPT-3(或其他模型)获得答案,那么就可以将GPT-3嵌入你的应用程序中!

本文将分享以下内容:

  • 生成API密钥
  • 在curl中运行GPT-3
  • 将其作为shell脚本运行

维基百科

生成式预训练变形器3GPT-3;风格化为GPT·3)是一个自回归语言模型,它使用深度学习来产生类似于人类的文本。给定一个初始文本作为提示,它将生成继续提示的文本。

该体系结构是一个标准的变压器网络(带有一些工程调整),其上下文长度为2048个标记,并且拥有1750亿个参数(需要800 GB的存储)。训练方法是“生成预训练”,这意味着它被训练来预测下一个标记是什么。该模型在许多基于文本的任务上表现出强大的小样本学习能力。

它是GPT-n系列的第三代语言预测模型(也是GPT-2的后继者),由OpenAI创建,OpenAI是总部位于旧金山的人工智能研究实验室。GPT-3于2020年5月推出,截至2020年7月,仍处于测试阶段,是预训练语言表示的自然语言处理系统的趋势之一。

(维基百科)

<生成API密钥>

  • 访问

https://beta.openai.com/

  • 登录

你可以使用社交账号登录,如Google登录。

  • 访问查看API密钥

  • 点击“创建新的secret key”

你的API密钥将生成如下:

  • 安装jq

它使我们能够格式化响应。

brew install jq

<执行>

  • curl语句示例
curl https://api.openai.com/v1/completions \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer [Your API Key]" \
  -d '{
  "model": "text-davinci-003",
  "prompt": "What is your name?",
  "max_tokens": 4000,
  "temperature": 1.0
}' \
--insecure

得到的响应如下:

{"id":"cmpl-6M8ZTfWK4oyQ6ALUUR5Ht0Lc0VmRK","object":"text_completion","created":1670734183,"model":"text-davinci-003","choices":[{"text":"\n\nMy name is Hannah.","index":0,"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":5,"completion_tokens":7,"total_tokens":12}}

但是响应不太容易查看,并混合了不必要的信息。

因此,我建议使用jq来格式化响应并仅过滤回答单词。

curl https://api.openai.com/v1/completions \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer [Your API Key]" \
  -d '{
  "model": "text-davinci-003",
  "prompt": "What is your name?",
  "max_tokens": 4000,
  "temperature": 1.0

}' \
--insecure | jq '.choices[]'.text

注意:请用你自己的API密钥替换**[Your API Key]**。

一个示例响应如下:

这更容易看到它的答案。

在这里,我将提到一些参数:

  • temperature

要使用的采样温度。较高的值意味着模型会冒更多的风险。尝试0.9进行更具创造性的应用程序,尝试0(argmax采样)进行具有明确定义答案的应用程序。

  • max_tokens

在完成中要生成的最大数量的标记

你的提示的标记计数加上`max_tokens`不能超过模型的上下文长度。大多数模型的上下文长度为2048个标记(除了最新的模型,它们支持4096)。

1000个token大约是750个单词。

<制作一个shell脚本以便更方便地使用>

Curl非常有用,但每次使用这个长命令都有点麻烦。

我们想要做的就是改变关键字、温度等参数。

我写了一个shell脚本,可以通过这个命令运行脚本:

sh gpt3.sh "What is your name?" 1.0

这里,第二个参数1.0是为了温度

max_tokens在脚本中被固定为4000。

gpt3.sh
#!/bin/sh

echo '$0: Script Name: '$0
echo '$1: Keyword: '$1
echo '$2: Temperature: '$2

echo "\nInput": $1
echo "\nOutput:" 

curl=`cat <<EOS
curl https://api.openai.com/v1/completions \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer [Your API Key]" \
  -d '{
  "model": "text-davinci-003",
  "prompt": "$1",
  "max_tokens": 4000,
  "temperature": $2

}' \
--insecure | jq '.choices[]'.text
EOS`

eval ${curl}

注意:将**[你的API密钥]**替换为你自己的。

然后,让我们运行脚本!

sh gpt3.sh "What is your name?" 1.0

你会得到这样的响应:

$0: Script Name: gpt3.sh
$1: Keyword: What is your name?
$2: Temperature: 1.0

Input: What is your name?

Output:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   384  100   281  100   103    186     68  0:00:01  0:00:01 --:--:--   245
"\n\nMy name is Chris."
  • 奖励问题
sh gpt3.sh "What do you think about the evolution of AI?" 1.0

>

“我认为人工智能非常令人兴奋,并正在快速发展成为一种改善我们生活的强大工具。

它正在开启一些可能性,从自动化乏味的日常任务到实现更准确和更快速的决策。

我认为它具有革命性的潜力,我期待着看它在能力上继续增长。”

……太棒了

现在你可以将GPT-3嵌入你的应用程序中了!

恭喜!

<注意:使用GPT-3的价格>

免费开始

开始尝试使用18美元的免费信用,可在你的前3个月内使用。

价格是每1000个token的价格。你可以把token看成单词的一部分,其中1000个token大约是750个单词。这段话有35个token。

<参考>

  • 每个模型的描述

OpenAI API

  • 每个参数的描述

OpenAI API

希望这篇文章对你有所帮助!

开发愉快!

KASATA

https://twitter.com/IT_makesUsHappy

译自:https://medium.com/geekculture/2022-how-to-use-chatgpt-api-with-curl-88830dec8a65

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
alivne
复杂的问题简单化

评论(0)

添加评论