使用 .NET 开发 AI 应用(1):踏上旅程

在开启使用 .NET 开发 AI 应用的旅程之前,准备好.NET 开发环境是至关重要的。而安装 Visual Studio 2022 只是第一步,真正的挑战在于如何有效地集成强大的大型语言模型(LLM)。

本系列教程将指导你如何利用广受欢迎的 OpenAI 大型语言模型进行开发。鉴于直接访问 OpenAI 的 API 服务可能受到限制,我们将转而利用微软云的 Azure OpenAI 服务,这是一个可靠的替代方案,提供对 OpenAI 模型的访问。

Azure OpenAI 服务为开发者们提供了一系列 REST API,通过这些 API,你可以轻松接入 OpenAI 的尖端语言模型,如 GPT-4、GPT-3.5-Turbo 和嵌入式模型等。这些 API 是由 Azure OpenAI 与 OpenAI 共同开发的,确保了与 OpenAI 服务的高度兼容性。

但是在使用大语言模型之前,Azure OpenAI 要求你部署相关资源以激活服务。

创建 Azure OpenAI 服务

首先,你需要在 Azure 官网上注册并登录你的账户。

然后,在 Azure 门户中搜索 OpenAI 并进入其服务页面,点击“创建”按钮开始创建服务。

图片

按照屏幕上的指示填写必要的信息,完成后点击“创建”,你的 Azure OpenAI 服务就会被成功创建。

图片

接下来,部署大型语言模型是关键的一步。在服务页面的“资源管理->模型部署”区域,你可以管理现有部署或创建新的部署。

点击“新建部署”,从多个 OpenAI 基础模型中选择一个,例如“gpt-3.5-turbo-16k”。你还需要为你的部署指定一个名称,这个名称将在后续的开发过程中被使用。

图片

为了在代码中使用已部署的模型,你还需要获取密钥和终结点信息。这些信息可以在 Azure OpenAI 服务页面的“密钥和终结点”区域找到并复制。

图片

出于安全和便利的考虑,建议你将这些信息配置到环境变量中,这样可以避免在代码中重复输入这些信息。

图片

Hello AI

最后,让我们创建一个简单的控制台应用程序来测试你的大型语言模型。

通过 Visual Studio 2022 创建一个新的应用程序,并使用 Nuget 包管理器添加 Azure OpenAI 客户端库。

图片

然后编写如下代码:

string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_GPT_NAME");
string apiKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

var openAIClient = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(apiKey));

var completionOptions = new ChatCompletionsOptions
{
    DeploymentName = deploymentName
};

completionOptions.Messages.Add(new ChatRequestUserMessage("你好!"));

ChatCompletions response = await openAIClient.GetChatCompletionsAsync(completionOptions);
ChatResponseMessage assistantResponse = response.Choices[0].Message;
Console.WriteLine($"{assistantResponse.Content}");

运行你的程序,你将看到 AI 发出的问候:

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90050.html

Like (0)
guozi的头像guozi
Previous 2024年6月5日 上午11:21
Next 2024年6月5日 上午11:32

相关推荐

  • 怎么看网站是否被攻击,怎么看网页是不是被拦截了

    您是否曾经打开过某个网站,但发现无法访问该网站?这可能是因为该网站被阻止了。那么什么是被阻止的网站?是什么导致网站被阻止?了解如何判断网站是否被阻止以及遇到这种情况该怎么办,请继续…

    行业资讯 2024年5月9日
    0
  • 电商概念中seo是什么意思?

    电商概念中SEO是什么意思?这是一个让很多人都感到困惑的问题。随着电商行业的发展,SEO作为一种重要的网络营销手段,正逐渐受到越来越多企业的关注。那么,什么是SEO?它在电商中又扮…

    行业资讯 2024年4月15日
    0
  • 浅谈BPMNJS前端流程设计器

    引言 在任何行业和企业中,一定存在着各式各样的流程,请假流程、报销流程、入职流程、离职流程、出差流程、合同审批流程、出入库流程等。所有人都需要按照规定的流程办事,如果流程比较简单我…

    2024年4月2日
    0
  • seo关键词优化费用

    SEO关键词优化,这是一个让很多人头痛的话题。作为搜索引擎优化行业中的重要一环,它的费用构成也是备受关注的。但是,什么是SEO关键词优化?为什么需要进行SEO关键词优化?它的步骤和…

    行业资讯 2024年4月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注