Dotnet通过OpenAI方式接入DeepSeek
环境准备
本地使用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");// 通过环境变量获取apikeystring 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();}
}
运行调试项目需要等待一定时间,毕竟不是流式
输出,请求结果需要执行完成后才能够获取到返回结果。