(一) Dotnet通过OpenAI方式接入DeepSeek
本文介绍了如何在.NET 8控制台项目中集成DeepSeek API(兼容OpenAI接口)进行AI对话功能。主要内容包括:1)创建.NET 8控制台项目并添加Microsoft.Extensions.AI相关NuGet包;2)在DeepSeek平台申请API Key并配置到环境变量;3)代码实现通过IChatClient调用DeepSeek API进行非流式对话。关键步骤包含API配置、环境变量

环境准备
本地使用vs2022 创建控制台项目,选择.net8 作为基础版本。
下载依赖库
下载抽象核心库Microsoft.Extensions.AI.Abstractions。通过 nuget 进行下载。
dotnet add package Microsoft.Extensions.AI.Abstractions --version 9.9.1
添加Microsoft.Extensions.AI.OpenAI 用于连接兼容OpenAI 请求接口的其他平台模型。
dotnet add package Microsoft.Extensions.AI.OpenAI --version 9.9.1-preview.1.25474.6
项目引用依赖如下:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.AI.Abstractions" Version="9.9.1" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.9.1-preview.1.25474.6" />
</ItemGroup>
</Project>
为简化调测,直接使用国内deepseek 进行模型测试,本身它也兼容OpenAi 对应Api接口访问,官方原话如下:
DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。
出于与 OpenAI 兼容考虑,您也可以将base_url设置为https://api.deepseek.com/v1来使用,但注意,此处v1与模型版本无关。
访问deepseek,登陆后如下界面。
创建Api Key
点击右上方API 开放平台,选择API Keys 创建新的API Key,需要记住首次创建后,当前APIKey 将无法直接查看。
对应API Key 的名称用于方便区分用途,可随意输入,此处为ds-clientchat,点击保存,弹出API Key,需要进行复制到本地备用。
创建成功。
添加Api Key 到环境变量(调试)
选中项目单击右键,在【调试】-【常规】-【打开调试启动项文件UI】,添加环境变量OPENAI_API_KEY,对应值设置为通过deepseek 开发平台生成的API Key。
控制台代码
创建IChatClient 实例。
internal class Program
{
async static Task Main(string[] args)
{
string apikey = Environment.GetEnvironmentVariable("OPENAI_API_KEY");// 通过环境变量获取apikey
string model = "deepseek-chat"; // 模型名称
string endpoint = "https://api.deepseek.com/v1"; // deepseek中提供兼容openai的访问api
// 创建IChatClient实例
IChatClient client = new OpenAI.Chat.ChatClient(model, new ApiKeyCredential(apikey), new OpenAIClientOptions {
Endpoint = new Uri(endpoint) // 指定api访问地址
})
.AsIChatClient(); // 将chatclient转换为ichatclient实现实例
// 获取http请求响应(非流式)
Console.WriteLine(await client.GetResponseAsync("What is AI?"));
Console.ReadLine();
}
}
运行调试项目需要等待一定时间,毕竟不是流式输出,请求结果需要执行完成后才能够获取到返回结果。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)