大模型学习笔记 day01

 role参数的三类定义

system

  • 作用:设定模型的背景、行为或任务规则。

  • 使用场景:通常在对话开始时定义模型的身份或任务目标。

     {"role": "system", "content": "你是一个只用法语回答的助手"}

user

  • 作用:表示用户输入的问题或指令,是模型生成回复的直接依据

  • 使用场景:用户向模型提问或发出操作请求时使用

  • 注意:若对话中存在历史记录,需按时间顺序维护user和assistant交替的消息列表。

assistant

  • 作用:表示模型生成的回复内容,用于多轮对话中传递上下文。

  • 使用场景:需要模型基于历史对话生成连贯回复时,需将之前的模型响应以assistant角色加入messages列表。

  • 示例

 

     {"role": "assistant", "content": "This is a test response."}

多轮对话示例:

# 初始化消息列表(可包含system角色设定背景)
messages = [{"role": "system", "content": "你是一个擅长对话连贯性管理的助手"}]

# 第1轮对话
messages.append({"role": "user", "content": "Q1"})          # 用户首次提问
response_1 = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages
)
messages.append({"role": "assistant", "content": response_1.choices[0].message.content})  # 保存回答

# 第2轮对话
messages.append({"role": "user", "content": "Q2"})          # 用户追加提问
response_2 = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages
)
messages.append({"role": "assistant", "content": response_2.choices[0].message.content})

# 第3轮对话
messages.append({"role": "user", "content": "Q3"})          # 用户第三次提问
response_3 = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages
)
messages.append({"role": "assistant", "content": response_3.choices[0].message.content})

# 第4轮对话
messages.append({"role": "user", "content": "Q4"})          # 用户第四次提问
response_4 = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages
)
messages.append({"role": "assistant", "content": response_4.choices[0].message.content})

# 第5轮对话
messages.append({"role": "user", "content": "Q5"})          # 用户第五次提问
response_5 = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=messages
)
messages.append({"role": "assistant", "content": response_5.choices[0].message.content})  # 最终回答

 

常用Completion.create函数参数

max_tokens

可选参数,默认为16,代表返回结果的token数量; 

temperature

可选参数,取值范围为0-2,默认值为1。参数代表采样温度,数值越小,则模型会倾向于选择概率较高的词汇,生成的文本会更加保守;而当temperature值较高时,模型会更多地选择概率较低的词汇,生成的文本会更加多样(建议的调整范围在[0.8,1.2]之间)

n

可选参数,默认值为1,表示一个提示返回几个Completion;

presence_penalty

参数在[-2,2]中取值,数值越大,返回结果越精炼,数值越小,返回结果越重复。

调用大模型进行Completion时,presence_penalty参数和temperature参数搭配进行使用如果希望模型更加具有创造力,则会增加temperature取值,并且适当降低presence_penalty取值

 

你可能感兴趣的:(ai,大模型)