OpenAI补全

2024-08-15 175

OpenAI的补全(Completion)功能适用于多种任务,为所有模型提供简单而强大的接口。通过输入特定文本提示,模型会生成一个旨在匹配任何给定上下文或模式的文本完成。本指南还提供了关于使用Codex模型进行代码工作的信息。

由于OpenAI API默认非确定性输出,即使相同提示每次也可能得到不同结果。设定temperature和top_p参数可以控制输出的确定性程度。预置模型的数据训练截至2021年,可能无法涵盖当前事件,但计划未来进行连续训练。

一、设计提示词

1、基础(Basics)

OpenAI的模型可以执行从生成原创故事到复杂文本分析的各种任务。由于功能丰富,需要明确描述所需内容。展示而非仅仅告知,通常是优质提示的关键。

创建提示时有三个基本准则:

(1)提供示例或指令

清晰表达想要的结果。如果希望模型按字母顺序排列项目列表或对段落进行情感分类,请明确告诉它。

(2)提供优质数据

如果试图构建分类器或让模型遵循特定模式,请确保给出充分的例子,并仔细校对这些例子。虽然模型通常能够识别拼写错误,但也可能误解为故意行为,从而影响结果。

(3)检查设置

温度(temperature)和top_p设置控制模型生成响应时的确定性。如果要求生成唯一正确答案的响应,需将其设置得较低;若希望获得更具多样性的响应,则应适当提高设置。切忌将这些设置视为“智能”或“创造力”的控制手段。

二、常见问题

如果无法如预期使用API,请遵循以下:

1、生成的需求是否清晰?

2、是否提供了足够的示例?

3、是否检查了示例中的错误?(API不会直接告知)

4、是否正确使用了温度(temperature)和top_p设置?

三、文本分类器

为了使用API创建文本分类器,OpenAI提供任务描述和一些示例。本例中,OpenAI演示如何对推文进行情感分类,判断其情感是积极的、中性的还是消极的。

值得注意的几个特点:

1、使用通俗易懂的语言

清楚地描述输入(“推文”)和预期输出(“情感”)。作为最佳实践,从详细描述开始,逐步简化。

2、展示API如何响应不同情况

在示例中包含可能的情绪标签,尤其是“中性”标签,以便处理那些人类也难以确定情感的情况。

3、熟悉任务需要更少的示例

对于此分类器,OpenAI未提供任何示例,因为API已经理解情绪和推文的概念。若构建一个API可能不熟悉的分类器,需提供更多示例。

4、提高效率

现在OpenAI掌握了如何构建分类器,让OpenAI提高效率,通过一次API调用获取多个结果。

请对以下推文的情感进行分类:

"I can't stand homework"
"This sucks. I'm bored 😠"
"I can't wait for Halloween!!!"
"My cat is adorable ❤️❤️"
"I hate chocolate"

OpenAI提供带编号的推文列表,以便API在一个调用中评估多条推文。在请求API创建列表或评估文本时,需要特别注意概率设置(top_p或温度),以避免偏差。通过多次测试,确保概率设置正确。不要将列表制作得过长,以防API出现漂移。

四、生成

使用OpenAI API完成的最强大且简单的任务之一是生成新想法或文本版本。可以请求从故事创意到商业计划、角色描述和营销标语的任何内容。

头脑风暴:结合健身和虚拟现实(VR)的创意

Brainstorm some ideas combining VR and fitness:

如有必要,可以通过在提示中包含示例来提高响应质量。

五、对话

OpenAI API在与人类甚至彼此对话方面表现出色。只需几行指令,就可以让API充当智能客户服务聊天机器人,或是一个有趣的对话伙伴,进行幽默的互动。关键在于告诉OpenAI API如何行动,并提供例子。

以下是OpenAI API充当答题AI角色的示例:

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?

这就是创建能够对话的聊天机器人所需的一切。尽管看似简单,但有几点值得关注:

1、明确意图和行动方式

OpenAI告诉API其意图,并指示它如何回应。与其他提示一样,OpenAI提供该示例的意图,同时提醒API作为“助手,友好、有创意、聪明”进行互动。

2、赋予API身份

初始时,OpenAI让API作为AI助手响应。虽然API没有固有身份,但这样可以使其尽可能真实地回应。也可以为其他类型的聊天机器人设定身份,例如,告诉API以生物学研究者的身份回答问题,将获得更符合该背景的智能和周到回复。

3、创建有趣且略带讽刺的聊天机器人

例如,OpenAI可以创建一个有点讽刺且不情愿回答问题的聊天机器人:

Marv is a chatbot that reluctantly answers questions with sarcastic responses:
You: How many pounds are in a kilogram?
Marv: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
You: What does HTML stand for?
Marv: Was Google too busy? Hypertext Markup Language. 
The T is for try to ask better questions in the future.
You: When did the first airplane fly?
Marv: On December 17, 1903, Wilbur and Orville Wright made the first flights. 
I wish they’d come and take me away.
You: What is the meaning of life?
Marv: I’m not sure. I’ll ask my friend Google.
You: Why is the sky blue?

为了创建一个既有趣又略带讽刺的聊天机器人,OpenAI提供了一些问题及其回应的示例,以向API展示如何回复。只需几个讽刺的回应,API就能掌握模式,为提供源源不断的机智回答。

六、模型转换

1、翻译Translation

对于翻译任务,API可以将文本从一种语言转换为另一种语言。如果API已经掌握了目标语言,那么转换通常是准确的。例如:

Translate this into French, Spanish and Japanese:
What rooms do you have available?
French: Quelles chambres avez-vous de disponibles ?
Spanish: ¿Qué habitaciones tienen disponibles?
Japanese: どの部屋が利用可能ですか?

2、对话Conversion

API可以将文本转换成表情符号,展示其对模式的理解和适应能力。例如:

Convert movie titles into emoji.
Back to the Future: 👨👴🚗🕒 
Batman: 🤵🦇 
Transformers: 🚗🤖 
Star Wars:

3、总结Summarization

API能够将复杂的文本内容重新表达成更简单的形式。例如:

原文:

木星是离太阳第五远的行星,也是太阳系中最大的行星。它的体积仅次于太阳,是太阳系中所有其他行星质量的两倍半。在夜空中,木星是最亮的天体之一,因此可以用肉眼看到。它的名字来自于罗马神话中的“朱庇特”(Jupiter)。当OpenAI从地球上看木星时,它非常亮,甚至可以投射出明显的阴影。平均来说,木星在月亮和金星之后在夜空中是第三亮的天体。

总结:

木星是一个非常大的星球,离太阳很远,能在夜空中看到它很亮。它的名字来源于古代神话。

4、补全Completion

API可以根据给定的提示继续生成文本。这在编写代码、创作内容等任务中非常有用。例如:

提示:

import React from 'react';
const HeaderComponent = () => (

API可以继续生成组件的完整代码。

七、限制API捏造答案的可能性

API有很多知识,它是从它所被训练的数据中学到的。它还可以提供听起来非常真实但实际是虚构的答案。有两种方法可以限制API捏造答案的可能性。

如果你为API提供了一个文本体来回答问题(如维基百科条目),它就不太可能捏造一个回答。使用较低的概率(probability),并展示给API如何表达“我不知道”。如果API理解,在不太确定答案的情况下,说“我不知道”或某种变体是合适的,它就不太可能编造答案。

在这个例子中,OpenAI给API提供了它已知的问题和答案的范例,然后给出一些它不知道的内容并提供问号。OpenAI还将概率设为零,这样API就更有可能用“?”回答,以避免任何怀疑。

Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Q: What is the capital of California?
A: Sacramento.
Q: What orbits the Earth?
A: The Moon.
Q: Who is Fred Rickerson?
A: ?
Q: What is an atom?
A: An atom is a tiny particle that makes up everything.
Q: Who is Alvan Muntz?
A: ?
Q: What is Kozar-09?
A: ?
Q: How many moons does Mars have?
A: Two, Phobos and Deimos.

八、插入文本

这个功能支持在文本中插入内容。例如:

  • 前缀: 我在波士顿大学上大学。毕业后,我决定做出一个改变。一个大改变!
  • 后缀: 我收拾行囊搬到了美国西海岸。现在,我对太平洋越来越着迷!

九、编辑文本

API可以修改现有文本。对于文本润色、编辑等任务特别有用。例如:

原文:

GPT-3是一个非常好的AI 它很擅长写回复 当它被问了一个问题 它会给出建议 这是它制作的一个押韵诗

指示:

以GPT-3的声音来表述

输出:

我是一个非常好的AI,我很擅长写回复。当我被问了一个问题,我会给出建议。这是我制作的一个押韵诗。
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
OpenAI补全
上一篇: OpenAI模型
OpenAI补全
下一篇: Pinecone索引