标签: C++

  • Zvec:阿里开源轻量级进程内向量数据库,一行 pip install 搞定十亿级向量检索

    Zvec:阿里开源轻量级进程内向量数据库,一行 pip install 搞定十亿级向量检索

    📌 项目简介

    Zvec 是阿里巴巴开源的轻量级进程内向量数据库(In-process Vector Database)——无需启动独立服务,直接嵌入你的应用代码中运行。它以闪电般的速度完成数十亿级向量的相似性搜索,同时支持密集向量、稀疏向量、混合检索和全文搜索,是构建 RAG 应用、AI Agent 记忆系统和语义搜索引擎的理想底层引擎。

    经过阿里巴巴集团内部生产环境验证,Zvec 在保持极简部署的同时提供了企业级的低延迟和高吞吐能力。

    ⚙️ 安装要求和过程

    环境要求

    • 操作系统:Linux(x86_64 / ARM64)、macOS(ARM64)、Windows(x86_64)
    • Python 版本:3.10 ~ 3.14(pip 安装方式)
    • Node.js / Go / Rust / Dart:均有官方 SDK 支持

    快速安装(Python)

    # 一行命令安装
    pip install zvec
    
    # 验证安装
    python -c "import zvec; print('Zvec OK')"

    一分钟上手示例

    import zvec
    
    # 定义集合 Schema
    schema = zvec.CollectionSchema(
        name="example",
        vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
    )
    
    # 创建集合
    collection = zvec.create_and_open(path="./zvec_example", schema=schema)
    
    # 插入文档
    collection.insert([
        zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]}),
        zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
    ])
    
    # 向量相似度搜索
    results = collection.query(
        zvec.Query(field_name="embedding", vector=[0.4, 0.3, 0.3, 0.1]),
        topk=10
    )
    print(results)

    📦 其他语言 SDK

    • Node.jsnpm install @zvec/zvec
    • Rustzvec-rust
    • Gozvec-go
    • Dart/Flutterflutter pub add zvec

    🔥 核心功能

    1. 极速检索 —— 十亿级向量毫秒级响应
      基于 HNSW 等高效索引算法,在数十亿向量规模下仍能实现毫秒级延迟的相似度搜索。
    2. 密集 + 稀疏向量双模态支持
      同时支持 Dense Vector(浮点密集向量)和 Sparse Vector(稀疏向量),适配不同 Embedding 模型输出格式。
    3. 原生全文搜索(FTS)
      v0.5.0 新增!可为任意字符串字段附加 FTS 索引,支持自然语言或结构化表达式查询,无需外部搜索引擎。
    4. 混合检索(Hybrid Search)
      单次 MultiQuery 融合向量相似度、全文搜索、标量过滤和多维度排序,返回精确结果。
    5. DiskANN 磁盘索引
      v0.5.0 新增!将大部分索引数据放在磁盘上,大幅降低大规模数据集的内存占用。
    6. 持久化存储(WAL 日志)
      Write-Ahead Logging 保证崩溃安全——即使进程异常退出或断电,数据也绝不丢失。
    7. 多语言生态 + 可视化工具
      官方提供 Python / Node.js / Go / Rust / Dart 五种 SDK,另有 Zvec Studio 图形化管理工具。

    💡 典型使用场景

    场景一:RAG 检索增强生成系统

    将文档切片后的 Embedding 向量存入 Zvec,用户提问时先做语义检索召回相关片段,再送入 LLM 生成回答。Zvec 的本地化特性意味着零网络延迟、零外部依赖,特别适合隐私敏感的企业 RAG 场景。

    场景二:AI Agent 长期记忆

    为 AI Agent 构建持久化的记忆库——将用户交互、偏好、历史决策编码为向量存入 Zvec,Agent 启动时自动加载记忆上下文。WAL 持久化确保记忆永不丢失,混合检索支持按时间、主题、情感等多维度精准回忆。

    场景三:边缘设备 / 本地优先语义搜索

    作为进程内库嵌入到笔记本 App、IoT 设备或 CLI 工具中,实现离线语义搜索能力。无服务端依赖资源占用极小,支持 ARM64 和 RISC-V 架构,从云端到边缘全覆盖。

    ✨ 推荐理由

    用过不少向量数据库后,Zvec 的设计哲学让我印象深刻:“Just Works”——不需要配置服务器、不需要 Docker、不需要外部依赖。一个 pip install zvec 就能开始使用。

    对比同类方案:

    特性 Zvec 传统向量数据库
    部署方式 一行 pip install 独立服务 + 配置集群
    外部依赖 零依赖 Redis/Elasticsearch 等
    全文搜索 内置 FTS 需额外集成 ES
    混合检索 原生支持 需自行编排
    适用场景 RAG / Agent / 本地应用 大规模分布式检索

    v0.5.0 更是加入了全文搜索 + DiskANN + 多语言 SDK三大重磅功能,让 Zvec 从一个纯粹的向量数据库进化为全能型本地搜索引擎。对于正在搭建 RAG 系统、AI Agent 或需要本地语义搜索能力的开发者来说,Zvec 是目前最值得尝试的选择之一。

    🔗 下载地址

  • llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    llama.cpp:119.5K Stars!纯 C/C++ 打造的大模型本地推理引擎

    📝 项目简介

    llama.cpp 是一个用纯 C/C++ 实现、零外部依赖的大语言模型(LLM)推理引擎。它让你无需 Python 环境、无需昂贵显卡,就能在笔记本、树莓派甚至手机上高性能地运行 LLaMA、Qwen、Gemma、Mistral 等主流开源模型——可以说,它是当下几乎所有「本地跑大模型」工具的底层基石。

    🌐 官网:https://llama.app

    📦 GitHub:https://github.com/ggml-org/llama.cpp

    ⭐ Stars:119.5K+

    📄 开源协议:MIT License

    💻 主要语言:C / C++

    💻 安装要求和过程

    环境要求

    • C/C++ 编译器:GCC / Clang / MSVC,支持 C++11 及以上
    • CMake 3.8+:从源码构建时需要
    • 可选 GPU 后端:CUDA(NVIDIA)、ROCm(AMD)、Metal(Apple Silicon)、Vulkan、SYCL 等,用于硬件加速
    • 可选 Python 3:仅用于模型格式转换脚本 convert_*.py
    • 支持平台:macOS / Linux / Windows,以及 iOS、Android、浏览器(WASM)等

    快速安装步骤

    方式一:包管理器一键安装(推荐新手)

    # macOS
    brew install llama.cpp
    
    # Windows
    winget install llama.cpp
    
    # Conda
    conda install -c conda-forge llama-cpp

    方式二:Docker 运行(自带 API 服务)

    docker run -p 8080:8080 -v ./models:/models \
      ghcr.io/ggml-org/llama.cpp:server -m /models/your_model.gguf

    方式三:从源码构建

    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp
    cmake -B build
    cmake --build build --config Release

    快速开始:下载并运行一个模型

    # 命令行对话(自动从 Hugging Face 拉取 GGUF 模型)
    llama-cli -hf ggml-org/gemma-3-1b-it-GGUF
    
    # 启动 OpenAI 兼容的 API 服务(含简易 WebUI)
    llama-server -hf ggml-org/gemma-3-1b-it-GGUF --port 8080

    ✨ 核心功能

    1. 🪶 纯 C/C++ 零依赖,极致轻量

    不依赖 PyTorch、不依赖 Python 运行时,编译出一个二进制文件即可运行。极小的体积和无依赖特性,让它可以被移植到几乎所有计算设备——这正是它能跑在树莓派和手机上的根本原因。

    2. ⚡ 全平台硬件加速与混合推理

    针对 Apple Silicon(Metal / ARM NEON)、x86(AVX2 / AVX-512 / AMX)、RISC-V 等架构做了深度优化;支持 NVIDIA(CUDA)、AMD(ROCm)、摩尔线程(MUSA)、Vulkan、SYCL、OpenCL 等多种后端。CPU+GPU 混合推理甚至能运行超过显存容量的超大模型。

    3. 🗜️ GGUF 格式与 1.5~8 bit 量化

    模型统一封装为 GGUF 格式,并支持从 1.5-bit 到 8-bit 的整数量化。量化后显存与内存占用大幅下降,让消费级显卡甚至纯 CPU 也能流畅运行 70B 级别的大模型。

    4. 🔌 OpenAI 兼容 API 服务

    llama-server 提供与 OpenAI 完全兼容的 /v1 接口,并自带简易 WebUI。你现有的基于 OpenAI SDK 的应用几乎零改动就能切换到本地模型,彻底摆脱对云服务的依赖。

    5. 🧰 丰富的推理工具链

    内置 llama-bench(性能基准测试)、llama-perplexity(困惑度评估)、llama-quantize(模型量化)以及基于 GBNF 语法的约束解码(强制输出 JSON / 特定格式),覆盖从评测到生产的完整链路。

    🎯 典型使用场景

    场景一:在笔记本 / 手机上本地聊天,隐私数据不出端

    下载一个量化后的 Qwen 或 Gemma 模型,用 llama-cli 即可在断网环境下与 AI 对话。所有数据都在本地处理,特别适合处理合同、代码、笔记等敏感内容。

    场景二:自建私有 OpenAI 兼容推理服务

    在内网或离线环境中启动 llama-server,把本地模型包装成标准 API。前端应用、RAG 系统、Agent 框架(如 LangChain、Dify)都能直接对接,既保证数据合规,又省下云推理费用。

    llama-server -m models/qwen2.5-7b-instruct-q4_k_m.gguf --port 8080

    场景三:边缘设备与嵌入式部署

    在树莓派、工控机、车载设备上编译运行 llama.cpp,为 IoT 场景提供离线语音助手、本地知识问答等能力。配合量化技术,几百 MB 内存即可驱动一个可用的小模型。

    💡 推荐理由

    作为一名经常折腾本地大模型的开发者,我对 llama.cpp 的感情可以用「基石」二字形容。在它出现之前,想本地跑一个开源模型意味着安装几十 GB 的 PyTorch 环境,且基本只能在高端显卡上跑;llama.cpp 用纯 C/C++ 把这件事拉到了「人人可玩」的门槛。

    我的几点使用心得:

    • 它是整个生态的地基:Ollama、LM Studio、Jan、Open WebUI 乃至无数上层应用,底层推理几乎都调用了 llama.cpp。理解它,就理解了「本地 AI」的半壁江山。
    • 量化是性价比之王:7B 模型用 Q4_K_M 量化后体积不到 5GB,在普通笔记本上就能达到可用速度,是入门本地模型的最佳起点。
    • OpenAI 兼容接口太省心:一条 llama-server 命令就把本地模型变成标准 API,让我能把线上项目无痛切换到离线环境做.demo或内网部署。
    • 更新极快、社区极活跃:几乎每周都有新后端、新量化方法的合并,119K+ 的 Stars 背后是庞大而健康的贡献者群体。

    如果你想真正搞懂「大模型是怎么在本地跑起来的」,llama.cpp 是 2026 年依旧最值得 clone 一份源码、逐行读一读的开源项目。

    📥 下载地址

    🌐 官方网站:https://llama.app

    📦 GitHub 仓库:https://github.com/ggml-org/llama.cpp

    📚 官方文档:github.com/ggml-org/llama.cpp/docs

    🤗 GGUF 模型库:huggingface.co/ggml-org

    🐳 Docker 镜像:ghcr.io/ggml-org/llama.cpp


    📌 本文是《GitHub 热门 AI 开源项目》系列的第 95 期,每期介绍一个热门的 AI 开源项目。欢迎关注本栏目,获取更多优质开源项目介绍!