# 《实战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);
    }
}
1
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)知识星球,解锁完整技术文章、小册、视频与完整代码