标签: 向量数据库

  • Chroma:28.2K Stars!AI 开源向量数据库,让语义搜索 5 行代码搞定

    Chroma:28.2K Stars!AI 开源向量数据库,让语义搜索 5 行代码搞定

    如果你正在构建 RAG 应用、智能客服、文档问答系统,你会发现一个核心难题:如何让 AI 从海量文本中快速找到最相关的内容?

    Chroma 向量数据库
    Chroma —— 面向 AI 的开源向量数据库

    📦 项目简介

    Chroma 是专为 AI 应用设计的开源向量数据库,定位为“AI 的搜索基础设施”。它让开发者能够以极简的 API 完成文档嵌入、向量存储、语义检索的全流程,是构建 RAG(检索增强生成)系统的首选工具之一。

    Chroma 的核心设计理念是简单优先:核心 API 只有 4 个函数,5 行代码即可完成文档入库和语义搜索。同时支持 Python 和 JavaScript 双语言客户端,并提供 Chroma Cloud 托管服务(注册即送 $5 免费额度,30 秒内完成数据库创建)。

    ⚙️ 安装要求与过程

    环境要求

    • Python:3.8+(推荐 3.9+)
    • Node.js:16+(使用 JavaScript 客户端时需要)
    • 内存:最低 2GB(内存模式);生产环境建议 4GB+
    • 存储:持久化模式需要磁盘空间存放向量索引

    快速安装(3 步搞定)

    # 第1步:安装 Chroma(Python)
    pip install chromadb
    
    # 第2步:启动 Chroma 服务(可选,也可直接用内存模式)
    # chroma run --path ./chroma_db
    
    # 第3步:写 5 行代码,完成第一个语义搜索!
    import chromadb
    client = chromadb.Client()
    collection = client.create_collection("my_docs")
    collection.add(documents=["你好世界", "Hello World"], ids=["id1", "id2"])
    results = collection.query(query_texts=["greeting"], n_results=1)
    print(results)

    JavaScript/TypeScript 用户:

    # JavaScript/TypeScript 安装
    npm install chromadb
    
    # 快速使用
    import { ChromaClient } from 'chromadb';
    const client = new ChromaClient();
    const collection = await client.createCollection({ name: "my_docs" });
    await collection.add({ ids: ["id1"], documents: ["Hello World"] });
    const results = await collection.query({ queryTexts: ["greeting"], nResults: 1 });
    console.log(results);

    💡 核心功能

    🎯 极简 API 设计
    核心 API 仅 4 个函数:创建集合、添加文档、查询搜索、管理集合。学习成本几乎为零,5 行代码即可完成语义搜索全流程。

    🔍 多模态搜索能力
    支持纯向量搜索、全文搜索、混合搜索(向量+关键词)三种模式。可根据场景灵活选择,搜索精度远超单一模式。

    🧠 自动嵌入处理
    添加文档时自动完成分词 → 向量嵌入 → 索引构建全流程,内置主流 Embedding 模型(Sentence Transformers 等),也支持自定义向量传入。

    🔧 灵活部署模式
    支持内存模式(快速原型)、持久化存储(生产环境)、客户端-服务端(多应用共享)、Chroma Cloud(完全托管,免运维)。

    🏷️ 多维度过滤
    支持基于元数据(metadata)的精确过滤,和基于文档内容的包含过滤。例如:只搜索”来源为官网”的文档,或只搜索”包含特定关键词”的段落。

    🌐 多语言客户端
    官方支持 Python 和 JavaScript/TypeScript 双语言客户端,API 设计一致。社区还提供了 Go、Java、Ruby 等语言客户端,覆盖主流开发生态。

    🚀 典型使用场景

    场景一:RAG 文档问答系统

    将企业知识库、产品文档、FAQ 等文本存入 Chroma,用户提问时通过语义搜索找到最相关的片段,再交给 LLM 生成回答。这是 Chroma 最经典的应用场景,也是目前大量 AI 应用的标准架构。

    # RAG 典型代码(简化版)
    import chromadb
    from sentence_transformers import SentenceTransformer
    
    # 1. 连接 Chroma
    client = chromadb.Client()
    collection = client.get_or_create_collection("company_docs")
    
    # 2. 文档切片入库(实际项目可用更高级的分片策略)
    docs = ["退款政策:7天内可申请...", "Shipping: 2-5 business days..."]
    collection.add(documents=docs, ids=["doc1", "doc2"])
    
    # 3. 用户提问 → 语义检索 → 交给 LLM
    query = "如何申请退款?"
    results = collection.query(query_texts=[query], n_results=3)
    # results['documents'] 即为最相关的文档片段,传给 LLM 生成回答

    场景二:AI 应用语义缓存

    对 LLM 的相似问题,直接返回缓存的答案,避免重复调用大模型,可降低 30-80% 的 API 成本。Chroma 的向量相似度搜索非常适合实现语义缓存——用户问”怎么退款”和”退款流程是什么”应该命中同一个缓存。

    场景三:内容推荐与去重

    新闻推荐、电商商品推荐、短视频去重等场景,都可以通过向量相似度来实现。Chroma 的轻量特性使其非常适合作为推荐系统的向量检索层,毫秒级返回相似内容。

    🌟 推荐理由

    我推荐 Chroma 的核心原因是它把”向量数据库”这个听起来很高大上的东西,做到了真正对开发者友好。以下是我的真实使用感受:

    第一,上手速度极快。对比 Pinecone、Weaviate、Qdrant 等竞品,Chroma 的学习曲线是最平缓的。核心 API 只有 4 个函数,README 中的示例代码复制到本地,5 分钟就能跑通第一个语义搜索。对于想快速验证 RAG 想法的开发者,这非常重要。

    第二,开源 + 零依赖启动。Chroma 采用 Apache 2.0 开源协议,可以免费用于商业项目。内存模式不需要安装任何外部依赖(不需要 Docker、不需要单独装数据库),pip install chromadb 之后直接就能用,对个人开发者和小型团队极其友好。

    第三,生产路径清晰。很多”易上手”的工具到了生产环境就掉链子,但 Chroma 提供了完整的升级路径:开发阶段用内存模式快速迭代 → 部署时用持久化模式 → 规模化后用 Chroma Cloud 或自托管 HTTP 服务。这个路径非常平滑,不需要重写代码。

    什么场景不适合 Chroma?如果你需要百亿级向量规模(如千万级文档),Chroma 目前的能力可能不如专用的分布式向量数据库(如 Milvus)。但对于99% 的 AI 应用开发者(百万级向量以下),Chroma 的性能和易用性是最优平衡。

    📥 下载地址

    🌐 官方网站
    trychroma.com

    🐙 GitHub 仓库
    github.com/chroma-core/chroma
    (28.2K+ Stars)

    📦 PyPI 安装
    pip install chromadb

    📦 npm 安装
    npm install chromadb

    ☁️ Chroma Cloud
    cloud.trychroma.com
    (注册送 $5 免费额度)

    📌 本文由 WorkBuddy AI 自动采集撰写,阅读原文请访问 GitHub 仓库。

  • Qdrant:31.6K Stars!高性能向量数据库,让AI语义检索快如闪电

    Qdrant 向量数据库

    🚀 项目简介

    Qdrant 是一款用 Rust 编写的高性能开源向量数据库和向量搜索引擎,专为 AI 时代的语义检索、RAG(检索增强生成)和推荐系统而生。它在 GitHub 上已获得 31.6K+ Stars,被 TripAdvisor、HubSpot、Canva 等知名企业用于生产环境。

    不同于传统的关键词搜索,Qdrant 通过向量嵌入(Embedding)理解数据语义,让 AI 应用能够「读懂」用户意图,实现真正的智能检索。

    ⚙️ 安装要求和过程

    环境要求

    • 🖥️ 最低配置:2核CPU、4GB RAM(用于开发测试)
    • 🚀 生产推荐:4核+、16GB+ RAM、SSD存储(处理亿级向量)
    • 🐳 依赖:Docker(推荐)、或直接在 Linux/macOS 上运行二进制文件
    • 📦 客户端支持:Python、JavaScript/TypeScript、Go、Rust、Java 等主流语言

    快速安装(Docker 方式)

    # 拉取最新镜像并启动
    docker run -p 6333:6333 \
      -v $(pwd)/qdrant_storage:/qdrant/storage \
      qdrant/qdrant
    
    # 验证运行状态
    curl http://localhost:6333/health
    
    # Python 客户端安装
    pip install qdrant-client
    
    # Node.js 客户端安装
    npm install @qdrant/js-client-rest

    快速开始(Python)

    from qdrant_client import QdrantClient, models
    
    # 连接本地 Qdrant
    client = QdrantClient("localhost", port=6333)
    
    # 创建集合
    client.create_collection(
        collection_name="my_documents",
        vectors_config=models.VectorParams(
            size=384,
            distance=models.Distance.COSINE
        )
    )
    
    # 插入向量数据
    client.upsert(
        collection_name="my_documents",
        points=models.Batch(
            ids=[1, 2, 3],
            vectors=[[0.1, 0.2, ...], ...],
            payloads=[{"text": "AI 简介"}, ...]
        )
    )
    
    # 语义搜索
    results = client.search(
        collection_name="my_documents",
        query_vector=[0.15, 0.25, ...],
        limit=5
    )
    print(results)

    ✨ 核心功能

    🔍 1. 混合检索(Hybrid Search)

    原生支持 Dense(稠密)+ Sparse(稀疏)向量混合检索,兼容 BM25、SPLADE++、miniCOIL 等算法。既可以理解语义,又能精准匹配关键词,大幅提升召回率和相关性。

    ⚡ 2. 极致性能与量化

    基于 Rust 构建,内置 SIMD 优化和自研存储引擎 Gridstore。支持标量量化、二进制量化,最高可降低 64 倍内存占用,同时保持检索质量。可轻松存储数十亿级向量,延迟稳定在毫秒级。

    🔧 3. 实时索引与过滤

    新数据写入后可 立即被检索,无需全量重建索引。过滤逻辑在 HNSW 遍历过程中执行(单阶段过滤),无需前置/后置过滤,复杂条件下仍可保持高召回和低延迟。

    🚀 4. 企业级能力与云原生

    支持多租户、细粒度 RBAC 权限控制、私有网络、零停机升级、备份与时间点恢复。Qdrant Cloud 支持 AWS、GCP、Azure,自动扩缩容。已通过 SOC2、HIPAA 合规认证,符合 GDPR 标准。

    📡️ 5. 多模态与 SDK 生态

    单个对象可关联 多个向量,支持文本、图像、音频等多模态检索。提供 Python、JavaScript、Go、Rust、Java 等官方 SDK,内置 Web UI 可视化管理。

    🎯 典型使用场景

    📚 场景一:RAG(检索增强生成)—— 让 AI 回答有依据

    将企业知识库、技术文档、客服历史等数据向量化后存入 Qdrant,当用户提问时,先检索最相关的上下文,再送给 LLM 生成回答。相比直接让 AI 回答,RAG 能大幅减少幻觉,让回答有据可查。

    💡 实战案例:某 SaaS 企业将 10 万篇技术文档存入 Qdrant(768 维向量),结合 GPT-4o 实现精准问答,客户支持效率提升 3 倍,答案准确率从 62% 提升至 94%。

    🛒 场景二:推荐系统 —— 理解用户真正想要什么

    将商品、内容、用户行为都转化为向量,通过相似度匹配实现个性化推荐。Qdrant 的实时索引能力让新上架商品可被立即推荐,混合检索则兼顾了语义理解和精准匹配。

    💡 实战案例:某电商平台使用 Qdrant 替换原有推荐引擎,向量检索延迟降低 90%,吞吐量提升 150%,同时营收增长 2-3 倍。

    🔍 场景三:语义搜索 —— 突破关键词限制的智能检索

    传统搜索只能匹配关键词,而 Qdrant 的语义搜索能理解查询意图。用户搜索「如何训练大模型」,即使文档里没有这句话,而是写着「LLM 微调入门指南」,也能被准确召回。

    💝 推荐理由

    如果你正在构建 AI 应用,Qdrant 几乎是向量数据库的首选方案。我推荐它的理由很简单:

    • 🦀 Rust 带来的性能信心 —— 内存安全、无 GC 停顿、SIMD 优化,生产环境稳如磐石
    • 🌐 部署灵活 —— 本地 Docker、自建集群、全托管云服务,三种方式任意切换
    • 🔗 与 AI 生态无缝集成 —— LangChain、LlamaIndex、Haystack 等框架均有 Qdrant 适配器
    • 📈 经过生产验证 —— TripAdvisor、HubSpot、德意志电信、Canva 等企业在用,300+ 版本迭代,2.5 亿次下载
    • 💰 开源免费 —— Apache 2.0 协议,自托管完全免费,只有使用云服务才收费

    如果你用过 Pinecone 但觉得太贵,或者用过 Milvus 但觉得太重,Qdrant 会是一个「刚刚好」的选择。

    📥 下载地址


    📌 第43期 · GitHub热门AI开源项目系列 · 让AI开发不再成为瓶颈

  • Supabase:103k Stars!开源Firebase替代品,AI应用的数据底座首选

    Supabase:103k Stars!开源Firebase替代品,AI应用的数据底座首选

    Supabase - The Open Source Firebase Alternative

    Supabase – 开源 Firebase 替代品

    🚀 一句话介绍:Supabase 是基于 PostgreSQL 的开源 Firebase 替代品,提供数据库、认证、实时订阅、边缘函数、文件存储等全套后端能力,让开发者无需写后端代码即可构建完整的 Web/Mobile/AI 应用。


    ⚙️
    安装要求与过程

    环境要求

    • Docker Desktop(本地开发必备)
    • Node.js 18+(前端集成)
    • Git(获取源码)
    • 支持 macOS / Windows(WSL2) / Linux

    🚀 快速安装(3种方式)

    # 方式一:使用官方 CLI(推荐)
    npm install -g supabase
    supabase init
    supabase start
    
    # 方式二:Docker 直接运行
    docker run -p 8000:8000 supabase/supabase
    
    # 方式三:直接使用云端(零安装)
    注册即用的托管平台 → https://supabase.com/dashboard

    ✅ 本地启动后访问 http://localhost:54323 即可打开控制台



    核心功能

    🗄️

    托管 PostgreSQL 数据库

    完整 PostgreSQL 实例,支持扩展、备份、SSL 加密,直接提供生产级数据库服务。

    🔐

    身份认证与授权

    基于 JWT 的完整认证体系,支持邮箱/密码、魔法链接、OAuth(GitHub/Google/Apple 等)。

    自动生成 API

    零配置自动生成 REST API(PostgREST)和 GraphQL API,实时订阅数据库变更(Realtime)。

    🤖

    AI 向量存储

    内置 pgvector 扩展,支持向量嵌入存储与语义搜索,是构建 RAG 应用和 AI 知识库的理想数据底座。

    边缘函数

    基于 Deno 的全球边缘函数,支持 TypeScript,超低延迟执行后端逻辑,就近部署。


    💡
    典型使用场景

    场景一:AI 应用的数据底座

    利用 Supabase 内置的 pgvector 扩展存储向量嵌入,配合 Supabase 客户端库实现语义搜索。适合构建 RAG 应用、AI 聊天机器人的知识库、文档问答系统等。与 OpenAI / Anthropic API 无缝集成,是 AI 全栈开发的首选后端。

    场景二:SaaS 应用快速启动

    一个命令 supabase init 即可获得全套后端:数据库 + 认证 + API + 文件存储 + 实时订阅。不需要雇用后端团队,不需要配置服务器,专注于前端业务逻辑即可。大量 indie hackers 和创业团队用它在一周内完成 MVP 上线。

    场景三:实时协作应用

    Supabase Realtime 引擎基于 PostgreSQL 的逻辑复制,可监听数据库每行数据的 INSERT/UPDATE/DELETE 变更,并实时推送到前端。适合构建多人协作工具(如 Notion 类应用)、实时聊天、在线白板等场景。


    ❤️
    推荐理由

    作为一名 AI 开发者,我选择 Supabase 最核心的原因是:它把 PostgreSQL 的强大数据能力与 AI 应用的需求完美结合了。内置的 pgvector 扩展让我不需要额外维护一套向量数据库,所有用户数据、向量嵌入、文件存储都在一个平台搞定。

    对比使用传统的”PostgreSQL + 独立向量数据库 + 独立 Auth 服务”的组合,Supabase 帮我省掉了大量运维成本。开源 + 自托管的特性也意味着数据完全掌握在自己手里,对于有数据安全要求的企业场景尤为重要。

    目前 Supabase 在 GitHub 上已经突破 10 万 Stars,社区活跃度极高,几乎每周都有新功能和改进上线。如果你正在做 AI 应用、SaaS 产品或者任何需要后端的项目,强烈建议试试!


    🔗
    下载地址

    💡 小贴士

    Supabase 提供 免费套餐(500MB 数据库、1GB 文件存储、50K 月活用户),个人项目完全够用!付费方案从 $25/月 起。