
OpenAI .NET API 库是一个专为 .NET 应用程序设计的客户端库,旨在为开发者提供便捷的方式访问 OpenAI 的 REST API。该库由 OpenAI 与微软合作开发,基于 OpenAPI 规范生成,确保了与 OpenAI 服务的高度兼容性和可靠性。
使用 NuGet 包管理器安装 OpenAI .NET API 库:
dotnet add package OpenAI --prerelease
以下是使用聊天完成 API 的简单示例:
using OpenAI.Chat; ChatClient client = new(model: "gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); ChatCompletion completion = client.CompleteChat("Say 'this is a test.'"); Console.WriteLine($"[ASSISTANT]: {completion}");
流式传输允许在生成完整响应之前开始处理部分结果:
CollectionResult<StreamingChatCompletionUpdate> updates = client.CompleteChatStreaming("Say 'this is a test.'"); Console.WriteLine($"[ASSISTANT]:"); foreach (StreamingChatCompletionUpdate update in updates) { foreach (ChatMessageContentPart updatePart in update.ContentUpdate) { Console.Write(updatePart); } }
OpenAI .NET API 库支持在聊天完成过程中调用自定义函数和工具:
private static readonly ChatTool getCurrentLocationTool = ChatTool.CreateFunctionTool( functionName: nameof(GetCurrentLocation), functionDescription: "Get the user's current location" ); // ... 定义更多工具和函数 ChatCompletionOptions options = new() { Tools = { getCurrentLocationTool, getCurrentWeatherTool }, }; ChatCompletion chatCompletion = client.CompleteChat(messages, options); // ... 处理工具调用和响应
文本嵌入可用于测量文本字符串之间的相关性:
using OpenAI.Embeddings; EmbeddingClient client = new(model: "text-embedding-3-small", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); string description = "Best hotel in town if you like luxury hotels. ..."; Embedding embedding = client.GenerateEmbedding(description); ReadOnlyMemory<float> vector = embedding.Vector;
OpenAI .NET API 库支持使用 DALL-E 3 模型生成图像:
using OpenAI.Images; ImageClient client = new(model: "dall-e-3", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); string prompt = "The concept for a living room that blends Scandinavian simplicity with Japanese minimalism ..."; ImageGenerationOptions options = new() { Quality = GeneratedImageQuality.High, Size = GeneratedImageSize.W1792xH1024, Style = GeneratedImageStyle.Vivid, ResponseFormat = GeneratedImageFormat.Bytes }; GeneratedImage image = client.GenerateImage(prompt, options); BinaryData bytes = image.ImageBytes;

OpenAI .NET API 库提供了与 Azure OpenAI 服务集成的便捷方法:
AzureOpenAIClient azureClient = new( new Uri("https://your-azure-openai-resource.com"), new DefaultAzureCredential()); ChatClient chatClient = azureClient.GetChatClient("my-gpt-35-turbo-deployment"); ChatCompletion completion = chatClient.CompleteChat( [ new SystemChatMessage("You are a helpful assistant that talks like a pirate."), new UserChatMessage("Hi, can you help me?"), new AssistantChatMessage("Arrr! Of course, me hearty! What can I do for ye?"), new UserChatMessage("What's the best way to train a parrot?"), ]); Console.WriteLine($"{completion.Role}: {completion[0].Content.Text}");
OpenAI .NET API 库提供了协议方法,允许 更直接地访问 REST API:
ChatClient client = new("gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); BinaryData input = BinaryData.FromBytes(""" { "model": "gpt-4o", "messages": [ { "role": "user", "content": "How does AI work? Explain it in simple terms." } ] } """u8.ToArray()); using BinaryContent content = BinaryContent.Create(input); ClientResult result = client.CompleteChat(content); BinaryData output = result.GetRawResponse().Content; // ... 解析输出
客户端类默认会自动重试某些错误,如请求超时、服务器内部错误等,最多重试三次,并使用指数退避策略。
OpenAI .NET API 库支持使用 OpenTelemetry 进行实验性的分布式跟踪和指标收集,有助于监控和诊断应用程序性能。
OpenAI .NET API 库为 .NET 开发者提供了强大而灵活的工具,使其能够轻松集成 OpenAI 的各种人工智能能力。通过提供直观的 API、流式传输支持、工具调用等高级功能,该库极大地简化了 AI 应用程序的开发过程。无论是构建聊天机器人、生成图像,还是进行自然语言处理,OpenAI .NET API 库都是一个值得信赖的选择。
开发者可以访问 OpenAI .NET API 库的 GitHub 仓库 获取更多信息、示例代码和最新更新。同时,我们也鼓励开发者积极参与到该开源项目中,贡献代码、报告问题或提出改进建议,共同推动 AI 技术在 .NET 生态系统中的发展。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

