JBoltAI_SpringBoot如何基于Deepseek官网API区分 R1大模型深度思考和具体回答的内容?

R1大模型推出后,Deepseek官网的API也更新了,我们可以看到 chat 接口的响应数据结果里多了一个reasoning_content 字段

于是我们的JBoltAI SDK 以及 SpringBoot版以及Jfinal版JBoltAI Platform 迅速跟进,提供了对深度思考的支持:

scss 复制代码
 //1. 将大模型注册为全局资源
ResourceCenter.registerAI("ai-chatgpt1", AIModel.DEEP_SEEK, JBoltAITestConfig.DEEPSEEK_API_KEY);

//2.指定使用DeepSeek大模型发起聊天,会自动从全局资源中调取deepseek的资源
JBoltAI.chat(AIModel.DEEP_SEEK).setModelName("deepseek-reasoner")
        .contextMessages(Arrays.asList(
                new AIMessage(AIMessageRole.user, "你好,我叫张三丰,请问你是谁?"),
                new AIMessage(AIMessageRole.assistant, "你好,我是人工智能大模型,有什么我可以帮你的")
        ))
        .prompt("请你重复下我的名字")
        .onThinking((e, think, status) -> {
            if (status == ThinkStatus.START) {
                System.out.println("===== 思考开始 =============");
            } else if (status == ThinkStatus.RUNNING) {
                System.out.print(think);
            } else if (status == ThinkStatus.COMPLETE) {
                System.out.print(think);
                System.out.println("===== 思考结束 =============");
                System.out.println("===== 开始回答 =============");
            }
        })
        .onSuccess((e,msg) -> {
            System.out.print(msg.getContent());
        }).publish().await();

在上面的例子中,我们模拟构造了一个上下文环境,让AI基于历史消息进行回答。

这里的核心就是onThinking 回调和 onSuccess 回调。在onThinking 回调中我们可以获取到R1大模型的思考过程,通过status可以知道当前思考过程的进度。在onSuccess 回调中我们可以获取到R1大模型的正式回答内容。

我们发起的AI聊天是以event事件的形式执行的,框架底层有一个事件调度器,会根据系统负载和ai资源的可用情况,自动分配资源给事件去执行。

默认情况下,AI聊天事件是流式输出的,所以onThinkgingonSuccess 回调会随着AI的流式响应而触发多次。当然我们也可以控制事件的输出方式为非流式的,这一点,我们的JBoltAI 框架是非常灵活的,并且我们以统一的编码方式,让开发者可以非常容易的去使用近二十种主流的大模型、平台,开发者无需关心各个模型的参数差异,接口差异,无需更改代码就可以无缝切换不同的大模型。

欢迎大家使用的JBoltAI 开发框架,来加速开发你的AI应用和知识库应用。

相关推荐
禁默13 分钟前
不仅是 FlashAttention:揭秘 CANN ops-transformer 如何重构大模型推理
深度学习·重构·aigc·transformer·cann
未来可期叶21 分钟前
CANN图编译基础——AIGC模型计算图优化的核心逻辑
aigc
种时光的人29 分钟前
CANN仓库核心解读:ascend-transformer-boost解锁AIGC大模型加速新范式
深度学习·aigc·transformer
秋邱1 小时前
AIGC 的“隐形引擎”:深度拆解 CANN ops-math 通用数学库的架构与野心
架构·aigc
种时光的人1 小时前
CANN仓库核心解读:asnumpy打通AIGC大模型NPU原生计算与数据交互的核心通道
aigc
lili-felicity1 小时前
#CANN AIGC文生图轻量推理:Prompt优化算子插件开发
prompt·aigc
爱吃烤鸡翅的酸菜鱼1 小时前
CANN ops-nn激活函数与池化算子深度解析
网络·开源·aigc
ujainu1 小时前
CANN仓库中的AIGC可持续演进工程:昇腾AI软件栈如何构建“活”的开源生态
人工智能·开源·aigc
爱吃烤鸡翅的酸菜鱼2 小时前
CANN ops-math向量运算与特殊函数实现解析
人工智能·aigc
种时光的人2 小时前
CANN仓库核心解读:ops-math筑牢AIGC模型的底层数学计算根基
aigc