Appearance
如何在 .NET 项目中集成 Azure OpenAI 服务
通过 Azure.AI.OpenAI 客户端库,开发者可以将 GPT-4o、DALL-E 3 和 Whisper 等 OpenAI 模型快速集成到 .NET 应用程序中,实现从简单聊天到复杂 RAG 架构的 AI 功能。
为什么需要这个技能
在企业级 .NET 开发中,直接调用 REST API 往往会导致大量重复的样板代码且缺乏类型安全。使用官方 SDK 可以通过强类型对象(如 ChatClient、ChatCompletion)管理会话,并能无缝集成 Azure 的企业级特性,如 Entra ID 身份验证和 AI Search 知识库。
本技能涵盖了从基础身份验证到高级功能(如结构化输出、函数调用和流式传输)的完整实现路径。
适用场景
- 智能助手开发:构建支持多轮对话的 AI 聊天机器人。
- 内容自动化生成:利用 DALL-E 3 生成图像或利用 GPT 模型批量生成文本。
- 企业知识库 (RAG):将 Azure AI Search 与 OpenAI 结合,实现基于私有数据的问答。
- 语音处理:利用 Whisper 模型实现音频转录或文本转语音。
核心工作流
1. 安装与环境配置
首先安装必要的 NuGet 包:
bash
dotnet add package Azure.AI.OpenAI
# 若需兼容原 OpenAI 接口
dotnet add package OpenAI配置环境变量:AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_API_KEY 及部署名称 AZURE_OPENAI_DEPLOYMENT_NAME。
2. 客户端初始化
推荐在生产环境中使用 DefaultAzureCredential 以增强安全性:
csharp
using Azure.Identity;
using Azure.AI.OpenAI;
AzureOpenAIClient client = new(
new Uri(Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!),
new DefaultAzureCredential());3. 实现核心功能
- 聊天补全:通过
GetChatClient获取客户端,使用CompleteChatAsync发送消息。 - 流式输出:使用
CompleteChatStreamingAsync以await foreach方式实时获取 Token 响应,提升用户体验。 - 结构化输出:在
ChatCompletionOptions中定义 JSON Schema,强制 AI 返回符合特定格式的 JSON 数据。 - 函数调用 (Tools):通过
ChatTool.CreateFunctionTool定义外部工具,让 AI 能够调用本地函数获取实时数据。
4. RAG 集成
通过在 ChatCompletionOptions 中添加 AzureSearchChatDataSource,可直接将 AI Search 索引作为数据源,实现增强检索生成。
下载和安装
下载 azure-ai-openai-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐