23-Embedding与混合检索
为什么语义相似仍然找不到?Embedding、关键词与混合检索 用户问一个产品编号,向量检索返回语义相近但编号不同的文档。语义相似适合处理不同表达,却不天然擅长所有精确条件;关键词和结构化过滤仍然有自己的位置。 1. 向量空间怎样表达相似 余弦、内积与距离不能脱离模型和索引配置讨论。 Embeddi
为什么语义相似仍然找不到?Embedding、关键词与混合检索 用户问一个产品编号,向量检索返回语义相近但编号不同的文档。语义相似适合处理不同表达,却不天然擅长所有精确条件;关键词和结构化过滤仍然有自己的位置。 1. 向量空间怎样表达相似 余弦、内积与距离不能脱离模型和索引配置讨论。 Embeddi
企业文档怎样变成可检索知识?解析、切分与异步入库 上传 PDF 后能检索到内容,却找不到表格里的例外;导入超时后重新上传,又出现重复片段。文档处理需要保留语义、版本与任务状态,而不只是调用一次 Embedding。 Spring AI 接入片段使用 Java 17、Spring Boot 3.5.3
模型输出 JSON 就能入库吗?结构约束与业务校验 输出已经是合法 JSON,金额却为负,来源编号也不存在。这说明语法、结构和业务语义是不同层次。结构化输出让结果更容易处理,但不能把模型变成可信数据库写入者。 Spring AI 接入片段使用 Java 17、Spring Boot 3.5.3 与
Tool Calling 怎样可靠执行?参数、授权与未知结果 模型知道应该调用订单接口,不代表它有权查询任何订单;创建工单超时,也不代表工单没有创建。工具设计从选择开始,最终落在受授权、可恢复的业务执行上。 Spring AI 接入片段使用 Java 17、Spring Boot 3.5.3 与 S
多轮对话怎样管理?ChatMemory、Redis 与会话归属 页面保留了一百条历史,模型却只记得最近几轮;两个请求同时发送,又可能覆盖彼此记忆。完整历史、模型上下文与并发会话是三种不同需求,需要分别设计。 Spring AI 接入片段使用 Java 17、Spring Boot 3.5.3 与 S
AI 聊天怎样真正流起来?SSE、取消与半完成响应 模型正在生成,页面却等到最后一次性显示;用户已经停止等待,后端仍继续计费。流式聊天需要同时处理传输、渲染和任务生命周期,不能把它简化为把 String 改成 Flux。 Spring AI 接入片段使用 Java 17、Spring Boot 3.
从模型 API 到 Spring AI:一次请求的上下文怎样形成? 直接调用模型接口能得到一句回答,但业务应用还需要默认规则、会话、检索、工具和用量记录。Spring AI 的价值在于组织这些能力;理解实际调用链,才能知道某条上下文是在哪一步加入的。 Spring AI 接入片段使用 Java 17