【.NET AI Books 前言】Azure OpenAI Service 入门

本书是为 .NET 开发者而写的,让 .NET 开发者能快速掌握 Azure OpenAI Service 的使用技巧。

ChatGPT 的到来意味着我们已经置身于 AI 引起的全新变革中,作为开发者你可能将面临几种改变:

  1. GPT 模型到来后,如何去架构好企业解决方案?

  2. Prompt 工程的到来,开发者是否能成功转型?

  3. 如何打通 GPT 和企业数据?

  4. 原来的人工智能技术还有用吗?

  5. Azure OpenAI Service 和 OpenAI Service 比有什么优势?

通过本书的相关章节,将逐一告诉大家。

关于 Azure OpenAI Service

Azure OpenAI Service 和 OpenAI Service 之间有什么不同呢 ?

  • 安全性 - Microsoft Azure OpenAI Service 有严格的数据、网络、身份安全机制,为企业的信息安全保驾护航。这就包括了密钥自动加密服务、数据隐私服务以及内容管理等。

  • 稳定性 - 通过 Microsoft Azure OpenAI Service 为企业带来更稳定的接口访问。

  • 可靠性 - 具备业务持续性和灾难恢复,当出现大范围故障时,还能从区域性故障中恢复,可以即时执行,而且成本非常低。

使用 Azure OpenAI Service

要使用 Azure OpenAI Service 你需要拥有一个 Azure 账号,并通过该账号去申请 Azure OpenAI Service 。申请通过后,你就可以像一般的 Azure 服务一样通过资源组的方式,开始创建属于自己的 Azure OpenAI Service。

STEP 1. 进入 Azure Portal (https://portal.azure.com/) ,点击创建资源:

选择 Azure OpenAI 进行创建:

STEP 2. 创建过程需要选择你的 Azure 订阅,并创建相关资源组,以及选择区域(建议选择 South Central US),并给一个唯一的名字,并选择价格,如图:

STEP 3. 创建成功后,选择模型部署选项,点击创建:

然后选择你所需要的模型进行部署:

完成后就可以看到相关的列表。

注意:现在 GPT-4 需要额外申请,具体请参考:https://aka.ms/oaiapply

通过 Azure OpenAI Studio 管理你的 OpenAI 应用场景

通过 Azure OpenAI Studio(https://oai.azure.com/portal)你可以迅速完成 Azure OpenAI 模型的应用、部署及管理。我在这里选择一个简单的总结场景来完成相关的展示:

1、选择总结文章的示例场景:

2、点击进入 Playground 后,你就可以输入相关 Prompt 来完成一些应用设定:

你也可以选择不同的参数进行调整,当然选择 View code 也可以快速地查看相关代码,直接引用就可以给 Python 和 .NET 使用,其他语言也可以参考 curl,json 进行调整:

补充一下引用代码时别忘记添加 Key,Key 所在位置在创建的 Azure OpenAI 资源里:

Azure OpenAI Service 的能力和概念

我们在使用 Azure OpenAI Service 的时候,都会碰到一些概念,我们进行一个简单的入门:

Azure OpenAI 的能力

Azure OpenAI 具备文本生成,代码生成,图像生成的三大能力:

1. 文本生成

文本生成能力具备文本归纳、分类、翻译、问答、创作、推荐等能力。在 Azure OpenAI Service 上,你可以通过部署 GPT-3 / GPT-3.5 / GPT-4 的模型为应用提供文本生成功能。我们如果在无需编码的时候,你可以使用 ChatGPT 体验强大的功能,当然你也可以通过 Azure OpenAI Studio 的 Playground 体验 ChatGPT。

2. 代码生成

如果你已经是 GitHub Copilot 的用户,有惊艳到吗?你希望拥有一个自己企业的智能代码助手吗?通过 Azure OpenAI Service 提供的 Codex 模型就可以配合完成。Codex 模型基于 GPT-3,经过优化以理解和编写代码。这些模型基于自然语言以及用来自公共存储库的数十亿行代码进行了训练。Codex 能够从自然语言指令(如代码注释)生成代码,并且可以建议完成代码函数的方法。

3. 图像生成

处理图像的模型称为 DALL-E。图像功能包括创建图像、编辑图像和创建图像变体这三类。

Azure OpenAI 的参数设定

在 Azure OpenAI Studio 的 Playground 中,可以看到一些参数,这些参数对于生成式 AI 是非常重要的,下面我们就来学习一下:

Temperature

是控制生成的文本输出的随机程度的参数。Temperature 值越高,输出的结果越随机,而值越低,输出的结果则越趋向于确定性。

Token

是指在自然语言处理中的一个概念,它是文本中的一个基本单元,通常是一个单词或一个标点符号。在自然语言处理中,为了方便处理文本,我们需要将文本中的每个单词或标点符号都转换为一个数字表示,这个数字就被称为 Token。在 OpenAI 的一些模型中,Token 还可以包括特殊的 Token,如起始 Token、结束 Token,用于指示模型的输入和输出。在使用 OpenAI 的模型进行训练或生成文本时,需要对文本进行分词和 Token 化处理,以便对文本进行处理和表示。

Top K

是指在自然语言处理中,使用的一个参数,用于控制生成文本的多样性。具体来说,Top K 参数指的是在生成下一个词时,只考虑概率值最高的前 K 个候选词,而不是所有可能的词。这样可以使得生成的文本更加多样化和有趣,避免出现过于模板化和单调的文本。通常情况下,K 的值会设置在几十到几百之间,具体取决于任务和数据集的不同。

Top P

是在自然语言处理中,用于控制生成文本的多样性的一种技术。具体来说,Top P 参数指的是在生成下一个词时,只考虑概率累加值最高的一组词,这组词的概率之和大于等于给定的阈值 P。而不是考虑所有可能的词。这个阈值 P 通常被设置在 0.1 到 0.9 之间,具体取决于任务和数据集的不同。Top P 技术可以使得生成的文本更加多样化,避免出现重复和单调的文本。

Frequency Penalty

是在自然语言处理中,用于控制生成文本的多样性的一种技术。具体来说,Frequency Penalty 可以用于降级那些在之前的生成文本中出现频率较高的词语,在生成下一个词时,这些词语的概率会被降低,从而鼓励模型生成更加多样化的文本。通过调整 Frequency Penalty 的大小,可以实现对文本多样性和流畅性的平衡。

Presence Penalty

是在自然语言处理中,用于控制生成文本的多样性的一种技术。Presence Penalty 可以用于降级那些在之前的生成文本中已经出现过的词语,在生成下一个词时,这些词语的概率会被降低,从而鼓励模型生成更加多样化的文本。与 Frequency Penalty 不同的是,Presence Penalty 不仅考虑了词语的出现频率,还考虑了词语是否已经出现过。通过调整 Presence Penalty 的大小,可以实现对文本多样性和流畅性的平衡。

.NET 开发者入门

.NET for Azure OpenAI Service 基础

Azure OpenAI Service 提供了 REST 的 API 给不同语言进行调用,针对 .NET 用户更发布了基于 Azure OpenAI 的 .NET SDK , .NET 开发者可以快速接入进行 Azure OpenAI 应用场景的开发。

dotnet add package Azure.AI.OpenAI

当然你也可以用 HttpClient 的方式直接访问 endpoint 来完成。

对于要探索 Azure OpenAI Service 的 .NET 开发者,个人建议使用 Notebook 的方式来配合。你只需要通过最新的 .NET SDK 7 和 Visual Studio Code 及 .NET Extensions Pack 的 Visual Studio Code 插件就可以通过 Polyglot Notebook 做交互式的开发体验。这样的好处是,更方便调整参数和优化 OpenAI 的代码。

以下是用 Polyglot Notebook 调用 Azure OpenAI Service 中 GPT-3.5 turbo 的 Notebook 实现:

Semantic Kernel 面向 AI 编程的框架

介绍一个微软最新的面向 AI 编程的开源框架 - Semantic Kernel (https://github.com/microsoft/semantic-kernel) 。

生成式人工智能诞生后,从告诉机器要怎么做转变为告诉机器必须要做什么,这就降低了对于编码的依赖。例如翻译、归纳、总结再不用做具体算法了,只需要用简单的提示语,AI 就可以帮你完成。那就是说我们需要做的是写 Prompt 触发人工智能做事,这也是为什么现在 Prompt 工程人员这么值钱的原因。

Prompt 的内容涵盖不同的场景,不同的任务,涉及到各式各样的工作流程。如何管理好这些 Prompt 让生成式 AI 能完成任务,这是大家所关注的。还有通过上下文对话作出不同的响应,让 AI 注入到对话流中也很重要。Semantic Kernel 就是用来管理和解决上下文对话以及各种技能的框架。

Semantic Kernel 是面向 AI 编程的最佳方案,可以结合不同场景、综合技能和意图,支持多语言开发的框架。.NET 开发者可以通过 Semantic Kernel,更高效地使用生成式 AI 进行应用开发。本书会基于 SK 来展开,让大家在学习 Azure OpenAI 的过程中,同时学习 Semantic Kernel 相关知识。

本章作为前言部分,主要介绍了 Azure OpenAI Service 的相关功能,以及针对 .NET 开发者的 SDK。希望以此作为 AI 开发者入门的第一步。

相关资料

  • 免费 Azure 申请:https://azure.com/free

  • Azure for Student 申请(需要 edu 邮箱):https://aka.ms/studentgetazure

  • Azure OpenAI Service 申请:https://aka.ms/oaiapply

  • 关于 Semantic Kernel:https://github.com/microsoft/semantic-kernel

点我前往 AOAI 官方文档~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26284.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github基本操作

目标 把本地的一个项目放到github上,方便浏览和管理 步骤 要将本地代码推送到 GitHub 上,您需要执行以下步骤: 1. 在 GitHub 上创建一个新的仓库。 2. 在本地计算机上使用 Git 命令行工具初始化一个新的 Git 仓库。 3. 将本地代码添加到 …

如何构造个人 AI 策略:从 AI 绘画的演进与 ChatGPT 现状出发?

持续关注 AI 相关探索:https://github.com/phodal/ai-research PS:就本文的结论而言,我相信你已经或多或少的有所体会了。也因此,本文更多的是展现一个思考的过程,而不是一个纯粹的结论。 AIGC 是什么?它是…

如何利用CPU Cache写出高性能代码,看这些图就够了!

世界就像个巨大的马戏团,它让你兴奋,却让我惶恐,因为我知道散场永远是——有限温存,无限辛酸。——卓别林 我们平时编写的代码最后都会交给CPU来执行,如何能巧妙利用CPU写出性能比较高的代码呢?看完这篇文章…

对视频剪辑应用灰度图像变换+Moviepy生成灰度视频处理遇到几个有意思的问题

一、引言 最近在学习图像处理的《直方图处理》,对直方图均衡处理效果感觉非常有用。 以前学习Moviepy音视频剪辑时,用的卓别林的一个黑白视频片段,感觉视频的噪点比较多,画面也整体偏暗,不禁想看看如果对其进行直方图…

大厂正在「去大厂化」

大厂逐渐不再是「大厂」。 撰文 | 佘宗明 大厂还值得去吗? 这成了摆在很多年轻人面前的问题。 搁几年前,这都不能称之为问题。 扁平化管理、快速上升空间、弹性工作制……比JK制服还诱惑。「财务自由」的召唤,更是胜却人间无数情怀。 那现在呢…

无心剑中译伊玛·拉扎罗斯《新巨人·自由女神》

文章目录 无心剑中译伊玛拉扎罗斯《新巨人自由女神》译友们中译伊玛拉扎罗斯《新巨人自由女神》1. 岩子版2. MNES版3. 天河版4. 铁冰版5. 好好做虾版6. 愚冠版卓别林十大经典语录卓别林最伟大的演讲《为自由而战斗》无心剑中译迈克尔杰克逊《自由无拘束》《被讨厌的勇气》- 什么…

当我真正开始爱自己——查理·卓别林

As I began to love myself I found that anguish and emotional sufferingare only warning signs that I was living against my own truth.Today, I know, this is “AUTHENTICITY”. As I began to love myself I understood how much it can offend somebodyAs I try to f…

快速做出原型

给定五六个维度约束下对比两个软件的表现,要用数据说话。这五六个维度,不限于丢包率,固有延时,抖动等。 若两个维度,一张表格即可展现,若四个维度,一个四维立方体可以展示,二维单元…

moviepy第一天|模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频

MoviePy(完整文档)是一个用于视频编辑的Python库:剪切,串联,标题插入,视频合成(又名非线性编辑),视频处理和创建自定义效果。有关一些使用示例,请参阅库。 MoviePy可以读取和写入所有最常见的音频和视频格式,包括GIF,并在Windows / Mac / Linux上运行,使用Python …

《新摩登时代》:卓别林演绎共识与同步流程优化

FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造。开源工作组成员包括博彦科技、华为、深证通、神州数码、四方精创、腾讯、微众银行、亦笔科技和越秀金科等金链盟成员机构。 代码仓库:htt…

卓别林论Scrum价值观:当我真正开始爱自己

As I began to love myself 当我真正开始爱自己, I found that anguish and emotional suffering are only warning signs that I was living againstmy own truth. 我才认识到,所有的痛苦和情感的折磨,都只是提醒我:我的生活违背…

当我开始爱自己——卓别林

当我真正开始爱自己, 我才认识到,所有的痛苦和情感的折磨, 都只是提醒我:活着,不要违背自己的本心。 今天我明白了,这叫做 『真实』。 当我真正开始爱自己, 我才懂得,把自己的…

前端每日挑战の纯CSS画卓别林

前端每日挑战の纯CSS画卓别林 内容摘要内容学习代码 内容摘要 伤心啊,写了好几天博客没人看~不过没关系,写博客的主要目的还是为了技术积累。在segmentFault上看到有前端每日专栏,觉得不错,正好css基础还不够巩固决定跟着该专栏每…

程序员与卓别林

时代变迁,许多电影已经过时了,被人们遗忘了,然而,总有几部电影,还留着人们的记忆中。因为人们认为,它们具有不可磨灭的精神价值。这些电影,就是我们常说的经典电影。《摩登时代》,就…

FISCO BCOS 《新摩登时代》:卓别林演绎共识与同步流程优化

作者:石翔|FISCO BCOS 核心开发者 共识与同步的流程优化,是FISCO BCOS性能优化迈开的第一步。仅依靠这一流程优化,就给系统TPS带来可观的1.75倍提升。但这不是目的,其目的在于确定了共识的主导地位,排除了…

脏话越多,代码越好!

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 作者丨程序员月亮 来源丨了不起的程序员(ID:great_developer) 你好呀,我是月亮,一个90后的老程序员啦~ 平…

基于langchain 的文档问答 最佳实践(附源码)

文档问答的原理 文档读取并切割,用句向量 向量化,存入向量数据库问题向量化,在向量数据库中进行相似性检索,并存出top K把问题和top K 答案组成 prompt 并发给大模型,等大模型答案 这里面涉及到的技术点有&#xff1a…

chatgpt赋能python:Python为什么闪退?

Python为什么闪退? Python作为一种高级编程语言,已经赢得了世界各地许多开发者的青睐。但是,有时候Python会因为各种原因而突然闪退,给开发者带来极大的困扰。那么,Python为什么会闪退呢? 1. 内存泄漏 内…

Trexquant | 量化多岗位招聘(全职+实习)

量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W关注者。 具体投递方式 投递邮箱 tqchina_resumetrexquant.com 简历命名 岗位-姓名…

京东各大城市内推岗位(2021.2.7更)

北京: 上海: 广东: 四川: 重庆: 暂无 杭州: 暂无 陕西: 湖北: 湖南: 暂无 岗位每周更新一次 因为内推系统只能以省份维度查看,想了解具体城市和岗…