老废物乐园 瓜子的技术笔记 · Java / AI / 金融科技

多模态能力在 Java 应用中的集成

产品说"用户上传截图自动填工单" 三月中旬产品提了个需求:用户报障时经常甩一张截图过来,客服要手工把里面的订单号、错误码、时间点一个个敲进工单系统,平均 90 秒一条,希望系统能自动识别和填充。听起来简单,做下来发现"看懂一张图"这件事在工程上的复杂度远超我的预期。 这篇记录我们在 Java 应用里

遥望星星 遥望星星 发布于 2024-09-05

虚拟线程在 AI 高并发调用中的实践

5 万条评测数据,从 80 分钟压到 9 分钟 今年 1 月要做一次大模型效果评测:5 万条标注问题,分别跑三个候选模型,记录每条的输出、耗时和 token 数。总共 15 万次调用。 第一版脚本用 200 线程的固定线程池,跑了 82 分钟还没跑完(因为触发限流重跑了一批)。我花了一天改成虚拟线程

遥望星星 遥望星星 发布于 2024-07-07

大模型应用成本控制:Token 经济的实践

10 月账单 11.7 万,调用量才涨了 40% 11 月 1 号早上收到云厂商账单:10 月大模型调用费用 11.73 万元。9 月是 4.31 万,涨了 172%。但同期我们的业务量只涨了 40%,这中间肯定有浪费。 我花了两天做了一次完整的用量审计,最后把 11 月的账单压到了 5.1 万。过

遥望星星 遥望星星 发布于 2024-04-10

AI 应用中的数据存储选型:关系型与向量的协同

文档下线三天了,客服机器人还在引用它 9 月中旬出了个不大不小的故障。运营下架了一份过期的《海外退换货政策 V1》,三天后还有用户在客服机器人里问到"海外订单 30 天可退",而新政策是 15 天。用户截图投诉到了客服主管那里。 我查了一圈,问题出在存储架构上。我们当时的 RAG 是这样的: MyS

遥望星星 遥望星星 发布于 2024-02-20

AI 场景下的异步任务与消息驱动设计

同事甩给我一个跑了 25 分钟的同步接口 上周三下午,做商品中心的小赵在工位上喊我:"哥,我这个批量生成接口本地跑得好好的,一上预发就 504,你帮我看看。" 需求不复杂:运营上传一个 5000 行的商品 Excel,每行调一次大模型生成营销文案,全跑完导出结果文件。他写的是同步接口,一个 for

遥望星星 遥望星星 发布于 2024-02-09

AI 能力接入现有系统的架构设计

团队想给客服系统加 AI 能力,产品经理一句"接个大模型"听起来轻巧。真要做时,我发现最大的问题不是模型效果,而是:AI 该放在系统哪一层?和现有业务怎么融?出错了怎么办?这层边界不清,迟早把核心交易拖下水。 边界划分:AI 是增强,不是核心 我的第一原则是:AI 能力必须处在非关键路径。下单、扣款

遥望星星 遥望星星 发布于 2023-10-06

Function Calling 实战:让大模型调用 Java 方法

大模型再能聊,它本身算不了实时库存、查不了数据库。要让它"动手",得靠 Function Calling:模型决定调哪个函数、填什么参数,Java 侧真实执行,再把结果喂回去。这趟趟过的坑,比想象中深。 工具注册:把 Java 方法暴露给模型 用 Spring AI(1.0 GA 稳定版)注册一个工

遥望星星 遥望星星 发布于 2023-09-09

大模型流式响应 SSE 的工程化实现

接了大模型问答的活儿,第一版我们用普通 HTTP 请求,前端点完"发送"就开始转圈,最长 18 秒才一次性吐出整段答案。产品同学盯着转圈圈说了一句话:"能不能像 ChatGPT 那样一个字一个字蹦?"于是有了这次 SSE 改造。 SSE 是什么,为什么不用 WebSocket 大模型生成是单向的:服

遥望星星 遥望星星 发布于 2023-07-25

AI 应用的可观测性:LLM 调用的追踪与评估

LLM 进了核心链路,黑盒就太危险 工单助手上线后,运营反馈"有时候答非所问"。但 LLM 调用对我们来说是个黑盒:不知道每次花了多少 token、耗时多少、模型返回了啥。更糟的是出了错没法归因。我参照传统可观测性,给 LLM 调用也接上了 Trace、Token 统计和效果评估三件套,才算把这层黑

遥望星星 遥望星星 发布于 2023-06-10

Redis 在 AI 场景的应用:向量与语义缓存

LLM 调用账单太吓人 工单助手每天上万次调用 GPT,账单一个月涨到三千刀。财务找过来时我才认真看数据:大量 query 语义相近("怎么退货""退货流程""我要退钱"),答案其实一致,却每次都花 token 去问模型。用 Redis Stack 的向量检索做"语义缓存",把相似问题直接命中缓存,

遥望星星 遥望星星 发布于 2023-06-01