OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Weaviate — 支持向量检索与生成式应用的数据平台

Weaviate — 支持向量检索与生成式应用的数据平台

 
  five ·  2026-06-24 11:00:15 · 18 次点击  · 0 条评论  

Weaviate Weaviate logo

GitHub Repo stars
Go Reference
Build Status
Go Report Card
Coverage Status

Weaviate 是一个开源的、云原生的向量数据库,既存储对象也存储向量,支持大规模语义搜索。它通过统一的查询接口,将向量相似度搜索与关键词过滤、检索增强生成(RAG)和重排序相结合。常见用例包括 RAG 系统、语义和图像搜索、推荐引擎、聊天机器人和内容分类。

Weaviate 支持两种向量存储方式:使用集成模型(OpenAI、Cohere、HuggingFace 等)在导入时自动向量化,或者直接导入预先计算的向量嵌入。生产环境部署时,可以利用内置的多租户、复制、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 等的集成向量化器在导入时无缝向量化数据。你也可以导入自己的向量嵌入

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

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

  • 📈 生产就绪与可扩展:Weaviate 专为关键任务应用而构建。借助对水平扩展多租户复制和细粒度基于角色的访问控制(RBAC)的原生支持,你可以从快速原型开发快速扩展到生产环境的大规模应用。

  • 💰 经济高效的运维:通过内置的向量压缩大幅降低资源消耗和运维成本。向量量化和多向量编码可在对搜索性能影响最小的情况下降低内存使用。

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

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

有用资源

AI Agent 技能

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 NotebooksTypeScript 代码片段库,涵盖如何使用 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

18 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 32 ms
Developed with Cursor