Skip to content

AI 工程 ​

Java 服务接入大模型的路径、部署与可控性,以及理解这些所需的机器学习与 NLP 原理。

从哪里开始

做工程落地先读 给 Java 服务接一个可控的 Agent,再看接入路径与部署形态;想补原理,按「机器学习流程 → 从词袋到 Transformer」的顺序读最后两篇。

文章 ​

01给 Java 服务接一个可控的 Agent工具设计原则、MCP 与进程内工具的选择、三道可控性防线、评测集→02模型输出的结构契约Pydantic 默认把 "3"、true 转成整数并丢弃额外字段;语法、Schema、领域三道检查各挡什么;价格不该由模型决定;修复会换掉商品,重试要有预算→03工具调用循环是一个有界解释器未登记的函数、参数校验、一步多个调用、步数预算、超时与幂等键、没有证据的「已完成」、工具结果里的指令、检查失败时默认拒绝→04让代理停下来等人回答自问自答的反例、等待写进持久状态、重启恢复、问题 ID 与回答去重、过期取消、提问预算→05模型写的 SQL 能跑通,离放它去查库还差几道检查最小权限账号与视图、只读事务、会被语句提示覆盖的会话超时、成本估算与输出上限,以及只有黄金数据才能发现的口径错误→06相似度 0.86,这两段文字其实毫不相干用合成向量量出四个口径:度量与归一化、相似度的数值不能跨模型比较、近似索引的召回、先检索后过滤返回不足;最近的不一定相关→07新检索系统的评估分数只有旧系统的四分之一标注只覆盖旧系统结果时,真实准确率 0.985 的新系统被评成 0.182;两个指标结论相反;查询太少时差异不可靠;平均值盖住整类失败→08知识库改了,检索还在返回旧答案按内容哈希做键时新旧版本并存、增量导入看不到删除、混用嵌入模型、先过滤再排序、答案缓存的键要带权限范围→09Java 接入大模型:直接调 API、框架,还是 MCP三条接入路径的分工,MCP 所在的层,以及无论选哪条都要自己做的六件事→10模型部署:Java 服务需要关心的那部分托管 API、vLLM、Ollama、Triton 怎么选;超时、流式、并发、成本与降级→11流式响应的生命周期SSE 的空行边界;客户端断开后异步生成器被取消、同步生成器停在 yield;状态码已是 200 时怎样表达中途失败→12机器学习的一次完整流程鸢尾花实测:单次划分的噪声、标准化与泄漏、混淆矩阵,以及上线时要一起导出的东西→13从词袋到 TransformerTF-IDF 实测、词向量、自注意力的计算过程、BERT 与 GPT,以及服务端怎么选方案→14注意力掩码里的 TrueMultiheadAttention 与 scaled_dot_product_attention 的布尔约定相反;全遮住的行是 NaN 还是 0 取决于计算路径;填充掩码;以输入为 memory 时的泄漏与扰动检验→15微调样本的标签对齐模型内部移位、重复移位学成下下个词;填充与提示设 -100;按词平均;LoRA 为什么一个随机一个为零→16logits、概率与损失函数先 sigmoid 或 softmax 再算损失时确信的错误学不动;BCELoss 截断在 100;准确率掩盖过度自信;类别编号错一位→17剪掉一半权重,文件为什么没变小prune 多存一份掩码、remove 后仍是稠密张量、稀疏格式的体积、结构化剪枝重建时的偏置、半精度与动态量化→18没评分不等于打了零分评分矩阵的空格填 0 之后,预测平均只有 0.41 分、误差是猜平均分的两倍多;只用已观测评分的写法,以及隐式反馈没有负例→

文章以 CC BY-NC-SA 4.0 授权 · 代码片段以 MIT 授权