微信扫码
添加专属顾问
我要投稿
好未来携手Milvus打造亿级向量数据库,揭秘大模型时代的高效检索方案。核心内容: 1. 向量数据库在大模型与AIGC技术中的核心作用 2. Milvus的技术优势与传统数据库的局限性对比 3. 好未来亿级向量数据的落地实践与未来展望
随着大模型与生成式人工智能(AIGC)技术的迅猛发展,向量检索已成为支撑语义理解、多模态内容处理和智能搜索的核心能力。向量数据库作为支撑高性能相似度检索的基础设施,成为智能应用不可或缺的一环。
好未来的向量数据库基于著名的开源向量数据库 Milvus,提供了一套完整的向量数据库解决方案,包括数据接入、资源隔离、集群管理、监控告警、成本优化等。
目前好未来的向量数据库已服务于多个业务线,向量数据规模达到亿级。本文将从以下几个维度介绍 Milvus 向量数据库在好未来的应用与实践,并展望后续发展。
向量不是一个新概念,向量数据库的基本问题已经在大模型诞生之前基本解决,并且有自己的应用场景,比如常见的文本相似度,以图搜图,推荐系统等。那么大模型与向量又是如何结合的,传统数据库为什么不适用于这些问题?
大模型中的机遇
既然向量数据库在大模型之初就已经日臻完善,那么向量数据在大模型应用中又起到了什么作用呢?我们以一个大模型中基本的 RAG 场景来描述它们之间的关系:
在这个示例中,向量数据库提供了向量存储和提供检索的功能用于弥补大模型资料不足的缺陷,鉴于万物皆可向量化(Embedding),向量成为了大模型交互中的基本单位。
传统数据库的局限性
传统数据库的优势在于结构化数据的存储与检索,而向量数据库是一整套非结构化数据解决方案。传统数据库试图通过向量插件解决向量问题,正如 Zilliz 介绍向量数据库时所说:
在传统数据库基础上开发非结构化数据应用就如同在汽油车中安装锂电池和电动机一样不合常理。向量检索插件不支持灵活调参,也不提供易用的 API 或 SDK。
另外向量插件所能提供的索引类型相当有限,例如 ES 只提供 HNSW 索引。
Milvus 于 2019 年创建,目标是存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的海量嵌入向量。作为一个专门设计用于处理输入向量查询的数据库,它能够对万亿级别的向量进行索引。与主要处理遵循预定义模式的结构化数据的现有关系数据库不同,Milvus 是从底层设计来处理从非结构化数据转换的嵌入向量的。Milvus 的工作流如图:
功能特性
支持大规模向量数据集的高性能检索
支持标量过滤和向量相似性搜索的混合检索,并可扩展关键词搜索能力
支持丰富的索引类型(HNSW、FLAT、IVF_FLAT、IVF_SQ8、IVF_PQ、SCANN、DiskANN、RabitQ)
支持丰富的相似度指标(Cosine、L2、IP、Hamming、Jaccard)
提供多语言支持和工具链
支持云原生和高扩展性
技术架构
Milvus 是一个云原生向量数据库,Milvus 在设计上将存储和计算分离。为了增强弹性和灵活性,Milvus 中的所有组件都是无状态的。它采用了 Kubernetes 作为其部署和管理的基础设施。这意味着 Milvus 可以在各种云提供商和本地环境中无缝部署和扩展。目前支持 Milvus Operator 和 Helm 部署, 详见 Zilliz 官网中 Milvus 架构概述:
应用场景
Milvus 比较常见的场景有:
图片、视频、音频相似度检索
自然语言处理(NLP)
多模态搜索(图文联合搜索)
推荐系统
生物信息学 / 医学影像分析
对比其他类品
关于向量库的选型,可以从 Zilliz 官网 Milvus 和其他类产品的对比 中有一个更全面的认识。
好未来的向量数据库基于开源 Milvus 构建了自建机房以及公有云的混合云 Milvus 集群,以及购买了少量 Zilliz Cloud产品。当前 Milvus 集群在好未来的应用架构图如下:
管理工具
类似传统数据库的数据管理工具,Milvus 提供了名为 Attu 的一体化Web管理工具,该工具大大提高了业务在使用 Milvus 时的效率。
监控警告
由于 Milvus 的云原生属性,我们使用 Prometheus + Alertmanager 配合钩子实现了分钟级告警提醒到知音楼的功能,方便管理员和业务及时了解服务可能出现的情况。
目前我们实现了以下 4 种告警:
检索延迟
服务存活状态
代理节点请求失败
底层存储余量
告警指标涉及的监控面板如图所示:
业务落地
目前好未来对向量数据库的需求主要有智能批改、学习资源推荐、基于文档的向量召回等场景,下面主要对智能批改场景进行介绍。
3.1 业务背景
在当前教育领域,试题批改和学习资源管理面临着巨大的挑战。传统的人工批改方式不仅耗时耗力,而且存在标准不统一、效率低下等问题。随着在线教育的快速发展,每天产生的试题数量呈指数级增长,人工处理已经难以满足需求。教师需要花费大量时间在重复性的批改工作上,而不能将精力集中在教学质量提升和个性化辅导上。
3.2 业务痛点
3.2.1 数据规模问题
海量试题管理:教育机构每天要处理数十万道新增试题,包括来自各个学科、不同年级、多种题型的试题。这些试题需要及时处理、分类、存储和检索,传统数据库难以支撑如此大规模的数据处理需求。
多模态数据处理:现代教育中的试题不再局限于纯文本,还包括图片、公式、表格等多种形式。这些多模态数据的存储和处理对系统提出了更高的要求。
动态扩展需求:随着业务的发展,试题库规模持续增长,系统需要能够平滑扩展以支持不断增长的数据量和并发访问需求。
3.2.2 效率瓶颈
人工批改限制:教师平均批改一份试卷需要 15-20 分钟,在大规模考试或作业场景下,人工批改的时效性难以保证。同时,长时间的重复工作也容易导致批改质量下降。
标准不统一:不同教师对同一答案的评判标准可能存在差异,导致评分结果不够客观公正。特别是在主观题的评判上,这种差异更为明显。
资源利用效率:优质的解析和教学资源难以有效共享和复用,导致教育资源分配不均衡,无法实现规模化的教学质量提升。
3.2.3 质量挑战
评判准确性:需要系统能够准确理解学生答案的语义,正确判断答案的等价性,这对系统的语义理解能力提出了很高要求。
解析质量:自动生成的解析需要保证专业性、准确性和教学价值,同时还要考虑不同学生的理解能力和知识水平。
知识体系:需要建立完整的知识图谱,准确识别试题涉及的知识点,并建立知识点之间的关联关系。
3.3 系统设计
3.3.1 数据处理层
数据处理层是整个系统的基础,负责处理各种来源的试题数据。系统支持多渠道的试题录入,包括 API 接口上传、批量导入和 OCR 识别等方式。对于接收到的试题,首先进行标准化处理,包括格式统一化、特征提取和质量检查。之后,通过先进的算法将处理后的文本和图像转换为向量表示。这一层的设计确保了数据的质量和标准化,为后续的向量存储和检索奠定了基础。
3.3.2 Milvus 核心层
Milvus 核心层是系统的核心引擎,采用分布式架构设计,提供高效的向量存储和检索服务。该层通过 ANN(近似最近邻)算法实现毫秒级的相似度检索,支持亿级数据规模。系统采用多级索引机制,确保查询性能的同时保持较高的准确率。同时,通过 MySQL 存储元数据,维护索引关系和版本信息,实现了向量数据和结构化数据的有效协同。该层的设计充分发挥了 Milvus 在海量向量数据处理方面的优势,为上层应用提供强大的技术支持。
目前 Milvus 核心层存储了10亿+向量,20+集合数,以其中一套Milvus集群为例,单日检索请求量如下:
3.3.3 业务应用层
业务应用层直接服务于教育场景的具体需求,主要包括智能批改、相似题推荐和试题查重三大核心功能。智能批改服务通过向量相似度计算,实现答案的智能评分和解析生成。相似题推荐服务基于学生的学习水平和题目特征,提供个性化的练习建议。试题查重服务则帮助维护题库质量,避免重复录入。这一层的设计充分考虑了教育场景的特点,将先进的技术转化为实用的教育工具。业务应用架构图如下所示。
3.3.4 质量评估体系
质量评估体系贯穿整个系统,通过多维度的评估确保服务质量。系统会对每次批改结果进行置信度评估,综合考虑答案匹配度、历史数据对比和人工反馈等因素。同时,建立了完整的反馈处理机制,持续收集用户反馈,分析质量问题,不断优化评分标准和算法模型。这种闭环的质量控制机制确保了系统能够持续提供高质量的服务。
3.4 落地效果
好未来始终致力于通过先进的AI技术推动教育质量的全面提升。在教学场景中,如智能批改、相似题推荐以及试题去重等实际应用中,引入Milvus向量数据库技术后,解决了以往传统数据处理方式在超大规模数据检索中的性能瓶颈问题。Milvus能够处理亿级规模的向量数据,实现毫秒级的相似度检索,并保证高质量的相似数据召回,准确性和稳定性显著提升。相比之前基于常规数据库进行模糊匹配或索引检索的方式,Milvus极大地缩短了计算时间,同时显著提升了召回效果,赋能教育行业实现真正意义上的AI与教育深度融合。通过这种技术驱动,不仅优化了教育公平性,还极大地提升了教学效率,让教师和学生能够享受到更加高效与智能化的教学体验。以下是学习机作业批改的用户界面效果图。
此外,Milvus的应用不仅局限于教学内容的检索与推荐,还全方位渗透至好未来的多个场景。在基于文档的向量召回场景中,Milvus被成功应用于好未来的自研IM平台(知音楼)中,解决了以往在线文档内容检索存在的速度与检索质量问题,大幅提升了用户体验;而在好未来内部知识库问答系统中,Milvus支持数据分析平台中知识库chunk(小块知识单元)内容的快速召回,与传统关键词匹配方法相比,能够以更高效而精确的方式定位所需内容。
从技术应用前后的对比可以看到,引入Milvus之前,教育行业的数据处理方式存在检索速度慢、召回精准度不足等痛点,无论是面对海量题目相似度匹配还是知识库高效召回,均存在较多效率损失。而Milvus的落地不仅解决了这些难题,还显著扩展了数据应用的可能性,为深度融合AI技术与教育提供了强有力的支撑。通过这种技术转变,好未来在教育领域树立了领先的创新标杆,推动了行业向着更加智能、高效和公平的方向发展。
目前 Milvus 已经在部分业务中稳定运行,我们将继续跟进社区,优化 Milvus 的相关功能,并帮助更多业务使用 Milvus 加速业务AI转型以及成本优化。
目前在使用 Milvus 的过程中,也碰到了一些问题,有些在社区版中已经解决,有些是 Milvus 企业版的优势功能。未来 Milvus 会聚焦于以下功能:
方便的数据迁移功能
目前 Milvus 社区版仅能提供单集群备份恢复功能,且易用性不佳,并无跨集群复制恢复功能。
Milvus 检索性能提升
根据之前的实测 Milvus 社区版的检索性能和腾讯云企业版相同体量差距在 2 ~ 3 倍之间。这个在社区有一些开放 issue 供讨论,目前并无太多推进。
社区合作 & 交流
Milvus 社区还是比较友好的,开发活跃,解决问题时效性较高,未来会更多的把握 Milvus 源码相关,和社区进行更多的功能和产品的交流。
Milvus商业版(Zilliz Cloud)作为双活兜底
业务方对向量数据库稳定性要求是比较高的,Milvus社区版在资源消耗和版本升级修复bug时效上存在一些不足,部分向量库上Milvus商业版作为双活兜底。
作者
好未来-数据中台 数据平台高级工程师 黄志明
好未来-智学云 服务端工程师 李木子
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-05-29
2025-05-23
2025-06-01
2025-06-07
2025-06-21
2025-05-20
2025-06-12
2025-06-19
2025-06-13
2025-05-28
2025-08-11
2025-08-11
2025-08-11
2025-08-11
2025-08-11
2025-08-11
2025-08-10
2025-08-09