DeepSeek 刚刚悄然发布了 DeepSeek-V3-0324 模型。这次更新远超预期,不仅性能大幅提升,而且新增了多项实用功能,让开发者和企业用户都为之惊叹。
回顾之前的 DeepSeek R1 版本,尽管能力出色,但仍存在几个明显短板:缺乏函数调用能力、不支持规范化的 JSON 输出。这些功能对于 AI 在实际业务场景中的应用至关重要。
以下是官方朴实无华的更新日志:
图片
中文写作能力测试
提示词:假设你是一名环保专家,最近你发现了一种新的可持续能源技术。请描述这项技术的原理、优势以及对环境的潜在影响。
1742904958
写作能力有了大幅度提升,毕竟基于 R1 ,「左脚踩右脚」
前端开发能力测试
接下来,我测试了它的前端开发能力:
我问了它:技术栈不限制,帮我实现一个网站登录界面 .html
1742905401
DeepSeek V3 函数调用功能
函数调用是这一功能使大语言模型能够根据用户提示,生成调用特定函数的结构化请求,包含函数名称和必要参数。这为 AI 与外部工具、API 的无缝集成提供了强大支持。
举例来说,众所周知大语言模型在处理复杂数学计算时存在局限性。通过函数调用,您可以为模型提供一个 "数学工具库 ",模型会指示应调用哪个函数以及需要哪些参数。系统执行该函数后,将结果与原始提示一起返回给模型,从而获得完整、准确的回答。
需要明确的是:模型自身不执行函数,它只是指示应该调用什么函数以及如何调用。
1742906059
实际应用示例
添加依赖
复制<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>1.0.0-beta2</version> </dependency>
创建 AI 服务接口
复制public interface FunctionAssistant { String chat(String message); }
用注解实现业务逻辑
复制public class InvoiceHandler { @Tool("根据用户提交的开票信息进行开票 ") public String handle(String companyName, String dutyNumber, @P("金额保留两位有效数字 ") String amount) { log.info("companyName =>>>> {} dutyNumber =>>>> {} amount =>>>> {}", companyName, dutyNumber, amount); return "开票成功 "; } }
测试调用效果
复制@Test publicvoidtest2() { ChatLanguageModelchatLanguageModel= OpenAiChatModel.builder() .apiKey("sk-") .modelName("deepseek-chat") .baseUrl("https://api.deepseek.com/v1") .logRequests(true) .logResponses(true) .build(); FunctionAssistantassistant= AiServices.builder(FunctionAssistant.class) .chatLanguageModel(chatLanguageModel) .tools(newInvoiceHandler()) .build(); Stringchat= assistant.chat("帮我开具发票,公司名称:深圳市腾讯计算机系统有限公司,税号:91440300734991234A,金额:100.123456"); System.out.println(chat); }
1742906411
总结彩蛋
从笔者近期对 AI Chat2BI 业务落地的研究来看,V3 相比 R1 推理模型具备更高的可玩性。在 Chat2BI 的优化过程中,我们尝试了多种策略,但准确性始终难以显著提升。V3-0324 发布后,我们第一时间进行了实测,结果表明,在国内模型中,唯有 V3-0324 能够稳定地通过 function 实现 Chat2BI 效果(在相同提示词、SQL 字段未进行语义或向量优化的情况下,该模型自身的能力远超大部分调优手段。当然,Claude 3.7 Sonnet 也展现了惊艳的表现)。
本次更新弥补了诸多短板,使 AI 更加深度融入业务流程,未来可期待更多 AI 创新案例的涌现。唯有真正赋能业务,AI 才能创造真正的价值。
1742922457