vespa

vespa-engineApache-2.0活跃维护

面向大规模数据与机器学习的 AI 搜索平台,支持向量检索、张量计算和推荐排序,适合搭建 RAG 与搜索服务。

The AI search platform

v8.781.11发布于 2026-11-02 03:38 UTC7,170star +6 / 7 天751fork同步于 2026-11-10 17:33 UTC

怎么上手

由 README 提炼,执行前请确认
部署到云服务:console.vespa-cloud.com;自建实例见 https://docs.vespa.ai/en/getting-started.html
硬件要求按 README 说明

README 未说明具体显存、CPU 或 GPU 厂商型号要求,仅说明可部署到 Vespa 云服务或运行自建实例

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Vespa 是开源 AI 搜索平台,在持续变化的大语料上做检索、推理与排序

面向大规模数据与机器学习的 AI 搜索平台,支持向量检索、张量计算和推荐排序,适合搭建 RAG 与搜索服务。

核心能力

  • 在服务时对向量、张量、文本和结构化数据做检索与推理
  • 支持机器学习模型在选中的数据上评估并聚合返回结果
  • 面向多节点分布式部署,并行评估并保证高可用与性能
  • 提供 Vespa APIs 供应用与平台对接
  • 应用可部署到 Vespa 云服务或自建实例

容易踩的坑

使用本项目需自行构建时,C++ 与 Java 构建仅支持 AlmaLinux 8,Java 源码可在装有 Java 17 和 Maven 3.8+ 的平台构建;仅构建 Java 模块需先执行 ./bootstrap.sh java 再 mvn install --threads 1C;在 Mac 上运行 shell 脚本测试需额外安装 BATS 及其插件并导出 BATS_PLUGIN_PATH

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v8.781.11
  1. v8.781.11Vespa CLI 8.781.11最新正式版2026-11-02 · 2026-11-02 03:38 UTC

    The command-line tool for Vespa.ai.

    Use it on Vespa instances running locally, remotely or in the cloud. Prefer web service API's to this in production.

    See Vespa documentation and getting started with Vespa CLI.

    Run make to build and test - make sure to use go 1.18 or higher.

  2. lsp-v2.6.2Vespa Language Server 2.6.22026-11-01 · 2026-11-01 10:10 UTC
    查看更新说明

    The Language-server for Vespa schemas

    Use the jar file to integrate the language server into your favorite editor.

    For Visual Studio Code and IntelliJ the language server should also be available in the marketplace for the editor.

    Schema Language Server in Neovim

    Requirements

    Requires Java 17 or newer.

    Optional: lspconfig plugin for nvim.

    Installation

    Download schema-language-server-jar-with-dependencies.jar.

    Using lspconfig

    The language server is registered at lspconfig as vespa_ls. If you have lspconfig installed, all that needs to be done is to enable the language server.

    Register .sd, .profile and .yql as filetypes (in init.lua):

    vim.filetype.add {
      extension = {
        profile = 'sd',
        sd = 'sd',
        yql = 'yql'
      }
    }
    

    Create a config for schema language server (in init.lua):

    vim.lsp.config('vespa_ls', {
        cmd = { 'java', '-jar', '/path/to/vespa-language-server_X.X.X.jar' },
        -- on_attach = ...
    })
    
    vim.lsp.enable('vespa_ls')
    

    Manual Installation

    If you don't want to use lspconfig you can refer to the LSP documentation for Neovim for manually registering the server.

    What's New

    • Adds 'abs' to the indexing language
    • Adds support for explanations on schemas, fields and rank-profiles
  3. v8.778.45Vespa CLI 8.778.452026-10-27 · 2026-10-27 06:32 UTC
    查看更新说明

    The command-line tool for Vespa.ai.

    Use it on Vespa instances running locally, remotely or in the cloud. Prefer web service API's to this in production.

    See Vespa documentation and getting started with Vespa CLI.

    Run make to build and test - make sure to use go 1.18 or higher.

  4. lsp-v2.6.1Vespa Language Server 2.6.12026-10-06 · 2026-10-06 14:56 UTC
    查看更新说明

    The Language-server for Vespa schemas

    Use the jar file to integrate the language server into your favorite editor.

    For Visual Studio Code and IntelliJ the language server should also be available in the marketplace for the editor.

    Schema Language Server in Neovim

    Requirements

    Requires Java 17 or newer.

    Optional: lspconfig plugin for nvim.

    Installation

    Download schema-language-server-jar-with-dependencies.jar.

    Using lspconfig

    The language server is registered at lspconfig as vespa_ls. If you have lspconfig installed, all that needs to be done is to enable the language server.

    Register .sd, .profile and .yql as filetypes (in init.lua):

    vim.filetype.add {
      extension = {
        profile = 'sd',
        sd = 'sd',
        yql = 'yql'
      }
    }
    

    Create a config for schema language server (in init.lua):

    vim.lsp.config('vespa_ls', {
        cmd = { 'java', '-jar', '/path/to/vespa-language-server_X.X.X.jar' },
        -- on_attach = ...
    })
    
    vim.lsp.enable('vespa_ls')
    

    Manual Installation

    If you don't want to use lspconfig you can refer to the LSP documentation for Neovim for manually registering the server.

    What's New

    • Added support for the final fast map search syntax, 'fast-search-map-field ', on maps and arrays of struct, including float and double map values.
    • Added the 'exhex8floatencode' and 'exhex16doubleencode' indexing expressions, and completion and highlighting for all 'exhex' expressions.
    • Fixed indexing expression completions offering names that do not parse, and added completion and highlighting for more indexing expressions.
    • Added the attribute 'quantization' block, and the 'argmax' and 'argmin' aggregators and the 'in' filter in grouping.
    • Fixed a duplicated word in a diagnostic message.
  5. v8.763.13Vespa CLI 8.763.132026-10-05 · 2026-10-05 02:26 UTC
    查看更新说明

    The command-line tool for Vespa.ai.

    Use it on Vespa instances running locally, remotely or in the cloud. Prefer web service API's to this in production.

    See Vespa documentation and getting started with Vespa CLI.

    Run make to build and test - make sure to use go 1.18 or higher.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Build status GitHub License Maven metadata URL

    Search, make inferences in and organize vectors, tensors, text and structured data, at serving time and any scale.

    This repository contains all the code required to build and run all of Vespa yourself, and where you can see all development as it happens. All the content in this repository is licensed under the Apache 2.0 license.

    A new release of Vespa is made from this repository's master branch every morning CET Monday through Thursday.

    Table of contents

    Background

    Use cases such as search, recommendation and personalization need to select a subset of data in a large corpus, evaluate machine-learned models over the selected data, organize and aggregate it and return it, typically in less than 100 milliseconds, all while the data corpus is continuously changing.

    This is hard to do, especially with large data sets that need to be distributed over multiple nodes and evaluated in parallel. Vespa is a platform that performs these operations for you with high availability and performance. It has been in development for many years and is used on several large internet services and apps which serve hundreds of thousands of queries from Vespa per second.

    Install

    Deploy your Vespa applications to the cloud service: console.vespa-cloud.com, or run your own Vespa instance: https://docs.vespa.ai/en/getting-started.html

    Usage

    Full documentation is at https://docs.vespa.ai.

    Contribute

    We welcome contributions! See CONTRIBUTING.md to learn how to contribute.

    If you want to contribute to the documentation, see https://github.com/vespa-engine/documentation

    Building

    You do not need to build Vespa to use it, but if you want to contribute you need to be able to build the code. This section explains how to build and test Vespa. To understand where to make changes, see Code-map.md. Some suggested improvements with pointers to code are in TODO.md.

    Development environment

    C++ and Java building is supported on AlmaLinux 8. The Java source can also be built on any platform having Java 17 and Maven 3.8+ installed. Use the following guide to set up a complete development environment using Docker for building Vespa, running unit tests and running system tests: Vespa development on AlmaLinux 8.

    Java environment for Mac
    1. Install JDK17, Maven Version Manager and jEnv through Homebrew.
    brew install jenv mvnvm openjdk@17
    
    1. For the system Java wrappers to find this JDK, symlink it with
    sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
    
    1. Follow "Configure your shell" in https://www.jenv.be. Configuration is shell specific. For zsh use the below commands:
    echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(jenv init -)"' >> ~/.zshrc
    eval "$(jenv init -)"
    jenv enable-plugin export
    exec $SHELL -l
    
    1. Add JDK17 to jEnv
    jenv add $(/usr/libexec/java_home -v 17)
    
    1. Verify configuration with Maven by executing below command in the root of the source code. Output should refer to the JDK and Maven version specified in the .java-version and mvnvm.properties.
    mvn -v
    

    Build Java modules

    export MAVEN_OPTS="-Xms128m -Xmx1024m"
    ./bootstrap.sh java
    mvn install --threads 1C
    

    Use this if you only need to build the Java modules, otherwise follow the complete development guide above.

    When MAVEN_GLOBAL_SETTINGS is set, bootstrap.sh uses the supplied global Maven settings while generating a wrapper. The generated Maven 3.9.16 distribution is checked against a pinned SHA-256 independently of its download URL.

    Run tests for shell scripts (on Mac)

    Shell scripts are tested with BATS. To run the tests locally, install the testing framework and its plugins.

    brew install node
    sudo npm install -g bats bats-assert bats-support bats-mock
    

    Export the BATS_PLUGIN_PATH environment variable to point to the global npm modules directory, which contains the BATS plugins:

    export BATS_PLUGIN_PATH="$(npm root -g)"
    

    Then run all tests with the following command (from the root of the repository):

    bats -r .
    

    To run a specific test, use:

    bats test_dir/test_name.bats
    

    Tests can also be run in IntelliJ IDEA with the BashSupport Pro plugin. Ensure the BATS_PLUGIN_PATH environment variable is exported before launching the IDE to avoid setting it in each run configuration.

    License

    Code licensed under the Apache 2.0 license. See LICENSE for terms.