ETJava Beta | Java    注册   登录
  • 搜索:
  • 适用于 .NET 稳定的官方OpenAI库

    发表于      阅读(1)     博客类别:Crawler     转自:https://www.cnblogs.com/Can-daydayup/p/18487118
    如有侵权 请联系我们删除  (页面底部联系我们)  

    前言

    今天给大家分享一个由 OpenAI 官方提供,旨在为 .NET 开发者提供方便的接口来访问 OpenAI 的 REST API。这个项目通过 NuGet 包的形式发布,使得 .NET 应用程序能够轻松地集成和使用 OpenAI 的各种 AI 模型和功能,如文本生成、图像生成、音频转写等。

    类库主要特性

    • 命名空间组织:该库按 OpenAI REST API 的功能区域组织成不同的命名空间,每个命名空间包含对应的客户端类。
    • 异步支持:所有客户端方法都提供同步和异步两种调用方式,方便开发者根据需要进行选择。
    • 环境变量和配置文件:推荐通过环境变量或配置文件来管理 API 密钥,以提高安全性。
    • 流式传输:支持流式传输聊天完成结果,允许在结果生成过程中就开始处理,减少等待时间。
    • 工具调用:允许在聊天完成请求中集成外部工具调用,增强模型的功能和准确性。
    • 结构化输出:支持使用 JSON Schema 来约束聊天完成的内容,使输出更加结构化和可控。
    • 支持最新模型: OpenAI 的最新旗舰模型,包括 GPT-4o、GPT-4o mini、o1-preview 和 o1-mini,均得到全面支持,确保开发人员能够使用最前沿的 AI 功能。

    命名空间组织

     

    安装 NuGet 包体验其功能

    安装OpenAI NuGet包既可以体验OpenAI 的各种 AI 模型和功能,如文本生成、图像生成、音频转写等。

    dotnet add package OpenAI

    以下是在 .NET 应用程序中使用 OpenAI 库的简单概述。以下代码片段演示了如何创建 OpenAI 客户端并使用它来完成聊天交互:

    using OpenAI.Chat;

    ChatClient client = new(model: "gpt-4o", apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY"));

    ChatCompletion completion = client.CompleteChat("Say 'this is a test.'");

    Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");


    项目源码地址

    更多项目实用功能和特性欢迎前往项目开源地址查看,别忘了给项目一个Star支持。

    优秀项目和框架精选

    该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没)。