【GPT入门】第6课 openai接口介绍与参数说明
- [1. openAI 接口概述](#1. openAI 接口概述)
- [2. 接口说明](#2. 接口说明)
- [3. 参数重点](#3. 参数重点)
1. openAI 接口概述
其它大模型的 API 基本都是参考 OpenAI,只有细节上稍有不同。
OpenAI 提供了两类 API:
Completion API:续写文本,多用于补全场景。https://platform.openai.com/docs/api-reference/completions/create
Chat API:多轮对话,但可以用对话逻辑完成任何任务,包括续写文本。https://platform.openai.com/docs/api-reference/chat/create
说明:
Chat 是主流,有的大模型只提供 Chat
背后的模型可以认为是一样的,但其实并不一样
Chat 模型是纯生成式模型做指令微调(SFT)之后的结果,更多才多艺,更听话
2. 接口说明
c
def get_chat_completion(session, user_prompt, model="gpt-4o-mini"):
session.append({"role": "user", "content": user_prompt})
response = client.chat.completions.create(
model=model,
messages=session,
# 以下默认值都是官方默认值
temperature=1, # 生成结果的多样性。取值 0~2 之间,越大越发散,越小越收敛
seed=None, # 随机数种子。指定具体值后,temperature 为 0 时,每次生成的结果都一样
stream=False, # 数据流模式,一个字一个字地接收
response_format={"type": "text"}, # 返回结果的格式,可以是 text、json_object 或 json_schema
top_p=1, # 随机采样时,只考虑概率前百分之多少的 token。不建议和 temperature 一起使用
n=1, # 一次返回 n 条结果
max_tokens=None, # 每条结果最多几个 token(超过截断)
presence_penalty=0, # 对出现过的 token 的概率进行降权
frequency_penalty=0, # 对出现过的 token 根据其出现过的频次,对其的概率进行降权
logit_bias={}, # 对指定 token 的采样概率手工加/降权,不常用
)
msg = response.choices[0].message.content
return msg
3. 参数重点
Temperature 参数很关键
执行任务用 0,文本生成用 0.7-0.9
无特殊需要,不建议超过 1