.NET 中 Azure OpenAI 服务上的 GPT-3.5 Turbo 入门
阅读:154
点赞:0
一、介绍
AI 是任何现代应用程序开发的主要支柱之一。借助 Azure OpenAI 服务,将 GPT-35-Turbo 等强大的语言模型集成到我们的 .NET 应用程序中从未如此简单。本文将探讨如何使用 Azure OpenAI 服务根据用户提示生成文本响应。
二、为什么要使用 Azure OpenAI 服务?
-
微软提供的基于云的服务,提供先进的人工智能模型。 -
提供对 GPT 等自然语言处理模型的访问。 -
支持文本生成、语言翻译和内容摘要。 -
可以轻松将 AI 功能集成到应用程序中。 -
建立在 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 资源
-
登录 https://portal.azure.com/。 -
搜索“Azure OpenAI”并单击“创建”。 -
提供资源组、区域和定价层等基本详细信息。 -
资源部署后,我们可以在“Keys and Endpoints”部分找到 API 端点和密钥。
2. API 端点
-
部署 GPT-35-Turbo:在我们的 Azure OpenAI 资源下,转到模型部署部分并部署“GPT-35-Turbo”模型。我们稍后将在 API 调用中使用它。
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 生成文本响应,具体实现步骤如下:
-
初始化 OpenAI 客户端:使用 API 密钥和端点创建客户端。 -
设置请求选项:配置生成文本的参数。 -
发送请求:将用户的提示发送到 API。 -
处理响应:获取生成的文本并返回。
代码实现
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<string> GetContent(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 的基本集成流程,助你快速上手。