weaviate

GitHub
16k 1.3k 简单 1 次阅读 今天BSD-3-Clause图像其他数据工具开发框架
AI 解读 由 AI 自动生成,仅供参考

Weaviate 是一款开源的云原生向量数据库,专为处理大规模人工智能数据而设计。它不仅能存储传统的结构化对象,还能同时存储向量嵌入,从而将高效的向量相似度搜索与精确的结构化过滤完美结合。

在构建基于大语言模型的应用时,开发者常面临如何快速检索相关知识以增强生成效果(即 RAG 技术)的挑战。Weaviate 有效解决了这一痛点,支持在单次查询中完成语义搜索、关键词过滤及重排序,广泛应用于智能问答机器人、语义搜索引擎、推荐系统及内容分类等场景。

这款工具主要面向软件开发者和 AI 研究人员。其独特的技术亮点在于极高的易用性与灵活性:既支持在数据导入时调用 OpenAI、HuggingFace 等集成模型自动向量化,也允许直接导入预计算好的向量。此外,Weaviate 原生具备多租户管理、数据复制和细粒度权限控制等企业级特性,确保系统在云端环境下的稳定扩展。通过简单的 Docker 配置或 Python 客户端,用户即可快速搭建本地实例并启动语义搜索服务,是构建下一代智能应用的理想基础设施。

使用场景

某电商平台的客服团队正在构建一个智能问答系统,旨在让用户能通过自然语言描述快速找到对应的商品售后政策和技术文档。

没有 weaviate 时

  • 搜索精度低:传统关键词匹配无法理解“屏幕碎了怎么办”与“显示屏破裂维修政策”之间的语义关联,导致大量相关文档被遗漏。
  • 架构复杂冗余:需要分别维护关系型数据库存储文档元数据(如分类、日期)和独立的向量服务进行相似度计算,开发和维护成本高昂。
  • 过滤功能缺失:难以在语义搜索的同时结合结构化条件(如“仅限 2024 年发布的手机型号”),往往需要先全量搜索再在代码层二次过滤,效率极低。
  • 扩展性差:随着文档量激增,自建向量索引在并发查询时延迟飙升,且缺乏原生的多租户隔离机制,难以支撑不同品牌商家的独立数据需求。

使用 weaviate 后

  • 语义理解精准:weaviate 内置向量模型自动将文本转化为嵌入向量,用户即使使用口语化表达也能精准命中核心政策文档。
  • 架构统一简化:weaviate 同时存储对象属性和向量数据,在一个数据库中即可完成混合检索,大幅降低了技术栈复杂度。
  • 原生混合过滤:支持在单次查询中结合向量相似度与结构化过滤(如按时间、品类筛选),直接返回符合所有条件的精确结果。
  • 云原生高可用:凭借内置的多租户、复制和 RBAC 权限控制,系统轻松应对海量数据增长,并为不同商家提供安全隔离的数据空间。

weaviate 通过将向量搜索与结构化过滤无缝融合,让开发者能以极简架构构建出既懂语义又具备精细控制能力的高性能检索应用。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

非必需(可选用于加速嵌入模型推理,具体取决于所选模型提供商)

内存

最低未说明,推荐 8GB+(生产环境需根据数据量和并发调整)

依赖
notesWeaviate 核心服务通常通过 Docker 或 Kubernetes 部署,不直接依赖本地 Python 环境运行。Python 仅用于安装客户端库(weaviate-client)进行交互。支持多种嵌入模型提供商(如 OpenAI, Cohere, HuggingFace 等),若使用本地轻量级模型(如示例中的 Model2Vec),需额外运行对应的容器服务。生产环境支持水平扩展、多租户和复制功能。
python3.8+ (客户端库要求)
weaviate-client
docker
docker-compose
weaviate hero image

快速开始

Weaviate Weaviate logo

GitHub 仓库星级 Go 参考文档 构建状态 Go Report Card 覆盖率状态

Weaviate 是一款开源的云原生向量数据库,能够同时存储对象和向量,从而实现大规模的语义搜索。它将向量相似度搜索与关键词过滤、检索增强生成(RAG)以及重排序等功能整合到一个查询接口中。常见的应用场景包括 RAG 系统、语义搜索和图像搜索、推荐引擎、聊天机器人以及内容分类等。

Weaviate 支持两种向量存储方式:一种是在导入时使用 集成模型(如 OpenAI、Cohere、HuggingFace 等)进行自动向量化;另一种则是直接导入 预计算的向量嵌入。在生产环境中部署时,Weaviate 提供了内置的多租户支持、数据复制、基于角色的访问控制(RBAC)以及 众多其他特性

要快速入门,请参阅以下教程之一:

安装

Weaviate 提供了多种安装和部署选项:

更多部署选项,例如 AWSGCP,请参阅 安装文档

开始使用

您可以使用 Docker 轻松启动 Weaviate 和本地向量嵌入模型。首先创建一个 docker-compose.yml 文件:

services:
  weaviate:
    image: cr.weaviate.io/semitechnologies/weaviate:1.36.0
    ports:
      - "8080:8080"
      - "50051:50051"
    environment:
      ENABLE_MODULES: text2vec-model2vec
      MODEL2VEC_INFERENCE_API: http://text2vec-model2vec:8080

  # 一个轻量级的嵌入模型,可在导入时为对象生成向量
  text2vec-model2vec:
    image: cr.weaviate.io/semitechnologies/model2vec-inference:minishlab-potion-base-32M

然后通过以下命令启动 Weaviate 和嵌入服务:

docker compose up -d

接下来安装 Python 客户端(或使用其他 客户端库):

pip install -U weaviate-client

以下 Python 示例展示了如何轻松地将数据填充到 Weaviate 数据库中、创建向量嵌入并执行语义搜索:

import weaviate
from weaviate.classes.config import Configure, DataType, Property

# 连接到 Weaviate
client = weaviate.connect_to_local()

# 创建集合
client.collections.create(
    name="Article",
    properties=[Property(name="content", data_type=DataType.TEXT)],
    vector_config=Configure.Vectors.text2vec_model2vec(),  # 使用向量化器在导入时生成嵌入
    # vector_config=Configure.Vectors.self_provided()  # 如果您希望导入自己预先生成的嵌入
)

# 插入对象并生成嵌入
articles = client.collections.get("Article")
articles.data.insert_many(
    [
        {"content": "向量数据库支持语义搜索"},
        {"content": "机器学习模型可以生成嵌入"},
        {"content": "Weaviate 支持混合搜索功能"},
    ]
)

# 执行语义搜索
results = articles.query.near_text(query="按语义搜索对象", limit=1)
print(results.objects[0])

client.close()

此示例使用了 Model2Vec 向量化器,但您也可以选择其他 嵌入模型提供商 或者 自行提供预生成的向量

客户端库和 API

Weaviate 为多种编程语言提供了客户端库:

此外,还有由社区维护的 附加库

Weaviate 暴露了 REST APIgRPC APIGraphQL API,用于与数据库服务器进行通信。

Weaviate 的特性

这些特性使您能够构建由 AI 驱动的应用程序:

  • ⚡ 快速的搜索性能:在毫秒级内对数十亿个向量执行复杂的语义搜索。Weaviate 的架构采用 Go 语言构建,兼具速度与可靠性,确保您的 AI 应用程序即使在高负载下也能保持高度响应。更多信息请参阅我们的 ANN 基准测试

  • 🔌 灵活的向量化:通过与 OpenAI、Cohere、HuggingFace、Google 等提供的集成向量化器,在数据导入时无缝完成向量化。您也可以导入自定义向量嵌入

  • 🔍 高级混合与图像搜索:将语义搜索的强大功能与传统的关键词(BM25)搜索图像搜索以及高级过滤相结合,只需一次 API 调用即可获得最佳结果。

  • 🤖 集成 RAG 与重排序:借助内置的生成式搜索(RAG)重排序功能,超越简单的检索。无需额外工具,即可直接从数据库中构建复杂的问答系统、聊天机器人和摘要生成器。

  • 📈 生产就绪且可扩展:Weaviate 专为关键任务型应用而设计。通过原生支持水平扩展多租户复制以及细粒度的基于角色的访问控制(RBAC),您可以轻松地从快速原型开发过渡到大规模生产环境。

  • 💰 低成本运营:借助内置的向量压缩,大幅降低资源消耗和运营成本。向量量化和多向量编码可在几乎不影响搜索性能的情况下减少内存使用。

  • ⏱️ 对象 TTL:通过为每个集合配置可调的生存时间(TTL)设置,自动过期并移除过时数据,同时完全支持 RBAC 和多租户功能。

如需查看所有功能的完整列表,请访问Weaviate 官方文档

有用资源

AI 代理技能

Weaviate Agent Skills 是一套专为 AI 编码代理(Claude Code、Cursor、GitHub Copilot 等)设计的技能库,使它们能够更准确、更高效地与 Weaviate 集成。这些技能涵盖了搜索、查询、集合管理、数据导入,以及完整的应用蓝图(RAG、代理式 RAG、聊天机器人等)。

安装方法如下:

npx skills add weaviate/agent-skills

演示项目与示例代码

这些演示项目是实际运行的应用程序,展示了 Weaviate 的部分强大功能。其源代码可在 GitHub 上获取。

  • Elysia (GitHub):Elysia 是一个基于决策树的代理系统,能够智能地决定使用哪些工具、已获得哪些结果,以及是否需要继续处理或目标是否已完成。
  • Verba (GitHub):这是一款由社区驱动的开源应用,旨在提供开箱即用的端到端、简化且用户友好的界面,用于增强检索的生成式模型(RAG)。
  • Healthsearch (GitHub):这是一个开源项目,旨在展示如何利用用户撰写的评论和查询,根据特定的健康效果检索补充剂产品。
  • Awesome-Moviate (GitHub):这是一款电影搜索与推荐引擎,支持基于关键词(BM25)、语义以及混合搜索。

我们还维护着大量的 Jupyter NotebookTypeScript 代码片段 仓库,涵盖如何使用 Weaviate 的各项功能及集成:

博客文章

集成

Weaviate 与众多外部服务集成:

类别 描述 集成
云超大规模服务商 大规模计算和存储 AWS, Google
计算基础设施 运行和扩展容器化应用 Modal, Replicate, Replicated
数据平台 数据摄取和网页抓取 Airbyte, Aryn, Boomi, Box, Confluent, Astronomer, Context Data, Databricks, Firecrawl, IBM, Unstructured
LLM 和智能体框架 构建智能体和生成式 AI 应用 Agno, Composio, CrewAI, DSPy, Dynamiq, Haystack, LangChain, LlamaIndex, N8n, Semantic Kernel
运维工具 用于监控和分析生成式 AI 工作流的工具 AIMon, Arize, Cleanlab, Comet, DeepEval, Langtrace, LangWatch, Nomic, Patronus AI, Ragas, TruLens, Weights & Biases

贡献

我们欢迎并感谢您的贡献!请参阅我们的贡献者指南,了解开发环境搭建、代码风格规范、测试要求以及拉取请求的提交流程。

加入我们的社区论坛,讨论想法并获取帮助。

许可证

BSD 3-Clause 许可证。详情请参阅LICENSE

版本历史

v1.35.182026/04/17
v1.37.12026/04/17
v1.36.122026/04/17
v1.37.02026/04/16
v1.35.172026/04/15
v1.36.112026/04/17
v1.37.0-rc.12026/04/13
v1.36.102026/04/11
v1.37.0-rc.02026/04/03
v1.36.92026/04/03
v1.36.82026/03/30
v1.34.202026/03/26
v1.35.162026/03/26
v1.36.72026/03/25
v1.36.62026/03/19
v1.35.152026/03/19
v1.36.52026/03/12
v1.36.42026/03/10
v1.35.142026/03/09
v1.34.192026/03/09

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|今天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架