vespa-engine/vespa
The AI search platform
Vespa – 大规模搜索与AI服务化平台
是什么 – Vespa 是一个开源的高性能平台,用于大规模提供搜索、推荐、个性化及其他AI驱动的查询服务。它支持存储和查询文本、结构化字段、向量和张量,并在保持延迟低于100毫秒的前提下,对数据运行机器学习模型,即使在大规模且持续变化的数据集上也是如此。
核心功能
- 混合数据处理 – 在同一服务中索引和检索纯文本、类似JSON的结构化数据,以及高维向量/张量。
- 实时推理 – 部署Java(或其他)模型组件,在查询时执行,实现排名、分类或基于嵌入的相似性匹配,无需单独的模型服务层。
- 分布式、容错架构 – 数据在节点间分片;查询并行化,结果聚合,提供任何规模下的高可用性和低延迟。
- 内置排名与聚合 – 使用声明式查询语言,可在单个请求中组合相关性评分、自定义排名函数和聚合(如分类、直方图)。
- 云原生与本地部署 – 可作为托管云服务(提供免费试用)运行,或使用提供的Docker镜像和安装指南自行部署。
- 可扩展的Java组件 – 使用Java编写自定义排名或处理逻辑,并将其插入查询管道中。
典型应用场景
- 大规模网页搜索或站内搜索
- 每次查询需对数百万项进行打分的推荐引擎
- 结合用户信号与ML模型的个性化流水线
- 嵌入向量相似性搜索(如语义搜索、图像检索)
- 要求结果在数十毫秒内返回的实时分析
快速入门
- 试用托管服务 – 访问
vespa.ai/free-trial注册并从文档中部署一个示例应用。 - 本地运行 – 按照文档中的 Getting started 指南,使用Docker或原生安装启动单节点Vespa实例。
- 添加自定义逻辑 – 使用开发者指南创建Java组件,打包为Vespa应用,并通过Vespa API上传。
- 横向扩展 – 当需要冗余或更高吞吐量时,按照 multinode systems 指南添加节点。
构建与贡献
- 仓库包含Vespa的完整源码(C++核心 + Java模块)。用户可选择是否自行构建;预构建二进制文件通过Maven和Docker分发。
- 贡献者可参考README中指向的AlmaLinux 8、Maven 3.8+ 和 Java 17的Docker开发环境。详细构建步骤(
bootstrap.sh java,mvn install)和测试说明(BATS用于shell脚本)已提供。 - 贡献指南、代码地图和待办事项列表帮助新手理解庞大的代码库。
文档与社区
- 主页:https://vespa.ai
- 完整文档:https://docs.vespa.ai
- 示例应用:https://github.com/vespa-engine/sample-apps
- 博客、Slack和问题追踪器均在README中链接,用于支持与更新。
许可证 – Apache 2.0(参见 LICENSE 文件)。
以上所有信息均直接来自仓库的README,未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目