系列文章目录:

  1. OpenAI API及ChatGPT系列教程1:快速入门
  2. OpenAI API及ChatGPT系列教程2:使用手册
  3. OpenAI API及ChatGPT系列教程3:API参考(Python)

本文目录:

  • 系列文章目录:
  • 前言:
  • 一、OpenAI API 介绍
    • 1. 概述:
    • 2. 关键字:
  • 二、快速入门:
    • 1. 介绍:
    • 2. 从一个简单指令开始:
    • 3. 继续添加提示词:
    • 3. 调整设置:
    • 3. 用代码来实现(Python):
  • 三、Python库:
  • 四、模型(Modesl):
    • GPT-4:
    • GPT-3.5:
    • DALL.E:
    • Whisper:
    • Embeddings:
    • Moderation:
    • GPT-3:
  • 四、总结:

前言:

本系列档的主要内容是官方的翻译,同时加入了更多内容,旨在让读者更轻松地上手ChatGPT。在这些添加的内容中,我会提供更多的例子、技巧和提示,以帮助读者更好地理解 ChatGPT 的使用。此外,我们还会讨论 ChatGPT 的历史和发展,以及它在自然语言处理和人工智能领域的应用。通过这些信息,您可以更全面地了解 ChatGPT 的优势和潜力,并更好地应用 ChatGPT 来解决自己的问题。祝您阅读愉快!


一、OpenAI API 介绍

1. 概述:

首先我们得解释一下OpenAI API和ChatGPT之间的关系。好多朋友都不太分得清这两个概念。

ChatGPT 是基于OpenAI(公司)的 GPT-4 模型开发的一款聊天式人工智能。而OpenAI API 是一种开放的应用程序编程接口,通过这个接口,开发者可以将 OpenAI 开发的人工智能技术应用到各种软件中。

So,这篇文章应该叫做“OpenAI API教程”,但是让我们来面对现实,谁会读那个呢?所以加上”ChatGPT“后,恩,高端大气上档次~

下面是官网文档对OpenAI API的介绍:

OpenAI API 几乎可以应用于任何涉及理解或生成自然语言、代码或图像的任务。我们提供一系列具有不同算力级别的模型,适用于不同的任务,并且能够微调您自己的自定义模型。这些模型可用于从内容生成到语义搜索和分类的所有领域。

2. 关键字:

  • 提示词(Prompts):

当您想让ChatGPT执行某些操作时,您需要给它一些指示或示例。这就是我们所说的“提示词”。您可以将其用于几乎任何事情 - 不仅仅是像其他一些 NLP 服务那样的一个特定任务。无论您需要帮助生成代码、编写摘要,甚至只是聊天,ChatGPT都可以为您提供帮助。

(随着人工智能技术的不断发展,在自然语言处理、计算机视觉和语音识别等领域,人们越来越多地使用人工智能模型来处理各种任务。为了让这些模型能够更好地理解和生成自然语言、代码或图像等内容,提示词工程师(Prompt Engineer)这一新兴职位应运而生。

提示词工程师(Prompt Engineer)是设计、开发并优化提示词(Prompt),以便人工智能模型能够更好地理解和生成自然语言、代码或图像等内容。提示词工程师需要对自然语言处理(NLP)和机器学习有深入的理解,能够将业务需求转化为高效的提示词,并持续改进和优化这些提示词,以提高人工智能模型的性能和效果。

  • 代币(Tokens):

官方文档里面提到的是 Tokens,对于开发者来说这个概念很常见,开发者管这个叫“令牌”。但是在这里,它代表着对输入内容的分割。按照翻译,我们应该称之为“标记”,但是在 OpenAPI 中,它也是一个计费标准,收费是根据 Tokens 的数量来计算的。因此,我们也可以把它翻译成“代币”。总之,这个词很容易引起混淆,所以后文都将它称为”标记“。您知道它是什么意思就行了。

我们的模型通过将文本分解为称为标记的小块,来理解和处理文本。这些标记可以是单词或字符块。例如,“hamburger”这个词被分成了“ ham”,“ bur”和“ ger”三个标记,而像“pear”这样的短而常见的单词是一个标记。许多标记以空格开头,例如“ hello”和“ bye”。

我们可以处理的标记数量取决于您提供的文本量。一般来说,英文文本的一个标记大约是4个字符或0.75个单词。根据统计数据,750个单词平均等于1000个标记,而一个中文字符平均等于1.12个标记。要记住的一个限制是,您的文本提示和生成的完成组合必须不超过模型的最大上下文长度(对于大多数模型,这是2048个标记,或大约1500个单词,或大约1800个中文字符)。

  • 模型(Models):

我们通常说的ChatGPT其实是OpenAPI其中的一种模型。而OpenAPI是由一系列模型支撑的,这些模型的能力不同,使用费用也不同。 GPT-4是最新和最强大的模型。 GPT-3.5-Turbo是ChatGPT的动力模型,针对对话格式进行了优化。

二、快速入门:

OpenAI已经训练了先进的语言模型,非常擅长理解和生成文本。我们的API提供对这些模型的访问,并可用于解决几乎涉及语言处理的任何任务。

在这个快速入门教程中,您将构建一个简单的示例应用程序。在此过程中,您将学习使用API解决任何问题的关键概念和技术,包括:

  • 内容生成(Content generation)
  • 摘要(Summarization)
  • 分类、分类和情感分析(Classification, categorization, and sentiment analysis)
  • 数据提取(Data extraction)
  • 翻译(Translation)
  • 等等等等!

1. 介绍:

补全(Completions)端点是OpenAI API的核心,提供了一个非常灵活且强大的简单接口。你所需要做的就是给它一些文本作为提示(Prompt),API将为你提供一个完成(Completion),试图匹配你提供的任何指令或上下文。

举例:

提示:为冰淇淋店写一个标语。

补全:每勺冰激凌都带着微笑!

每勺冰激凌都带着微笑!

可以将其视为非常高级的自动完成 - 模型处理您的文本提示并尝试预测最有可能出现的内容。

2. 从一个简单指令开始:

现在你想给你的宠物取名。从零开始想出名字是很困难的!

首先,你需要一个明确的提示,告诉模型你想要什么。让我们从一条指令开始:

提示:给马取一个名字。

补全:闪电

还不错!现在,试着让你的指示更具体。

提示:给一匹黑马取一个名字。

补全:闪电

如上所见,将一个简单的形容词添加到提示中会改变所得到的补全结果。设计提示词本质上就是如何对模型进行“编程”。

3. 继续添加提示词:

让我们试着让你的指令更复杂:

提示:给马取三个名字,要求类似超级英雄的名字。

补全:

  1. 超级马 (Chaoji Ma)
  2. 勇敢马 (Yonggan Ma)
  3. 英雄马 (Yingxiong Ma)

这个结果不完全符合我们的要求。让我们看看能否得出一些更相关的建议。

有时候不仅仅是告诉模型你想要什么很有用,展示它也很有用。在提示中包含示例可以帮助传达模式或小细节。试一试并加入几个示例,看看效果如何!

提示:给马取三个名字,要求类似超级英雄的名字。

动物:猫
名称:萨伦猫侠(Saren Catman)神秘猫女(Mystique Catwoman)超能猫斯特拉(Supercat Stella)

动物:狗
名称:钢牙 (Steel Fang) 闪电犬 (Lightning Hound) 狼蜜蜂 (Wolf Bee)

动物:马
名称:

补全:

  1. 雷霆闪电马 (Thunderbolt)
  2. 烈焰战马 (Inferno)
  3. 钢铁蹄子马 (Ironhoof)

这就很不错了!可以看到,为给定输入添加输出示例后,是有助于模型提供我们想要的输出。

3. 调整设置:

提示词并不是您可以使用的唯一工具。您还可以通过调整相关设置来控制补全输出。最重要的设置之一称为热度(temperature)

您可能已经注意到,如果您在上面的示例中多次提交相同的提示,模型将始终返回相同或非常相似的补全。这是因为您的热度设置为0

如果将热度设置为1,重新提交几次相同的提示词。会发现,当热度高于 0 时,每次提交相同的提示会导致不同的完成。

请记住,模型预测哪个文本最有可能跟在它前面的文本之后。热度是一个介于 0 和 1 之间的值,基本上可以让您控制模型在进行这些预测时的置信度。降低热度意味着它将承担更少的风险,并且补全将更加准确和确定。升高热度将导致更多样化的补全。

对于这个宠物昵称生成器,您可能希望能够生成很多名字创意。0.6 的适中热度应该是合适的值。

3. 用代码来实现(Python):

  • 首先下载示例代码:

git clone https://github.com/openai/openai-quickstart-python.git

  • 添加API密钥:
  • 运行应用:
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
flask run
  • 在浏览器中打开http://localhost:5000

三、Python库:

$ pip install openai
import os
import openai# Load your API key from an environment variable or secret management service
openai.api_key = os.getenv("OPENAI_API_KEY")response = openai.Completion.create(model="text-davinci-003", prompt="Say this is a test", temperature=0, max_tokens=7)

四、模型(Modesl):

OpenAI API 由具有不同功能和价位的多种模型提供支持。

模型 描述
GPT-4 一组在 GPT-3.5 上改进的模型,可以理解并生成自然语言或代码
GPT-3.5 一组在 GPT-3 上改进的模型,可以理解并生成自然语言或代码
DALL.E 可以在给定自然语言提示的情况下生成和编辑图像的模型
Whisper 一种可以将音频转换为文本的模型
Embeddings 一组可以将文本转换为数字形式的模型
Moderation 可以检测文本是否敏感或不安全的微调模型
GPT-3 一组可以理解和生成自然语言的模型

模型端点兼容性:

端点 模型
/v1/chat/completions gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301
/v1/completions text-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001
/v1/edits text-davinci-edit-001, code-davinci-edit-001
/v1/audio/transcriptions whisper-1
/v1/audio/translations whisper-1
/v1/fine-tunes davinci, curie, babbage, ada
/v1/embeddings text-embedding-ada-002, text-search-ada-doc-001
/v1/moderations text-moderation-stable, text-moderation-latest

GPT-4:

GPT-4 是一个大型多模态模型(现在能接受文本输入并给出文本输出,将来会出现图像输入),它可以比以前的任何模型更准确地解决难题。GPT-4 针对聊天进行了优化,但也适用于使用聊天完成 API 的传统补全任务。

对于许多基本任务,GPT-4 和 GPT-3.5 模型之间的差异并不显着。然而,在更复杂的推理情况下,GPT-4 比我们之前的任何模型都更有力。

GPT-3.5:

GPT-3.5 模型可以理解并生成自然语言或代码。我们在 GPT-3.5 系列中功能最强大且最具成本效益的模型**gpt-3.5-turbo**已针对聊天进行了优化,但也适用于传统的补全任务。

我们建议使用**gpt-3.5-turbo**模型,因为它的成本较低。

DALL.E:

DALL·E 是一个人工智能系统,可以根据自然语言的描述创建逼真的图像。目前支持在输入提示词的情况下,创建具有特定大小的新图像、编辑现有图像或创建用户提供的图像的变体的能力。

当前 DALL·E 模型是 DALL·E 的第 2 次迭代,具有比原始模型更逼真、更准确且分辨率高 4 倍的图像。

Whisper:

Whisper 是一种通用的语音识别模型。它在不同音频的大型数据集上进行训练,也是一个多任务模型,可以执行多语言语音识别以及语音翻译和语言识别。Whisper v2-large 模型目前可通过API 使用**whisper-1**模型名称获得。

目前, Whisper 的开源版本与通过API 提供的版本之间没有区别。然而,通过API提供了一个优化的推理过程,这使得通过我们的 API 运行 Whisper 比通过其他方式运行要快得多。

Embeddings:

嵌入(Embedding)是文本的数字表示,可用于衡量两段文本之间的相关性。第二代Embedding模型**text-embedding-ada-002**旨在以一小部分成本取代之前的 16 种第一代嵌入模型。嵌入可用于搜索、聚类、推荐、异常检测和分类任务。

Moderation:

审核模型(Moderation)旨在检查内容是否符合 OpenAI 的使用政策。这些模型提供了查找以下类别内容的分类功能:仇恨、仇恨/威胁、自残、性、性/未成年人、暴力和暴力/图片。

审核模型接受任意大小的输入,该输入会自动分解以修复模型特定的上下文窗口。

GPT-3:

GPT-3 模型可以理解和生成自然语言。这些模型被更强大的 GPT-3.5 代模型所取代。但是,原始 GPT-3 基本模型(davincicurieadababbage)是当前唯一可用于微调的模型。

四、总结:

以上就是本系列文章的第一部分,介绍了如何使用OpenAI API和ChatGPT系列来生成文本。其中包括如何使用提示词和示例来控制模型的输出,以及如何调整设置来影响模型的置信度和多样性。此外,还提供了Python代码示例和各种模型的描述,包括GPT-4、GPT-3.5、DALL.E、Whisper、Embeddings、Moderation和GPT-3。

OpenAI API及ChatGPT系列教程1:快速入门相关推荐

  1. 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)

    文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...

  2. 涂鸦蓝牙SDK开发系列教程——1.快速入门

    本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...

  3. 涂鸦Zigbee SDK开发系列教程——3.快速入门

    在涂鸦 IoT 平台上创建产品完成且搭建好开发环境后就可以进行应用开发了.本章节将会通过对提供的 demo 进行简单修改,带你快速体验如何通过编写涂鸦模组固件实现对产品的智能化开发. demo 功能介 ...

  4. Selenium-Webdriver系列教程(1)————快速开始

    Selenium-Webdriver系列教程(一)----快速开始 Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好 ...

  5. Selenium-Webdriver系列教程(一)————快速开始

    Selenium-Webdriver系列教程(一)----快速开始 Selenium 1.x时代已经远去,它理应躺在历史的角落里,靠着壁炉烤着火,抽着旱烟,在袅袅的升起的青烟中回忆那曾经属于自己的美好 ...

  6. 【spring authorization server系列教程】(一)入门系列,spring authorization server简介。快速构建一个授权服务器(基于最新版本0.3.0)

    系列文章目录 [spring authorization server系列教程](一)入门系列,快速构建一个授权服务器 文章目录 系列文章目录 前言 一.目前已实现的功能 二.入门,一步一步快速开始构 ...

  7. Tomcat 教程之快速入门

    Tomcat 教程之快速入门 版本说明 本文使用 Tomcat 版本为 Tomcat 8.5.24. Tomcat 8.5 要求 JDK 版本为 1.7 以上. 简介 Tomcat 是什么 Tomca ...

  8. tensorflow2.0教程- Keras 快速入门

    tensorflow2.0教程-tensorflow.keras 快速入门 Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/artic ...

  9. 嗨CE系列教程全套(入门,进阶,高阶)游戏驱动反调试

    嗨CE系列教程全套(入门,进阶,高阶)游戏驱动反调试等 1.入门教程5课 1.如何修改游戏 2.快速找到基址和指针 3.通过一个地址快速找到其他地址 4.制作一个简易修改器 5.一些重要的小技巧和理论 ...

最新文章

  1. python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...
  2. Leetcode 189. 旋转数组 (每日一题 20210909)
  3. git maven 一键部署_Jenkins实现一键部署maven项目
  4. 若依微服务版前端怎样在接口返回500时去掉一直弹窗提示服务未找到
  5. 《程序是怎么跑起来的》第六章
  6. 数据结构——交换左右子树
  7. ISE应用入门的一些问题
  8. Python_60之迭代器模块
  9. 华为手机解锁码计算工具_华为高通全系列手机解锁工具
  10. 计算机 随机分组的方法,临床试验中的随机分组方法.pdf
  11. mysql数据库有dbo吗,sql server所有表的所有者恢复为dbo
  12. [转]二十四式太极拳攻防含义拆解
  13. extern关键字作用
  14. [论文阅读笔记17]MAT: Motion-Aware Multi-Object Tracking
  15. 蒙德里安森林算法_蒙德里安的格子画教案
  16. 网页小图标和文字混排时如何对齐基准线
  17. 程序员到底应该学什么?!
  18. 基于单片机的血压计c语言,基于单片机血压计的设计
  19. 883. 三维形体投影面积C++
  20. 洛谷P2585[ZJOI2006]三色二叉树(树形DP)

热门文章

  1. java ee框架技术进阶式教程_《JavaEE框架技术进阶式教程》新版任务式教案
  2. vue中的this.$router.replace()和.push()和.go()的区别解析
  3. POI将网络图片添加到excel
  4. Superl-url:一款开源关键词URL采集工具
  5. html怎么画正方形的斜线,html – 斜线的样式
  6. word文档删除空白页
  7. 无线攻击 --aircrack-ng套件之一:Airbase-ng(攻击客户端多用途工具)
  8. Verilog的时序问题和SystemVerilog TestBench激励时序
  9. android sdk引入 微信分享_android 调用本地微信自定义多图分享朋友圈,可放在share sdk中一起使用...
  10. 苹果电池测试软件原理,苹果手机电池检测软件有哪些?