openai chatgpt 大语言模型

时间:2024-10-14 18:20:20

简介

OpenAI

一个美国人工智能研究实验室,由非营利组织 OpenAI Inc,和其营利组织子公司 OpenAI LP 所组成。该组织于 2015 年由萨姆·阿尔特曼、里德·霍夫曼、杰西卡·利文斯顿、伊隆·马斯克、伊尔亚·苏茨克维、沃伊切赫·萨伦巴、彼得·泰尔等人在旧金山成立,他们共同认捐了 10 亿美元。微软先后支付了百亿美元投资,用于独家授权使用 GPT-4

openai chatgpt 大语言模型_函数调用

openai chatgpt 大语言模型_聊天机器人_02

ChatGPT

全称聊天生成预训练转换器(英语:Chat Generative Pre-trained Transformer),是 OpenAI 开发的人工智能聊天机器人程序,于 2022 年 12 月推出。该程序使用基于 GPT-3.5、GPT-4、GPT-4o 架构的大型语言模型并以强化学习训练。可以实现自动生成文本、自动问答、自动摘要、编写和调试计算机程序等多种任务。

openai chatgpt 大语言模型_函数调用_03

GPT

openai chatgpt 大语言模型_聊天机器人_04

openai chatgpt 大语言模型_API_05

GPT-3.5

GPT-3.5 Turbo 模型可以理解并生成自然语言或代码,并已针对使用聊天完成 API 的聊天进行了优化,但也适用于非聊天任务。自 2024 年 7 月起,应使用 gpt-4o-mini 代替 gpt-3.5-turbo,因为它更便宜、功能更强大、多模式且速度同样快。

GPT-4

GPT-4 是一个大型多模态模型(接受文本或图像输入并输出文本),由于其更广泛的常识和先进的推理能力,它可以比我们以前的任何模型更准确地解决难题。GPT-4 可在 OpenAI API 中向付费客户提供。与 gpt-3.5-turbo 一样,GPT-4 针对聊天进行了优化,但也适用于使用聊天完成 API 的传统完成任务。

openai chatgpt 大语言模型_API_06

GPT-4o

GPT-4o(“o”代表“omni”)是我们最先进的型号。它是多模式的(接受文本或图像输入并输出文本),具有与 GPT-4 Turbo 相同的高度智能,但效率更高 - 它生成文本的速度快 2 倍,成本便宜 50%。此外,在我们的所有模型中,GPT-4o 在非英语语言方面具有最佳的视觉和性能。

openai chatgpt 大语言模型_聊天机器人_07

GPT-4o mini

GPT-4o mini(“o”代表“omni”)是我们小型型号类别中最先进的型号,也是我们迄今为止最便宜的型号。它是多模式的(接受文本或图像输入并输出文本),比 gpt-3.5-turbo 具有更高的智能,但速度同样快。它旨在用于较小的任务,包括视觉任务。我们建议您选择 gpt-4o-mini,因为该型号功能更强大且更便宜。

openai chatgpt 大语言模型_API_08

文本生成模型使用建议

模型

价格 1M tokens

特点

gpt-4o-mini

$0.15 $0.6

gpt4o 加速廉价版本 日常任务推荐

gpt3.5-turbo

$3 $1.5

gpt4 上一代 廉价代替模型

gp4o

$5 $15

提高速度 能力弱于 gpt4

gpt4-turbo

$10 $30

gpt4 的加速版本

gpt4

$30 $60

推理能力强 训练数据规模大

DALL·E

DALL·E 是一个人工智能系统,可以根据自然语言的描述创建逼真的图像和艺术。DALL·E 3 目前支持根据提示创建具有特定尺寸的新图像的功能。DALL·E 2 还支持编辑现有图像或创建用户提供的图像的变体的功能。

openai chatgpt 大语言模型_API_09

霍格沃兹测试开发学社 AI 服务

openai chatgpt 大语言模型_聊天机器人_10

Text to speech

TTS (Text to speech) 是一种人工智能模型,可将文本转换为听起来自然的语音文本。我们提供两种不同的模型变量,tts-1 针对实时文本到语音用例进行了优化,tts-1-hd 针对质量进行了优化。这些模型可与音频 API 中的语音端点一起使用。

openai chatgpt 大语言模型_函数调用_11

openai chatgpt 大语言模型_聊天机器人_12

Whisper

Whisper 是一种通用语音识别模型。它是在各种音频的大型数据集上进行训练的,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。Whisper v2-large 模型目前可通过我们的 API 获得,模型名称为 Whisper-1。目前,Whisper 的开源版本和通过我们的 API 提供的版本没有区别。然而,通过我们的 API,我们提供了优化的推理过程,这使得通过我们的 API 运行 Whisper 比通过其他方式运行要快得多。

openai chatgpt 大语言模型_函数调用_13

whisper /Users/seveniruby/ceba/ai_v2_kg/data/bytedance.mp4
Detecting language using up to the first 30 seconds. Use `--language` to specify the languageDetected language: Chinese[00:00.000 --> 00:02.000] 吉智公云 吉智收获[00:30.000 --> 00:32.000] 吉智 吉智收获[01:01.000 --> 01:08.000] 一頓操作猛如虎 屏幕輸出2.5[01:20.000 --> 01:22.000] 強刷等在不如不在[01:31.000 --> 01:36.000] 上班摸魚 越摸越魚[01:41.000 --> 01:42.000] 怎麼樣 好吃嗎[01:43.000 --> 01:45.000] 好吃好吃 太好吃了[01:46.000 --> 01:49.000] 假如每個人頭上都戴了側晃泥[01:51.000 --> 01:53.000] 這件衣服適合我嗎
[01:54.000 --> 01:56.000] 適合 特別好看



Embeddings嵌入是文本的数字表示,可用于衡量两段文本之间的相关性。嵌入对于搜索、聚类、推荐、异常检测和分类任务很有用。

openai chatgpt 大语言模型_聊天机器人_14

基于 Embeddings 的 RAG 检索增强生成

openai chatgpt 大语言模型_函数调用_15

Sora

Sora 是一个 AI 模型,可以根据文本指令创建现实且富有想象力的场景。

{style="flex: 2"}

ChatGPT 使用方式

命令行使用

pip install openai

openai api chat.completions.create -m gpt-4o-mini  -g user ceshiren.com是做什么的


Ceshiren.com 是一个专注于软件测试和开发的综合性平台,提供了一系列与自动化测试、性能测试、接口测试等相关的工具和资源。它还可能有社区论坛,用户可以在这里分享经验、解决问题和讨论相关主题

通过编程语言的 Library 使用

from openai import OpenAI
client = OpenAI(
    # Defaults to os.environ.get("OPENAI_API_KEY")
)

chat_completion = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello world"}]
)

通过 Langchain 等框架

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4o",
    # api_key="...",  # if you prefer to pass api key in directly instaed of
    # base_url="...",
)
messages = [
    (
        "system",
        "You are a helpful assistant that translates English to French. Translate the user sentence.",
    ),
    ("human", "I love programming."),
]
ai_msg = llm.invoke(messages)



通过学社提供的 AI 服务

openai chatgpt 大语言模型_函数调用_16

openai chatgpt 大语言模型_API_17

ChatGPT 助理

Assistants 助理

由 GPT-4 等大型语言模型提供支持,能够为用户执行任务。这些助手根据模型上下文窗口中嵌入的指令进行操作。他们通常还可以使用允许助理执行更复杂任务的工具,例如运行代码或从文件中检索信息

openai chatgpt 大语言模型_函数调用_18

openai chatgpt 大语言模型_函数调用_19

助理工具 Assistant Tools

使用 Assistants API 创建的助手可以配备工具,使他们能够执行更复杂的任务或与您的应用程序交互。我们为助手提供内置工具,但您也可以定义自己的工具来使用函数调用扩展其功能。Assistants API 目前支持以下工具:文件搜索 代码解释器 函数调用

函数调用 Function calling

助手 API 支持函数调用。函数调用允许您向 Assistants API 描述函数,并让它智能地返回需要调用的函数及其参数。

openai chatgpt 大语言模型_聊天机器人_20

ChatGPT 微调

微调

微调通过训练超出提示范围的更多示例来改进小样本学习,让您在大量任务上取得更好的结果。一旦模型经过微调,您就不需要在提示中提供那么多示例。这可以节省成本并实现更低延迟的请求。

openai chatgpt 大语言模型_聊天机器人_21

使用微调之前的建议
微调 OpenAI 文本生成模型可以使它们更好地适应特定应用,但这需要仔细投入时间和精力。我们建议首先尝试通过如下方法获得更好效果

  • 提示工程
  • 提示链
  • 函数调用

谨慎使用微调的原因

  • 在许多任务中,我们的模型最初可能表现不佳,但可以通过正确的提示来改进结果 - 因此可能不需要进行微调
  • 迭代提示和其他策略比微调迭代具有更快的反馈循环,后者需要创建数据集并运行训练作业
  • 在仍然需要微调的情况下,最初的提示工程工作不会浪费 - 在微调数据中使用良好的提示(或将提示链接/工具使用与微调相结合)时,我们通常会看到最佳结果
简单文本生成微调案例
{"messages": [{"role": "system", "content": "Marv 是一个既真实又讽刺的聊天机器人。"}, {"role": "user", "content": "大写的是什么法国?"}, {"role": "assistant", "content": "巴黎,好像每个人都不知道这一点。"}]} {"messages": [{"role": "system", "content": "Marv 是一个既真实又讽刺的聊天机器人。"}, {"role": "user", "content": "谁写了 '罗密欧与朱丽叶'?"}, {"role": "assistant", "content": "哦,只是一个叫威廉·莎士比亚的人听说过他吗?"}]} {"messages": [{"role": "system", "content": "Marv 是一个既真实又讽刺的聊天机器人。"}, {"role": "user", "content": "距离有多远从地球到月球?"}, {"role": "assistant", "content": "大约 384,400 公里。这确实很重要。"}]}
工具调用微调案例
{
  "messages": [
    { "role": "user", "content": "What is the weather in San Francisco?" },
    {
      "role": "assistant",
      "tool_calls": [
        {
          "id": "call_id",
          "type": "function",
          "function": {
            "name": "get_current_weather",
            "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"
          }
        }
      ]
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_current_weather",
        "description": "Get the current weather",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and country, eg. San Francisco, USA"
            },
            "format": { "type": "string", "enum": ["celsius", "fahrenheit"] }
          },
          "required": ["location", "format"]
        }
      }
    }
  ]
}
微调任务与微调结果

openai chatgpt 大语言模型_聊天机器人_22

openai chatgpt 大语言模型_函数调用_23

使用微调模型
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
  model="ft:gpt-4o-mini:my-org:custom_suffix:id",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ]
)
print(completion.choices[0].message)

ChatGPT 总结

最好最领先的大模型生态