使用 .NET 开始 OpenAI Completions

news/2024/5/20 7:41:46 标签: .net, openai, prompt, completions

作者:Luis Quintanilla
翻译:Alan Wang
排版:Alan Wang

欢迎来到有关 OpenAI 和 .NET 的博客系列!

如果您是新来的,请查看我们的第一篇文章,我们在其中介绍了系列内容,并向您展示如何在 .NET 中开始使用 OpenAI。

本文的重点是 Completions。让我们开始吧!

什么是 Completions?

Completions 是由像 GPT 这样的模型生成的响应。
你可以生成的响应类型包括:

文本

输入
将“Hello”翻译成西班牙语。
输出
“Hola”

代码

输入
创建一个 C# 函数,将两个整数相加
输出

int Add(int x, int y)
{
    return x + y
}

图像

输入
一只裹在毯子里的舒适的哈巴狗
输出
在这里插入图片描述
本文重点关注文本和代码的 completion。

Completion 是如何生成的?

生成 completion 需要几部分内容:

  • 模型
  • 用户输入(prompt

在这里插入图片描述
你可以把模型想象成一个有状态的函数。模型是一个系统,用于通过算法来识别数据中的模式。模型的能力取决于用来构建模型的数据和算法。有关不同类型模型及其功能的更多详细信息,请参阅 Azure OpenAI 服务模型文档。

OpenAI 模型(如 GPT)所使用的算法是被称为转换器的神经网络。更具体地说,像 GPT 这样的模型通常被称为大语言模型(LLM),这是因为它们的大小(大)和它们被设计出来所要解决的问题类型(语言)。

本文的范围不包含大语言模型的技术细节然而,如果你想了解更多,请查看文章《ChatGPT 在做什么…以及它为什么有效》以及论文《语言模型是少量实例学习者》。

用户输入(也称为 prompt)是指导模型并提供您希望模型输出的说明。为了获得更精确的结果,提示包含以下内容:

  • 上下文
  • 任务/提问

为二年级学生总结:

木星是距离太阳第五近的行星,也是太阳系中最大的行星。它是一个气态巨大行星,其质量是太阳的千分之一,却是太阳系其他所有行星质量总和的2.5倍。在夜空中,肉眼可见的最亮物体之一就是木星,早在有记载的历史以前就已被古代文明所知晓。木星得名于罗马神话中的主神朱庇特[19]。从地球上观察,木星足够明亮,以至于它反射的光可以投射出可见的阴影[20],通常是夜空中继月亮和金星之后第三亮的自然天体。

它可以拆分为:

  • 上下文:木星是距离太阳第五近的行星,也是太阳系中最大的行星。它是一个气态巨大行星,其质量是太阳的千分之一,却是太阳系其他所有行星质量总和的2.5倍。在夜空中,肉眼可见的最亮物体之一就是木星,早在有记载的历史以前就已被古代文明所知晓。木星得名于罗马神话中的主神朱庇特[19]。从地球上观察,木星足够明亮,以至于它反射的光可以投射出可见的阴影[20],通常是夜空中继月亮和金星之后第三亮的自然天体。

  • 任务/提问:为二年级学生总结这一内容:

最终的 completion 结果应该类似于:

木星是距离太阳第五近的行星,也是我们太阳系中最大的行星。它在夜空中非常明亮,自古以来就为人所知。它是以罗马神话中的主神朱庇特命名的。通常它是夜空中月亮和金星之后的第三亮物体。

这里重要的部分是任务/提问,因为这正是引导模型产生特定类型输出的内容。例如,如果我将任务/提问更改为“木星的质量与太阳相比如何?”,我可以预期产生类似“木星的质量是太阳的千分之一,或0.001个太阳质量。”的 completion 内容。

正如您所看到的,当您将 GPT 等模型与一个格式良好的提示结合使用时,它们为构建使用 AI 的各种类型应用程序提供了有效的基础。

prompt__69">在我的 prompt 中我可以提供多少文字?

您的 prompt 大小是用“token”来衡量的。通常,GPT 模型会将单词拆分为“token”。常见的多音节词通常是一个 token,而不太常见的词则会按音节拆分。每个模型都有一个 token 限制。更多详细信息,请查看 Azure OpenAI 服务模型文档。

要计算您 prompt 中的 token 数量,请使用 Microsoft.ML.Tokenizers NuGet 包。

查看 token 化示例获取更多详细信息。

如何开始生成我的 completion?

现在您知道了 completion 是什么以及它们是如何生成的,现在是时候开始生成您自己的 completion 了。开始的步骤:

  1. 注册或请求访问 OpenAI 或 Azure OpenAI 服务。
  2. 使用您的凭据开始尝试 OpenAI .NET 示例。

下一步

在下一篇文章中,我们将更详细地讨论关于 prompt 工程的话题,这是优化 prompt 以产生更精确答案的过程。

我们想听到您的声音

帮助我们了解更多关于您如何在应用程序中使用 AI 的信息。请花几分钟时间完成这个调查。

还有哪些您想要进一步了解的话题?请在评论区告诉我们。


http://www.niftyadmin.cn/n/850569.html

相关文章

Android 大神博客汇集

非常给力的CSDNBlog和个人Blog,这些Blog都有一个共同的特点,即内容详实,讲解透彻,也算是给后来的初学者指一条路吧!只要你下定决心跟随强者的脚步,成为人们眼中的大神,只不过是时间问题&#xf…

Ubuntu中安装和配置PHP

在Ubuntu上安装PHP,有两种方式:1 使用开发包的打包服务,例如使用apt-get命令;2 从源码构建PHP。本文章将详细描述这两种不同的安装方式。这里假设已经安照《Ubuntu中安装和配置Apache》的方法安装好Apache。 1、apt-get ubuntu $…

1457 Power Strings

1457 Power Strings 嗯?貌似这个题正解是KMP啊 题意不难理解,就是找一个字符串的最长循环节的长度 然后我们把每一段的也就是类似于前缀的东西维护一下hash值 接下来枚举每一段,用函数核查一下,至于核查函数其实和枚举差不多&…

安全狗2周年“全民大抽奖”活动

2019独角兽企业重金招聘Python工程师标准>>> 为回馈广大用户朋友对安全狗的厚爱,安全狗举办了2周年庆活动,从7月1日至7月31日,安全狗为大家准备了生日同庆会、漏洞大悬赏、报告有奖转、备份送空间、全民大抽奖等五波活动。 2013年…

还原数据库时不能独占访问

在还原数据库时,可能遇到“Exclusive access could not be obtained because the database is in use”错误。很多时候这是一个经常遇到的错误,这是因为我们在尝试恢复数据库时,这个数据库却正在被另一个用户使用。有很多种可能的原因导致这个…

隐藏浏览器滚动条(转)

html,body{overflow:hidden;} html{}主要针对IE6,FF和IE7设置body overflow属性为hidden即可。同时亦可通过scroll属性禁用滚动条。将窗口滚动条禁用,而不是隐藏。但是通过JS控制scroll属性时,在IE6可能会失效~所以建议还是使用ov…

Linux制作静态库和动态库

0 前言 本文总结如何编译生成静态库和动态库。 1 静态库 1.1 生成.o文件 用-c生成.o文件(用.o文件来生成库文件——包含静态库和动态库)。 gcc -c apuelib.c # 利用.c文件生成.o文件 1.2 生成静态库 通过.o文件生成静态库文件 ar rcsv libapuelib.a apuelib.o # 库名要以l…

致母亲

致母亲 今天,是一个特别日子 是我孙浩翔14岁整的生日,这是我有生以来最难忘的生日 不是因为这次生日的宴席多么的庞大,也不是因为,这次的蛋糕是多么的美味,而是因为,我真的长大了 妈妈,其实我给…