“同样跑一个发票提取,用Python你得自己写JSON校验,用Java你拿到手就是验证好的对象——你会怎么选?”
Java开发者正在把强类型带到LLM应用里。Anthropic的Claude模型有了官方Java SDK,一套模式让企业级系统能安全地接住大模型输出:核心原则是,模型输出只是待验证的假设,不是事实。
第一步是模型选型。别默认用最强的,任务拆开看:复杂推理用Opus,大批量简单分类切到Haiku。SDK里一行Model.CLAUDE_OPUS_4_8还是Model.CLAUDE_HAIKU_4_5,成本和延迟差距显著。廉价模型能干的事,就别花百倍的钱。
但最大坑点在解析。常见的做法是让模型吐一段自然语言,再手工抠字段。Java SDK的做法完全不同:先定义一个Record描述你想要的形状,SDK自动推导JSON Schema,约束模型按这个生成,然后直接交还一个类型化对象。Invoice记录里vendor是字符串,total是双精度浮点——不是一段待解析的文本。
这等于把“模型通常返回JSON”变成了“模型返回这个Record”。不用再写ObjectMapper,也不用防御性地检查每个字段是不是null。你会发现,类型安全本身就成了校验层。
防幻觉同样靠规则:把源材料塞进上下文,明确告知“只用下面这些内容回答,不知道就说不知道”。不给模型瞎编的空间。
热门跟贴