文章目录
- OpenAI
- Completion
- 宠物名字生成器
- 提示词工程 prompt enginering
- 构建应用程序
OpenAI
OpenAI
已经训练了非常擅长理解和生成文本的领先的语言模型。我们的 API
提供对这些模型的访问,可用于处理几乎任何涉及”语言处理“的任务。
Completion
补全(Completion
) 是我们 API 的核心,它提供了一个非常灵活和强大的简单接口。你输入一些文本作为 提示词(Prompt
),API
将返回一个匹配你提供的任何指令或上下文的文本作为 补全(Completion
)。
-
输入提示词(
Prompt
):为冰淇淋店写一个标语。 -
返回补全(
Completion
):我们用每一勺提供微笑!
宠物名字生成器
假设你想创建一个宠物名字生成器,如果要从头开始想出名字是很难的。
首先,你需要一个明确说明你想要什么的提示词(Prompt
)。让我们尝试一下,提交下面的提示词(Prompt
)以获得一个补全(Completion
)。
-
输入提示词(Prompt):Suggest one name for a horse.
-
返回补全(Completion):Lightning
再试着让你的指示更具体。
-
输入提示词(Prompt):Suggest one name for a black horse.
-
返回补全(Completion):Midnight
如你所见,在提示词(Prompt)中添加一个简单的形容词会改变返回的补全(Completion)。设计提示词(Prompt)本质上就是对模型进行“编程”。
- 再来一些示例
设计好的说明对于获得良好的结果很重要,但有时它们还不够。让我们尝试下更复杂指令。
-
输入提示词(Prompt):Suggest three names for a horse that is a superhero.
-
返回补全(Completion):
- Super Stallion
- Captain Colt
- Mighty Mustang
提示词工程 prompt enginering
在许多情况下,向模型展示和告诉模型你想要什么是很有帮助的。在你的提示中添加示例可以帮助传达模式或细微差别。尝试提交此提示,其中包含几个示例。
-
输入提示词(Prompt):Suggest three names for an animal that is a superhero.
Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: Horse
Names: -
返回补全(Completion):
Super Stallion, Mighty Mare, The Magnificent Equine
超级种马、强大的母马、壮丽的马
很好!添加我们期望给定输入的输出示例有助于模型提供我们正在寻找的名称类型。
- 调整设置
提示设计并不是你可以使用的唯一工具。你还可以通过调整设置来控制补全(Completions
)。最重要的设置之一为 温度(Temperature
)。
你可能已经注意到,如果你在上面的示例中多次提交相同的提示,模型将始终返回相同或非常相似的完成。这是因为你设置的温度(Temperature
)为 0
。
尝试将温度(Temperature
)设置为 1
重新提交几次相同的提示词(Prompt
)。
- 输入提示词(
Prompt
):
Suggest three names for an animal that is a superhero.
Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: Horse
Names:
- 返回补全(Completion):
Super Stallion, Mighty Equine, The Fabulous Thoroughbred
超级种马,强大的马,神话般的纯种马
当温度高于 0
时,每次提交相同的提示词(Prompt
)都会返回不同的补全(Completion
)。
请记住,该模型预测哪个文本最有可能跟在它前面的文本之后。温度(Temperature
)是一个介于 0
和 1
之间的值,基本上可以让你控制模型在进行这些预测时的置信度。降低温度(Temperature
)意味着它将承担更少的风险,并且完成将更加准确和确定。提高温度(Temperature
)将导致更多样化的完成。
对于宠物名字生成器,你可能希望能够生成很多名字创意。0.6
的中等温度(Temperature
)应该有比较好的效果。
构建应用程序
- 安装
node.js
Node.js、npm和vue下载及安装
git clone
项目
git clone https://github.com/openai/openai-quickstart-node.git
如果你不想使用 git
,也可以使用此 zip
文件下载代码。
- 添加你的
API Key
导航到项目目录并复制示例环境变量文件。
cd openai-quickstart-node
cp .env.example .env
复制你的Secret API Key
并将其设置为新创建的 .env
文件中的 OPENAI_API_KEY
。
使用 Javascript
时,所有 API
调用都应仅在服务器端进行,因为如果在浏览器端调用,浏览器端代码会暴露你的 API Key
。
- 运行应用
在项目目录中运行以下命令以安装依赖项并运行应用。
npm install
npm run dev
- 在浏览器中打开 http://localhost:3000,你应该会看到宠物名称生成器!
- 报错提示
error with openai api request: connect etimedout 199.96.58.177:443
说明需要使用新的IP
地址(你懂的),之后在源代码pages/api/generate.js
中添加
proxy:{
host:'127.0.0.1',
port:7890
}
之后重新运行 npm run dev
- 新的报错 有关API Key的问题
如果是私人申请的API Key,一般没什么问题
可能会超出免费额度等等,正常处理即可。
You must be a member of an organization to use the API. Please contact us through our help center at help.openai.com.