AGI围城
首页
基础知识
工程实践
所见所思
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

AGI围城

是的,这个世界还是很有趣的。
首页
基础知识
工程实践
所见所思
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 提示词工程

  • 大模型API调用

    • 1. 大模型api简单示例
    • 2. Openai库常用参数详解
      • 2.1 messages
        • 2.1.1 使用规范
        • 2.1.2 示例结构
      • 2.2 model
        • 2.2.1 选择策略
      • 2.3 temperature
        • 2.3.1 参数说明
        • 2.3.2 使用策略
        • 2.3.3 注意事项
      • 2.4 top_p
        • 2.4.1 参数说明
        • 2.4.2 使用策略
        • 2.4.3 核心机制
        • 2.4.4 代码示例
        • 2.4.5 注意事项
      • 2.5 参数组合建议
        • 2.5.1 常见组合策略
    • 3. 大模型API其他调用方式
  • OpenAI工具

  • 嵌入向量

  • 检索增强生成(RAG)

  • 基础知识
  • 大模型API调用
xiao_sl
2025-09-05
目录

2. Openai库常用参数详解

# 2.1 messages

在基于 GPT-4 或类似模型的 API 中,messages 用于表示与模型的对话上下文。该参数是一个数组,数组中的每个元素表示一条消息。通过 messages 参数,开发者可以向模型传递对话历史,使模型能够基于上下文理解问题并给出合理的答案。

每个元素都是包含以下键值的字典:

键名 类型 必填 说明
role string 是 对话角色标识,可选值:system(系统指令)、user(用户输入)、assistant(AI回复)
content string 是 对话内容文本(需注意不同模型对长度的限制)

# 2.1.1 使用规范

  • 首个消息建议使用 system 角色设置AI行为模式(部分模型支持)
  • 对话历史需按时间顺序排列,格式为交替的 user 和 assistant 消息
  • 当前提问最后一条必须是 user 角色的消息

# 2.1.2 示例结构

messages = [
    {"role": "system", "content": "你是一个专业的技术文档翻译助手"},
    {"role": "user", "content": "请将'API'翻译成中文"},
    {"role": "assistant", "content": "应用程序接口"},
    {"role": "user", "content": "缩写形式呢?"}
]
1
2
3
4
5
6

# 2.2 model

model 参数用于指定调用的AI模型,其命名规则通常包含:

  • 模型系列:标识基础架构(如 gpt/gemma/claude)
  • 版本号:反映模型规模(如 -4/-3.5)或特性(如 -turbo/-instruct)
  • 后缀标识:标注特殊版本(如 -mini 精简版/-vision 多模态版)

# 2.2.1 选择策略

优先级 选择标准 示例
精度优先 选择参数量大的版本 gpt-4 > gpt-3.5
成本敏感 使用带 -mini/-tiny 后缀的轻量版本 gpt-4o-mini
响应速度 选用带 -turbo 标识的优化版本 gpt-3.5-turbo
专业领域 选择特定领域增强模型 -medical 医疗版

# 2.3 temperature

temperature 参数控制生成文本的随机性程度,是影响大模型输出风格的核心参数之一。

# 2.3.1 参数说明

属性 说明
类型 浮点数
默认值 1.0(不同模型可能有差异)
取值范围 0.0 ~ 2.0(部分模型可扩展至 5.0)
作用原理 调整输出 token 的概率分布:值越高选择低概率词的可能性越大,值越低则倾向于高概率词

# 2.3.2 使用策略

典型值 适用场景 输出特征 示例场景
0.0~0.3 事实性问答/代码生成 确定性高,重复率低 法律文件解析、数学计算
0.4~0.7 常规对话/内容总结 平衡创意与逻辑 客服对话、会议纪要生成
0.8~1.2 创意写作/头脑风暴 多样性显著增强 诗歌生成、营销文案创作
1.3+ 探索性实验/艺术创作 高度随机,可能产生意外结果 抽象艺术描述、开放式故事续写

# 2.3.3 注意事项

  • 悬崖效应:当 temperature > 1.5 时,输出质量可能断崖式下降
  • 零值风险:设为 0 时可能触发模型的「贪婪搜索」模式,导致:
    • 重复性输出增加
    • 长文本生成质量下降
    • 部分模型会强制启用确定性算法
  • 模型差异:不同架构模型对 temperature 的敏感度不同(如 GPT 系列比 Claude 更敏感)

# 2.4 top_p

top_p 参数是另一种控制生成文本随机性的方式,使用核采样,即通过累积概率的方式选择候选词。

# 2.4.1 参数说明

  • top_p 是一个介于 0 和 1 之间的值,表示模型选取的概率阈值
  • 例如,当 top_p=0.9 时,模型只会选择概率累积到 90% 内的候选词进行生成

# 2.4.2 使用策略

  • 较低的 top_p 值(如 0.6-0.7)能限制词汇选择的范围,生成的文本更加聚焦
  • 较高的 top_p 值(如 0.9)能允许更多的词汇参与选择,生成的文本更具多样性

# 2.4.3 核心机制

概率分布示例:

["car"(0.4), "bus"(0.3), "train"(0.2), "ship"(0.1)]
1

当 top_p=0.7 时:

  • 累积概率:car(0.4) → car+bus=0.7(达到阈值)
  • 候选词范围:["car", "bus"](排除后 30% 的 train/ship)

# 2.4.4 代码示例

response = client.chat.completions.create(
    messages=[{"role": "user", "content": "写一首关于秋天的诗"}],
    model="gpt-4o-mini",
    top_p=0.85  # 允许适度发散
)
1
2
3
4
5

# 2.4.5 注意事项

  • 参数互斥:通常与 temperature 二选一调节(避免同时设 top_p=0.5 和 temperature=0)
  • 动态筛选:实际候选词数量会随上下文动态变化(不同于 top_k 的固定数量筛选)
  • 模型支持:部分轻量化模型可能不支持该参数(如 gpt-4o-mini 支持,但 gemma-2b 可能受限)
  • 零值风险:top_p=0 时可能完全禁用采样机制(需查阅具体模型文档)

# 2.5 参数组合建议

# 2.5.1 常见组合策略

# 精确回答场景
response = client.chat.completions.create(
    messages=messages,
    model="gpt-4o-mini",
    temperature=0.2,
    # 不设置 top_p,让 temperature 主导
)

# 创意写作场景
response = client.chat.completions.create(
    messages=messages,
    model="gpt-4o-mini",
    top_p=0.9,
    # 不设置 temperature,让 top_p 主导
)

# 平衡场景
response = client.chat.completions.create(
    messages=messages,
    model="gpt-4o-mini",
    temperature=0.7,
    # 或者使用 top_p=0.8
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
编辑 (opens new window)
#llm调用
上次更新: 2025/09/17, 13:07:57
1. 大模型api简单示例
3. 大模型API其他调用方式

← 1. 大模型api简单示例 3. 大模型API其他调用方式→

最近更新
01
2. 朴素RAG
09-17
02
1. RAG基本概念
09-13
03
4. 向量相关参考资料
09-12
更多文章>
Theme by Vdoing | Copyright © 2019-2025 AGI围城 | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式