# 《实战AI大模型》DeepSeek API实战-第02节:DeepSeek API流式调用实战
作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
沉淀,成长,突破,帮助他人,成就自我。
- 本章难度:★★☆☆☆
- 本章重点:重点介绍DeepSeek的 API的流式调用,并提供实际的调研案例。旨在让大家做好准备,从从实战角度深入学习AI大模型,并能够举一反三,将学到的知识和技术灵活应用到自身实际项目中。
大家好,我是冰河~~
无论是大型互联网公司,还是中小型企业或者创业团队,亦或是一些比较优秀的开源项目,基本都在像AI方向发力。毫无疑问,AI已经成为一种趋势。那作为程序员的我们,不仅需要知道如何使用AI来提升工作效率和丰富日常生活,更是要了解AI背后的底层原理和核心技术。
# 一、前言
上一节中,主要跟大家探讨了下注册和接入DeepSeek的流程。并且分别用Java和Python实现了调用DeepSeek的接口,向DeepSeek发送数据并接收DeepSeek发回的响应数据。本节,主要是带着大家使用DeepSeek的流式调用。当以流式调用DeepSeek API时,然后大模型就会以流式传输的方式,一旦生成了部分答案就会马上返回给用户,跟大家在网页使用效果一样。
# 二、本节诉求
重点介绍DeepSeek的 API的流式调用,并提供实际的调研案例。旨在让大家做好准备,从从实战角度深入学习AI大模型,并能够举一反三,将学到的知识和技术灵活应用到自身实际项目中。
# 三、核心类设计
实现DeepSeek流式调用的核心类设计如图2-1所示。
可以看到,核心类关系比较简单,这里不再赘述。
# 四、Java版编码实现
本节,就基于Java实现DeepSeek API的流式调用。
注意:本节只给大家展示基于Java实现DeepSeek API流式调用的核心类编码实现,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。
(1)实现DeepSeekException异常类
DeepSeekException异常类是自定义的异常实现类,主要继承RuntimeException类。
源码详见:deepseek-case-02工程下的io.binghe.framework.deepseek.case02.exception.DeepSeekException。
public class DeepSeekException extends RuntimeException{
@Serial
private static final long serialVersionUID = 3637408787904462619L;
public DeepSeekException() {
super();
}
public DeepSeekException(String message) {
super(message);
}
}
2
3
4
5
6
7
8
9
10
11
12
13
(2)实现ApiConfig类
ApiConfig类主要是从环境变量读取DEEPSEEK_API_KEY和DEEPSEEK_API_URL,DEEPSEEK_API_KEY表示调用DeepSeek的apiKey,DEEPSEEK_API_URL表示调用DeepSeek的接口。
源码详见:deepseek-case-02工程下的io.binghe.framework.deepseek.case02.config.ApiConfig。
# 查看完整文章
加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码
