OpenSearch项目中的Mapping Transformer技术解析
在OpenSearch项目中,近期提出了一个关于Mapping Transformer的技术方案,旨在简化神经搜索(neural search)的设置过程。这项技术将引入一种新的字段类型,并允许用户在索引映射中定义模型ID,从而自动生成与神经搜索相关的字段。
背景与需求
当前在OpenSearch中设置神经搜索需要手动配置多个相关字段,如knn_vector字段等。这一过程较为复杂,容易出错。为了解决这个问题,开发团队提出了一个自动化方案:通过定义新的字段类型,系统能够根据模型ID自动生成所有必要的神经搜索字段。
技术方案比较
团队考虑了两个主要的技术实现方案:
-
ActionFilter方案
利用现有的ActionFilter机制来修改创建/修改索引映射和索引模板的请求。这种方案的优势是不需要修改核心代码,但缺点是职责不清晰,ActionFilter被设计为通用机制,用于此特定场景显得不够专业。 -
MapperPlugin扩展方案
在MapperPlugin中引入新的MappingTransformer接口,让插件实现这个接口来转换映射。这种方案职责明确,但需要修改核心代码。
经过评估,团队倾向于选择第二种方案,因为它提供了更清晰的架构和职责划分。
技术实现细节
当用户创建包含新字段类型的索引时,系统会自动转换映射。例如,当用户定义如下索引:
{
"settings":{
"index.knn":true
},
"mappings":{
"properties":{
"id":{
"type":"text"
},
"products":{
"type":"nested",
"properties":{
"product_description":{
"type":"semantic",
"model_id":"oC31TZUBuSxkFaMuZlMo"
}
}
}
}
}
}
系统会自动将其转换为包含所有必要神经搜索字段的完整映射,包括:
- 原始字段保留
- 语义信息字段(包含分块信息)
- 模型元数据字段
- 向量嵌入字段(包括维度、引擎类型等配置)
设计考量
在技术讨论中,团队考虑了是否可以在数据摄入时动态更新映射的方案。虽然技术上可行,但团队认为在添加语义字段时就生成所有相关字段更为合理,原因包括:
- 职责清晰:字段生成与字段定义保持同步
- 快速失败:可以在早期阶段验证模型有效性
- 性能考虑:避免在数据摄入时频繁更新映射
总结
OpenSearch的这一技术改进将显著简化神经搜索的设置过程,使开发者能够更专注于业务逻辑而非基础设施配置。通过引入Mapping Transformer机制,系统能够自动处理复杂的字段映射关系,提高开发效率并减少配置错误。这一设计体现了OpenSearch项目对开发者体验的持续关注和改进。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0197
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0126
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python06
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07