项目介绍:OpenAI .NET API库
OpenAI .NET库旨在为.NET应用程序提供便捷的OpenAI REST API访问方式。这一库是通过我们的OpenAPI规范,并与微软合作生成的。通过这个库,开发者可以轻松地在.NET环境中调用OpenAI的各种API功能,例如聊天补全、文本嵌入、图像生成、语音识别等。
开始使用
先决条件
使用OpenAI REST API需要一个API密钥。用户需要先创建一个OpenAI账户或登录现有账户,然后在API密钥页面创建一个新的密钥,并妥善保存以防泄漏。
安装NuGet包
在您的.NET项目中添加OpenAI客户端库,可以通过集成开发环境(IDE)或在.NET CLI中运行以下命令:
dotnet add package OpenAI
需要注意的是示例代码是使用.NET 8编写的,该库兼容所有.NET Standard 2.0应用程序。
使用客户端库
命名空间组织
OpenAI .NET库按照功能区域组织命名空间,每个命名空间都有一个对应的客户端类,例如:
OpenAI.Assistants
对应AssistantClient
OpenAI.Audio
对应AudioClient
OpenAI.Chat
对应ChatClient
使用异步API
每个客户端方法都有一个异步变体。例如,ChatClient
的CompleteChat
方法的异步版本为CompleteChatAsync
,使用起来则需要加上await
关键字。
使用OpenAIClient
类
OpenAIClient
类在需要同时使用多个功能区客户端时提供了便利性。通过指定API密钥来创建该类的实例,可以共享实现细节,以提升效率。
使用高级功能
聊天补全
OpenAI .NET库支持不同类型的聊天补全,包括流式输出、带工具和函数调用、结构化输出等。通过这些功能,开发者可以实现实时响应、调用外部信息以更好地回应用户需求等特点。
嵌入生成
文本嵌入使得可以度量文本字符串的相关性。例如,旅游网站可以用文本嵌入来为用户搜索合适的酒店。
图像生成
通过描述场景,内饰设计师等专业人士可以使用高质量的图片生成功能激发灵感。图像生成需要指定生成的prompt
以及质量、尺寸等参数。
音频转录
支持使用Whisper模型将音频文件转录为文本,适用于对话记录等应用场景。
助手功能
通过创建助手,用户可以让助手基于给定的数据进行分析并回答问题。助手功能目前处于测试阶段。
Azure OpenAI的使用
对于Azure OpenAI场景,可以使用Azure OpenAI的.NET客户端库。这一库是OpenAI .NET库的配套工具,提供了顺畅的Azure特定操作支持。
高级场景
客户端方法模拟
OpenAI .NET库被设计为支持模拟,以便在测试中可以覆盖客户端方法。
自动重试错误
默认情况下,客户端类会对某些错误自动重试,例如请求超时、过载等。
可观察性
OpenAI .NET库支持开放遥测下的分布式跟踪和指标,便于性能监测和调试。
通过OpenAI .NET库,开发者能够在.NET环境中以更加简便的方式集成和使用OpenAI的强大功能,为应用程序带来更多可能性和智能化特性。