深夜突袭!DeepSeek V3偷偷更新变强

DeepSeek 刚刚悄然发布了 DeepSeek-V3-0324 模型。这次更新远超预期,不仅性能大幅提升,而且新增了多项实用功能,让开发者和企业用户都为之惊叹。

回顾之前的 DeepSeek R1 版本,尽管能力出色,但仍存在几个明显短板:缺乏函数调用能力、不支持规范化的 JSON 输出。这些功能对于 AI 在实际业务场景中的应用至关重要。

以下是官方朴实无话的更新日志:

1742906632

中文写作能力测试

提示词:假设你是一名环保专家,最近你发现了一种新的可持续能源技术。请描述这项技术的原理、优势以及对环境的潜在影响。

1742904958

写作能力有了大幅度提升,毕竟基于R1 ,「左脚踩右脚」

前端开发能力测试

接下来,我测试了它的前端开发能力:

我问了它:技术栈不限制,帮我实现一个网站登录界面.html

1742905401

DeepSeek V3 函数调用功能

函数调用是这一功能使大语言模型能够根据用户提示,生成调用特定函数的结构化请求,包含函数名称和必要参数。这为 AI 与外部工具、API 的无缝集成提供了强大支持。

举例来说,众所周知大语言模型在处理复杂数学计算时存在局限性。通过函数调用,您可以为模型提供一个”数学工具库”,模型会指示应调用哪个函数以及需要哪些参数。系统执行该函数后,将结果与原始提示一起返回给模型,从而获得完整、准确的回答。

需要明确的是:模型自身不执行函数,它只是指示应该调用什么函数以及如何调用。

函数调用的应用场景包括:

  • 触发外部动作:如发送邮件、控制智能设备
  • 获取实时数据:有效解决 AI 知识时效性问题,如实时搜索或数据库查询
  • 处理复杂计算:解决模型无法直接计算的复杂数据问题
1742906059

实际应用示例

添加依赖

1
2
3
4
5
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.0.0-beta2</version>
</dependency>

创建 AI 服务接口

1
2
3
public interface FunctionAssistant {
String chat(String message);
}

用注解实现业务逻辑

1
2
3
4
5
6
7
public class InvoiceHandler {
@Tool("根据用户提交的开票信息进行开票")
public String handle(String companyName, String dutyNumber, @P("金额保留两位有效数字") String amount) {
log.info("companyName =>>>> {} dutyNumber =>>>> {} amount =>>>> {}", companyName, dutyNumber, amount);
return "开票成功";
}
}

测试调用效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Test
public void test2() {
ChatLanguageModel chatLanguageModel = OpenAiChatModel.builder()
.apiKey("sk-")
.modelName("deepseek-chat")
.baseUrl("https://api.deepseek.com/v1")
.logRequests(true)
.logResponses(true)
.build();

FunctionAssistant assistant = AiServices.builder(FunctionAssistant.class)
.chatLanguageModel(chatLanguageModel)
.tools(new InvoiceHandler())
.build();

String chat = assistant.chat("帮我开具发票,公司名称:深圳市腾讯计算机系统有限公司,税号:91440300734991234A,金额:100.123456");
System.out.println(chat);
}
1742906411

总结

从笔者近期 AI 业务的落地实践来看,V3 类聊天模式相比 R1 具备更高的可玩性。本次更新弥补了诸多短板,使其更能深度融入业务流程,我们有理由期待更多 AI 创新案例的出现, 真正赋能业务才有价值

1742907203