You dont have javascript enabled! Please enable it!

OpenAI API 教程:如何使用 AI 提示链接

在企业中,引起了广泛关注,但要真正成为更高效和更具生产力的开发者,你必须学习如何使AI模型执行你所希望的任务。

本教程将解释如何使用 API将来自各种模型的信息合成到一个有用的响应中。为此,我们将完成以下任务:

  • 请求AI模型编译并返回在威廉·莎士比亚的戏剧《奥赛罗》和《冬天的故事》中提到的动物列表。
  • 将该响应数据纳入第二个提示,以便为另一个AI模型创建插图,该插图包含列表中的动物,并采用选定的图形渲染风格,例如科幻或现实主义。

所有讨论的概念和技术将在一个存储在GitHub仓库中的Node.JS项目中演示。

我们将首先简要概述如何使用OpenAI API。

使用OpenAI API

OpenAI API为开发者提供了编程级别的人工智能服务。开发者可以像终端用户与OpenAI发布的ChatGPT网站交互一样,在代码中与OpenAI API进行交互。

通过OpenAI API,开发者可以执行许多任务,例如自然语言处理、语言翻译、代码生成与完成以及图像生成。对于本文,我们将使用OpenAI API来研究一些特定数据,并根据研究结果生成图像。

图1展示了本教程中讨论的演示用例的工作流程。

OpenAI API 教程:如何使用 AI 提示链接

图1. 本文描述的演示用例的工作流程。

使用OpenAI API的第一步是注册其网站,提供一些个人资料信息并获取一个API密钥,以允许你的代码访问API。

OpenAI API 教程:如何使用 AI 提示链接

图2. 在OpenAI网站上创建API密钥。

OpenAI API并不是免费服务。你必须在设置过程中提供信用卡信息。根据对API的调用量和复杂性,你将被收费。然而,实验使用OpenAI API的成本是最小的。典型的实验大约需要小额投资10美元。

OpenAI API 教程:如何使用 AI 提示链接

图3. 用户使用OpenAI API时的收费情况。

一旦你获得了API密钥并提供了支付信息,就可以开始使用OpenAI API访问的各种模型进行编程。

与AI模型的协作

如前所述,开发者使用OpenAI编写代码,利用API提供的一个或多个AI模型。例如,GPT系列模型支持语言处理,因此开发者可以使用它以自然语言格式提出查询或执行指令,例如“显示两个加两个的和。”Dall-E模型用于生成图像,而Codex模型用于执行代码补全。

开发者通过特定语言的库和SDK与OpenAI API合作。一旦在其编程环境中安装了OpenAI API库,你就可以为特定任务选择一个特定模型。图4展示了Node.JS OpenAI npm包中可用的一些模型。

OpenAI API 教程:如何使用 AI 提示链接

图4. 在Node.js中编码OpenAI包时选择模型。

演示代码将在接下来的部分中讨论,使用了两个模型。一个是GPT-4 Turbo,我们将用它来发现《奥赛罗》和《冬天的故事》中提到的动物。另一个模型是Dall-E 3,它将生成包含列表中动物的图像。我们将以链式方式使用这两个模型。

使用模型链进行编程

图5中的代码块展示了函数generateImage(selectedStyle)的Node.js代码。该函数封装了所有逻辑,指示OpenAI模型发现莎士比亚戏剧中提到的动物列表,然后生成包含这些动物的图像。(再次强调,所有代码都在上述GitHub仓库中。)

请注意,OpenAI API中的模型调用是以链式方式进行的。前两个调用是对gpt-4-turbo模型的调用,分别在第17行获取戏剧中的动物和第27行将JSON格式的信息转换为简单的动物列表。第40行调用dall-e-3模型生成包含这些动物的图像,响应是OpenAI生态系统中引用生成图像的URL。

还要注意,模型调用使用自然语言提示,在第13、24和37行创建。OpenAI API的一个关键特性是它接受以自然语言表达的编程语句。这种新颖的软件开发方法在范式成熟时将产生重大影响。

OpenAI API 教程:如何使用 AI 提示链接

图5. 此代码提示OpenAI模型获取动物列表,并根据这些动物生成图像。

最后,请注意,对OpenAI API特定调用的提示在一个JSON对象中声明,并作为参数传递给特定的API方法。该JSON对象的配置取决于所调用的API功能。例如,第17-21行的调用将提示声明为JSON参数的messages属性的值:

let response = await openai.chat.completions.create({ model: 'gpt-4-turbo', messages: [{"role": "user", "content": query_1}], max_tokens: 300});

而第40-45行则使用prompt属性声明提示:

const imageResponse = await openai.images.generate({ model: 'dall-e-3', prompt: imagePrompt, n: 1, size: "1024x1024"})

此外,请注意,每个API调用所使用的模型在model属性中声明。

运行代码

演示代码使用npm包readline来方便地与终端窗口中的应用进行控制台交互。以下是第一次控制台交互的示例,询问用户声明将生成的图像的图形风格。

根据编号选择图像风格:

1. 科幻
2. 动漫
3. 奇幻
4. 抽象
5. 现实主义
输入你的选择(1-5):1
你选择了科幻,正在生成图像……

接下来是对OpenAI API中GPT-4 Turbo模型的提示结果:

动物有:

根据提供的JSON对象,这里是莎士比亚戏剧《奥赛罗》和《冬天的故事》中提到的所有动物的列表:

《奥赛罗》:

  1. 山羊
  2. 猴子
  3. 苍蝇
  4. 蟾蜍

《冬天的故事》:

  1. 羔羊
  2. 骆驼
  3. 鹿
  4. 卡美洛特(注:“卡美洛特”可能是一个错误,因为它通常被认为是与亚瑟王相关的城堡,而不是动物。这可能是原始数据中的一个错误。)
  5. 麻雀
  6. 云雀
  7. 乌鸦
  8. 小牛
  9. 公牛
  10. 乌鸦
  11. 乌鸦(注:“乌鸦”可能是一个拼写或转录错误,除非它指的是戏剧中不常见的特定上下文。更常见的是,这可能指的是猫头鹰。)

这个来自JSON对象的全面列表详细描述了这些动物的描绘,为这些莎士比亚戏剧增添了主题层次和象征意义。

以下是提示dall-e-3模型以根据所选图形风格和在《奥赛罗》和《冬天的故事》中发现的动物列表创建图像的结果:

获取生成图像的以下URL:

https://oaidalleapiprodscus.blob.core.windows.net/private/org-D0P2cQbjHbf4Smwv5zS0GEdo/user-BBIlAyfFniWbN86V1mp6nMl0/img-kQetHFd71ARKa6Grp3MErAKI.png

由OpenAI API发布的该URL是临时的,几小时后将会过期。要长期保存图像,请将其保存到本地计算机。

最后但同样重要的是,图6是根据定义的动物列表以科幻风格呈现的插图。

OpenAI API的优缺点

使用OpenAI API非常简单。访问API只需最少的设置时间和极少的支出。

然而,使用OpenAI API进行编程并不完美。目前,复杂提示的结果并不确定,这意味着相同的复杂提示在不同时间返回不同的结果。例如,提示“给我看两个加两个的和”将始终返回四,而提示“给我看莎士比亚戏剧《奥赛罗》和《冬天的故事》中提到的所有动物”则返回的结果可能会有显著不同。这是由于提示处理的机制所致。

然而,请记住,AI技术仍在不断成熟。在语音识别的早期,用户训练识别引擎以识别特定用户的声音,但如今,语音识别引擎可以将任何母语者说的音频转换为文本,而无需训练。我们可以期待,尤其是OpenAI API,能够达到同样的改进。

使用OpenAI API为软件开发开辟了许多新的可能性。自然语言交互的强大能力,以及每个模型提供的智能范围,使开发者能够快速创建多功能和强大的应用程序。将AI提示和模型串联在一起,增强了这些应用的能力。

OpenAI API是一个颠覆性工具,将人工智能的力量放在所有开发者的指尖。这为计算机编程开辟了一条新路径,将极大地惠及开发者及其服务的对象。

Bob Reselman是一名软件开发者、系统架构师和作家。他的专业领域涵盖软件开发技术、技术和文化。

© 版权声明

外贸建站推广

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...