一、使用GPT模型的AI聊天功能

1.安装openai库

  • 安装命令: 使用pip安装,命令为pip install openai。
  • Python版本要求: openai库要求Python版本3.7及以上。
  • 安装环境: 可以在终端、cmd或Jupyter Notebook中安装。

2. 创建OpenAI实例

  • 导入库: 使用import语句从openai库中导入OpenAI类。
  • 实例创建: 创建一个OpenAI实例,如果电脑环境变量中已存储OpenAI密钥,则无需再次输入密钥值。
  • 密钥传递: 密钥值会自动被传递,若使用新密钥或未存储密钥,则需将密钥值赋给OpenAI构造函数的api_key参数。

3. chat点completion点create方法

1)模型种类

  • 模型选择: 支持聊天功能的GPT模型有多种,如gpt-3.5-turbo、GPT-4等。
  • 版本与性能: 模型数字越大,版本越新,性能越好,但对话价格可能越高。

2)messages参数

  • 参数作用: messages参数用于传递给AI模型的对话内容。
  • 消息格式: messages是一个列表,包含一条或多条消息,每条消息用字典表示。
  • 消息内容: 字典中包含两个键,role表示消息发送者(user为用户,assistant为AI),content表示消息内容。

4. 和AI对话

  • 对话方法: 最简单的对话方法是在messages里放一条给AI的提示。
  • 响应内容: AI的回复储存在response变量的choices属性的第一个元素的message属性的content属性里。

1)打印回答内容

  • 提取回答: 可以将AI的回复内容提取并打印出来,使用print(response.choices[0].message.content)。
  • 回复查看: 直接查看response变量的输出,也可以看到AI的回复内容。

二、大模型API收费

1. token释义

  • 计费基础:绝大部分大模型API基于token数量计费,token是文本处理的基本单位。
  • token定义:短单词可能每个词是一个token,长单词可能被拆分成多个token,中文每个字可能占用1个甚至更多token。
  • 中文特点:"黄河之水天上来"被编码为[30868,226,31106,111,55030,53610,36827,17905,37507],展示中文分词结果。
  • 估算方法:一个token约对应4个英文字符,100个token≈75个英文单词,但中文token消耗更多。

2. GPT-3.5收费标准

  • turbo-1106模型:输入

    0.0010/1Ktokens(约0.7分人民币),输出0.0010/1K tokens(约0.7分人民币),输出0.0010/1Ktokens(约0.7分人民币),输出

    0.0020/1K tokens(约1.4分人民币)。
  • turbo-instruct模型:仅支持4K上下文窗口,输入

    0.0015/1Ktokens,输出0.0015/1K tokens,输出0.0015/1Ktokens,输出

    0.0020/1K tokens。
  • 价格趋势:随着技术进步,API价格会持续下降。

3. GPT-4收费标准

  • 基础模型:输入

    0.03/1Ktokens(约0.2元人民币),输出0.03/1K tokens(约0.2元人民币),输出0.03/1Ktokens(约0.2元人民币),输出

    0.06/1K tokens(约0.4元人民币)。
  • 32k版本:价格翻倍,输入

    0.06/1Ktokens,输出0.06/1K tokens,输出0.06/1Ktokens,输出

    0.12/1K tokens。
  • 响应查看:API返回包含usage字段,显示prompt_tokens、completion_tokens和total_tokens。

4. openai分词库

在线工具:OpenAI官网提供交互式分词器,可直观查看文本token化结果。

5. 上下文窗口

  • 窗口定义:模型能处理的提示和回应总token数上限,超出部分会被截断。
  • 影响表现:窗口耗尽会导致回应不完整、不连贯或报错,提示过长会压缩回应空间。
  • 长度控制:可通过max_tokens参数限制AI回应长度,避免意外消耗。

6. 各模型上下文窗口长度

  • GPT-3.5系列:
    • turbo标准版:4,096 tokens
    • turbo-16k:16,385 tokens
  • GPT-4系列:
    • 标准版:8,192 tokens
    • 32k版:32,768 tokens
    • 最新Turbo版:128,000 tokens
  • 选择考量:更大窗口模型价格更高(如GPT-4-32k比标准版贵一倍),需权衡需求与成本。

三、控制网页端无法调整的参数

  • 定制化优势: 通过API可以控制网页端无法调整的参数,实现更高程度的定制化
  • 通用性: 这些参数适用于大多数AI大模型,仅在参数名称上可能存在细微差别

四、控制回答长度上限参数

1. max_tokens

  • 功能: 控制回答所消耗tokens的最大值
  • 计费原理: API计费包含提示和回答的总tokens数
  • 成本控制: 通过限制回答的最大长度来控制每次请求的成本上限
  • 注意事项:
    • 模型不会主动调整回复篇幅,会在达到token数时直接截断
    • 设置过小会导致回答不完整(如示例中关于四大文明古国的回答被截断)
    • 建议配合"回复在500字以内"等提示语使用

五、控制回答随机性参数

1. temperature

  • 取值范围: 0到2之间,默认值为1
  • 作用原理:
    • 值越低:随机性越低,创造性越低,输出更确定
    • 值越高:随机性越高,创造性越高,可能产生意外回答
  • 极端情况:
    • 设为0时:每次回复几乎相同
    • 设为2时:可能产生不符合语言规则的内容(如示例中的"外星文")
  • 物理类比: 借用温度概念,温度越高粒子运动随机性越大
  • 概率机制:
    • 低温:概率分布峰值高,主要选择高概率词
    • 高温:概率分布平缓,低概率词也有机会被选

六、控制回答随机性和创造性的另一个参数

1. top_p

  • 取值范围: 0到1之间
  • 工作原理:
    • 不改变词的概率分布,而是截取概率分布的子集
    • 子集包含排名前的最可能词,累积概率≥top_p值
    • 例如top_p=0.4时,只选择累积概率≥0.4的前几个词
  • 特殊值:
    • 设为1时:覆盖整个词汇表,不做概率截断
  • 使用建议: 不要同时调整temperature和top_p,只需修改其中一个

七、总结

  • max_tokens: 硬性控制回答长度上限,影响成本
  • temperature: 控制回答的随机性和创造性
  • top_p: 通过概率截断控制回答质量
  • 参数选择: 根据具体需求平衡控制力度与回答质量
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐