使用 ChatGPT API

官方文档手把手教学

文档地址:https://platform.openai.com/docs/api-reference

文档中介绍了一些api的使用样例,包括但不仅限于:
列举支持的数据模型

  • 聊天
  • 图片功能
  • 音频识别
    ......

文档中也列举了python和nodejs的代码使用样例,并提供了示例

Api 的补充说明

model 参数,我们需要使用的数据模型,案例中我们使用 gpt-3.5-turbo

messages 参数,主要输入是消息参数。消息必须是一个对象数组,其中每个对象都有一个 role

systemuserassistant )和 content (消息的内容)。对话可以只有1条信息,也可以有许多。通常情况下,一次会话以 system 消息开头,然后是交替出现的 userassistant 消息。

system 消息帮助设置 assistant 的行为。在官方文档的示例中,使用 You are a helpful assistant.

指示了 assistant 。后续的 prompt 优化就可以围绕着这部分来实现

官网说 gpt-3.5 并不总是高度关注系统消息,就是说有可能设置了系统消息 system 但是回复有可能并不遵守

# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai

openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who won the world series in 2020?"},
        {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
        {"role": "user", "content": "Where was it played?"}
    ]
)

让我们再多看几个例子来弄懂这几个角色是干嘛的
我使用 system 为它添加 人设, 让他成为一个NBA前线记者

角色示例01

可以看到它现在只关注NBA,然后使用 user ,以用户身份问它谁是2022年总冠军。我们知道gpt3.5的数据模式是截止到2021年9月份,所以问它2022年的总冠军它肯定不知道是谁

角色示例02

所以我们使用 assistant 角色,它是用来存储先前的响应信息的。通常我们就直接使用GPT回复的内容,然后发信息的时候一起发过去。这一类消息也可以由我们自己编写,以帮助给予它所需要的信息。

角色示例03

其他常用的参数

参数名 参数解释
suffix 在生成文本末尾添加的文本片段
max_tokens 指定要生成的最大单词数,不能超过2048。(gpt-3.5-turbo支持4096个)。
temperature 指定生成文本的随机性,范围是0到2,越高表示越多样化和创造性,越低表示越保守和确定性。
top_p 指定在每个步骤中保留概率最高的单词的比例,范围是0到1,与temperature类似,但更加灵活和稳健。
n 此参数会生成许多结果。注意:由于此参数生成许多补全,因此它可以快速消耗令牌配额。请谨慎使用,并确保max_tokens和stop的设置合理。
stream 开启流式输出(响应速度更快,逐字输出)
echo 回显提示词
stop 设置模型停止生成文本的令牌
presence_penalty 指定降低重复单词出现概率的程度,范围是0到1,越高表示越避免重复。
frequency_penalty 指定降低重复话题出现概率的程度,范围是0到1,越高表示越避免重复。
ChatGPT

ChatGPT注册以及常见问题

2023-5-27 3:10:14

ChatGPT

prompt 提示词

2023-5-27 6:49:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索