文章目录
- ⭐ OpenAI API介绍
- ⭐ 提示-Prompt 与 完成-Completion 介绍
这一章节将为各位小伙伴介绍一下 OpenAI 的 API 相关内容,以及在 ChatGPT 中两个经常被用来比较的名词:“提示-prompt” 与 “完成-completion”。
⭐ OpenAI API介绍
OpenAI API 概述:
OpenAI API 是由 OpenAI 公司开发的一种人工智能服务,可提供自然语言处理、计算机视觉、自动对话等功能。OpenAI API 可以与各种编程语言和平台集成,可应用于几乎任何需要理解或生成自然语言或代码的任务,以帮助开发人员构建智能应用程序和工具。
它还提供了许多预训练的模型和算法,以及一系列不同能力水平的模型,可用于生成文本、回答问题、翻译语言、识别图像等不同的任务,并具有微调自定义模型的能力。OpenAI API 的目标是让开发人员更容易地使用人工智能技术,以提高应用程序的效率和准确性。
OpenAI API 核心: prompt
与 completion
OpenAI API 设计的 "prompt(提示)"
实际上就是如何 “编程” 模型,通常是通过提供一些说明或几个示例来完成。这与大多数其他 NLP 服务不同,它们设计用于单个任务,例如情感分类或命名实体识别。相反,完成端点可用于几乎任何任务,包括内容或代码生成、摘要、扩展、对话、创意写作、风格转移等。
"completion(完成)"
是 API 的核心。它提供了一个极其灵活和强大的模型接口。我们可以将一些文本作为提示输入,模型将生成一个文本完成,试图匹配我们给出的上下文或模式。例如,如果我们给 API 提供提示 “为一个蛋糕店写一个标语”,它将返回类似 “每一口都是来自心的微笑!” 的完成语。
令牌-Tokens:
模型通过将提示的文本分解为令牌来理解和处理文本。
令牌可以是单词,也可以是字符块。例如,“我喜欢吃巧克力” 这个词会被分解为 “我”、“喜欢”、“吃” 和 “巧克力” 这些令牌,而 “你好” 、“再见” 这样的短而常见的词是一个单独的令牌。
在给定的 API 请求中处理的令牌数量取决于我们的输入和输出的长度。作为一个粗略的经验法则,1 个令牌大约相当于 4 个字符或英文文本的 0.75 个单词(英文)。要记住的一个限制是,我们输出的文本提示和生成的完成语组合的长度必须不超过模型的最大上下文长度(对于大多数模型来说,这个长度是 2048 个令牌、也就是 2048 个Tokens,大 约 1500 个单词)。
我们可以把 令牌(token)
理解为类似于搜索引擎为我们查找结果时的分词效果,比如,你今天很漂亮:通常会为我们分成 “你” “今天” “很” “漂亮” 这种场景。
关于 “令牌(token)” OpenAI API 为我们提供了一个分词演示界面,可以帮助我们理解它的token分词效果,该工具地址为:https://platform.openai.com/tokenizer
下图中的案例,我们可以看到,它帮我们将输入的 "It's beautiful day with you" 分成了 6个词 ,或者也可以称为 6个tokens 。
关于模型:
OpenAI API 由一组具有不同能力和特点的模型驱动。
基础 GPT-3 模型称为 "Davinci"
、"Curie"
、"Babbage"
和 "Ada"
。
Codex系列是GPT-3的后代,经过训练可以处理自然语言和代码。
这使得它在生成或理解代码方面表现出色,例如自动完成代码片段或根据自然语言提示编写整个程序。Codex
还具有理解和理解编程语言结构和语法的能力,使其成为软件开发的强大工具。
关于 API 密钥和访问:
要使用 OpenAI API,首先就需要获取API密钥,这一点我们在上一章节已经介绍过了。在获得API密钥后,我们可以使用 curl
、Python
、JavaScript
等多种方式访问API。还可以使用官方为我们提供的开发者库和SDK哦。
关于 API 的调用和定价:
ChatGPT 的 API 是根据使用者所使用的模型和返回结果的数量进行定价。由于模型使用的计算资源非常大,因此API调用可能会产生高额的计算成本。目前官方提供了免费试用期和多种定价选项,以便在不超过预算的情况下探索和使用 API 。
当然了,所谓的 “钱” 能通神,当你开通 ChatGPT Plus 服务之后,我们能够享受到 OpenAI 最优质的服务。
OpenAI API是一个功能强大、灵活且易于使用的自然语言处理和代码生成工具。我们的多个模型可以适用于各种任务,并提供了可定制的能力,以便我们可以根据自己的需求调整和微调模型。
⭐ 提示-Prompt 与 完成-Completion 介绍
为什么将 "Prompt" 与 "Completion" 单独拎出来介绍?
是因为在 ChatGPT 中,Prompt 和 Completion 是两个重要的概念。
Prompt
是用户输入的文本或指令,它用于启动 ChatGPT 的对话生成过程。用户可以使用任何语言来输入 Prompt,ChatGPT 将根据 Prompt 中的信息生成对话回复。
Completion
是 ChatGPT 生成的对话回复,它基于 Prompt 中的信息和 ChatGPT 训练过的语言模型,自动生成对话内容。Completion 可以是单个文本字符串,也可以是多个文本字符串组成的列表。
同时 Completions 也是 OpenAI API 的核心,提供了一个非常灵活和强大的简单界面。我们可以将一些文本作为提示输入,API 将返回一个文本完成,试图匹配我们给出的任何说明或上下文。ChatGPT 根据 Prompt 中的上下文信息,自动识别并生成与 Prompt 相关的对话内容。
在 ChatGPT 中,Prompt 和 Completion 之间存在一种紧密的关系,Prompt 提供了对话的上下文和启动信息,而 Completion 则是 ChatGPT 根据 Prompt 生成的相应回复。Prompt 和 Completion 的准确性和相关性对 ChatGPT 的对话生成效果具有重要影响。
示例:
相信看了上在的示例,小伙伴们应该对 ChatGPT 的 "提示(prompt)" 与 "完成(completion)" 有了更深层次的的了解了吧!