vespa-engine/vespa

The AI search platform

Vespa – 大规模搜索与AI服务化平台

是什么 – Vespa 是一个开源的高性能平台,用于大规模提供搜索、推荐、个性化及其他AI驱动的查询服务。它支持存储和查询文本、结构化字段、向量和张量,并在保持延迟低于100毫秒的前提下,对数据运行机器学习模型,即使在大规模且持续变化的数据集上也是如此。

核心功能

  • 混合数据处理 – 在同一服务中索引和检索纯文本、类似JSON的结构化数据,以及高维向量/张量。
  • 实时推理 – 部署Java(或其他)模型组件,在查询时执行,实现排名、分类或基于嵌入的相似性匹配,无需单独的模型服务层。
  • 分布式、容错架构 – 数据在节点间分片;查询并行化,结果聚合,提供任何规模下的高可用性和低延迟。
  • 内置排名与聚合 – 使用声明式查询语言,可在单个请求中组合相关性评分、自定义排名函数和聚合(如分类、直方图)。
  • 云原生与本地部署 – 可作为托管云服务(提供免费试用)运行,或使用提供的Docker镜像和安装指南自行部署。
  • 可扩展的Java组件 – 使用Java编写自定义排名或处理逻辑,并将其插入查询管道中。

典型应用场景

  • 大规模网页搜索或站内搜索
  • 每次查询需对数百万项进行打分的推荐引擎
  • 结合用户信号与ML模型的个性化流水线
  • 嵌入向量相似性搜索(如语义搜索、图像检索)
  • 要求结果在数十毫秒内返回的实时分析

快速入门

  1. 试用托管服务 – 访问 vespa.ai/free-trial 注册并从文档中部署一个示例应用。
  2. 本地运行 – 按照文档中的 Getting started 指南,使用Docker或原生安装启动单节点Vespa实例。
  3. 添加自定义逻辑 – 使用开发者指南创建Java组件,打包为Vespa应用,并通过Vespa API上传。
  4. 横向扩展 – 当需要冗余或更高吞吐量时,按照 multinode systems 指南添加节点。

构建与贡献

  • 仓库包含Vespa的完整源码(C++核心 + Java模块)。用户可选择是否自行构建;预构建二进制文件通过Maven和Docker分发。
  • 贡献者可参考README中指向的AlmaLinux 8、Maven 3.8+ 和 Java 17的Docker开发环境。详细构建步骤(bootstrap.sh java, mvn install)和测试说明(BATS用于shell脚本)已提供。
  • 贡献指南、代码地图和待办事项列表帮助新手理解庞大的代码库。

文档与社区

许可证 – Apache 2.0(参见 LICENSE 文件)。


以上所有信息均直接来自仓库的README,未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目