.NET 中 Azure OpenAI 服务上的 GPT-3.5 Turbo 入门

发布:2024-09-29 09:51 阅读:157 点赞:0

一、介绍

AI 是任何现代应用程序开发的主要支柱之一。借助 Azure OpenAI 服务,将 GPT-35-Turbo 等强大的语言模型集成到我们的 .NET 应用程序中从未如此简单。本文将探讨如何使用 Azure OpenAI 服务根据用户提示生成文本响应。

二、为什么要使用 Azure OpenAI 服务?

  1. 微软提供的基于云的服务,提供先进的人工智能模型。
  2. 提供对 GPT 等自然语言处理模型的访问。
  3. 支持文本生成、语言翻译和内容摘要。
  4. 可以轻松将 AI 功能集成到应用程序中。
  5. 建立在 Azure 安全且可扩展的基础架构之上。

三、什么是 GPT-35-Turbo?

GPT-3 的增强版称为 GPT-35-Turbo。经过优化,执行速度提高了 5 倍,适用于时间关键型应用程序所需的实时性能。

四、先决条件

在深入研究代码之前,请确保已准备好以下内容:

  • Azure 订阅
  • Azure OpenAI 服务访问 – 请求访问 Azure OpenAI
  • Visual Studio 或 Visual Studio Code

五、步骤 1:在 Azure 门户中设置 Azure OpenAI

1. 在 Azure 中创建 OpenAI 资源

  1. 登录 https://portal.azure.com/
  2. 搜索“Azure OpenAI”并单击“创建”。
  3. 提供资源组、区域和定价层等基本详细信息。
  4. 资源部署后,我们可以在“Keys and Endpoints”部分找到 API 端点和密钥。API 端点

2. API 端点

  • 部署 GPT-35-Turbo:在我们的 Azure OpenAI 资源下,转到模型部署部分并部署“GPT-35-Turbo”模型。我们稍后将在 API 调用中使用它。OpenAI

3. 安装 NuGet 包

使用 NuGet 安装 .NET 的客户端库:

dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.12

六、步骤 2:创建 .NET C# 项目

创建一个新的控制台应用程序:打开 Visual Studio 并使用 .NET 6.0+ 创建一个新的控制台应用程序。

控制台应用程序

七、步骤 3:编写代码以调用 GPT-35-Turbo API

功能目标

通过 Azure OpenAI API 生成文本响应,具体实现步骤如下:

  1. 初始化 OpenAI 客户端:使用 API 密钥和端点创建客户端。
  2. 设置请求选项:配置生成文本的参数。
  3. 发送请求:将用户的提示发送到 API。
  4. 处理响应:获取生成的文本并返回。

代码实现

using Azure.AI.OpenAI; // 引入 Azure OpenAI 库
using Azure; // 引入 Azure 库

namespace GenerativeAI // 命名空间定义
{
    public class AzureOpenAIGPT // 定义 AzureOpenAIGPT 类
    {
        // Azure OpenAI API Key
        const string key = "***********************************"// API 密钥
        // Endpoint Azure OpenAI URL
        const string endpoint = "https://********.openai.azure.com/"// API 端点
        // Model name or deployment name
        const string deploymentOrModelName = "MEC"// 部署名称或模型名称

        public async Task<stringGetContent(string prompt// 获取内容的方法
        {
            var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); // 初始化 OpenAI 客户端
            var chatCompletionsOptions = new ChatCompletionsOptions // 设置聊天完成选项
            {
                DeploymentName = deploymentOrModelName, // 指定模型名称
                Temperature = (float)0.5// 控制生成文本的随机性
                MaxTokens = 800// 最大生成标记数
                NucleusSamplingFactor = (float)0.95// 核采样因子
                FrequencyPenalty = 0// 频率惩罚
                PresencePenalty = 0// 出现惩罚
            };
            chatCompletionsOptions.Messages.Add(new ChatRequestUserMessage(prompt)); // 添加用户消息
            var response = await client.GetChatCompletionsAsync(chatCompletionsOptions); // 发送请求并获取响应
            return response.Value.Choices[0].Message.Content; // 返回生成的内容
        }
    }

    class Program // 主程序类
    {
        static async Task Main(string[] args// 主方法
        {
            var azureOpenAIGPT = new AzureOpenAIGPT(); // 实例化 AzureOpenAIGPT 类
            string prompt = "What is Azure?"// 定义提示
            string result = await azureOpenAIGPT.GetContent(prompt); // 获取生成的内容
            Console.WriteLine(result); // 打印结果
            Console.ReadLine(); // 等待用户输入
        }
    }
}

八、步骤 4:运行应用程序

运行控制台应用程序,它将向 GPT-35-Turbo 发送提示并在我们的终端中显示 AI 生成的响应。

九、输出

输出

十、结论

借助 Azure OpenAI 服务和 GPT-35-Turbo,我们可以在 .NET 中构建智能、响应迅速的应用程序。本文介绍了与 Azure OpenAI API 的基本集成流程,助你快速上手。