Weaviate 介绍
Weaviate 是一个开源的 AI 原生向量数据库,专为 AI 工程师设计,用于处理大规模的向量搜索和 AI 应用。 它被众多 AI 创新者所信赖,能够快速启动并扩展到数十亿规模的数据。作为 Retrieval Augmented Generation (RAG)、AI 代理以及未来 AI 开发的缺失环节,Weaviate 帮助开发者专注于功能开发而非基础设施管理。
关键特性
Weaviate 提供了丰富的生产级 AI 应用功能,包括:
- AI 驱动搜索:支持纯向量搜索、语义搜索和混合搜索(向量 + 关键词),能够处理非结构化数据的智能上下文搜索。例如,可以使用 near_vector、near_text 或 hybrid 查询来检索数据集合。
- Retrieval Augmented Generation (RAG):基于数据的基础上的可信聊天体验。
- Agentic AI:构建知识丰富的 AI 代理和代理工作流。
- 语言无关设计:提供 Python、Go、TypeScript 或 JavaScript 的 SDK,以及 GraphQL 或 REST API 接口。
- 无缝模型集成:连接自定义 ML 模型或内置嵌入服务。
- 数据库代理:预构建的代理,用于与数据交互并减少手动工作。
- 一站式 AI 功能:避免使用多个系统和复杂数据管道,减少自定义代码,实现更快构建 AI 原生应用。
- 亿级规模架构:适应任何工作负载,无缝扩展,同时优化成本。
- 企业级部署:支持云端或本地安全运行,符合 RBAC、SOC 2 和 HIPAA 等要求。
优势
Weaviate 易于上手,支持无限扩展和灵活部署。它简化了开发流程,将 AI 功能整合到一个系统中,减少了复杂性。开发者可以快速启动集群、连接数据,并利用自动缩放功能。相比传统设置,Weaviate 让 AI 应用构建更高效。此外,它还提供全球专家支持,并拥有超过 5 万名 AI 构建者的社区,用于课程、活动和讨论。
用例
- AI 驱动搜索:用于非结构化数据的智能上下文搜索。
- Retrieval Augmented Generation:创建基于数据的可靠聊天系统。
- Agentic AI:开发智能 AI 代理和工作流。
工作原理
Weaviate 作为一个向量数据库运行,用户可以通过 SDK 或 API 选择数据集合(如 “SupportTickets”),并执行查询(如 near_text 查询 “login issues after OS upgrade”)。它无缝集成 ML 模型进行嵌入生成。部署时,可以使用 Weaviate Cloud 或快速启动指南设置集群,并利用预构建代理管理数据。
支持集成
- SDK:Python、Go、TypeScript、JavaScript。
- API:GraphQL、REST。
- ML 模型:自定义模型或内置嵌入服务。
定价选项
官方内容中未明确指定定价细节,建议访问官网了解 Weaviate Cloud 的订阅选项。
近期更新
官方主页未提及具体近期更新或新闻,但 Weaviate 作为开源项目,建议查看 GitHub 仓库或文档以获取最新版本信息。
Weaviate 安装教程
Weaviate 是一个开源的向量数据库,支持多种安装方式,包括 Docker、本地嵌入式、Kubernetes 和托管的 Weaviate Cloud 服务。以下是最简单的安装指南,基于官方文档。假设你有基本的命令行知识,并已安装必要的工具(如 Docker、Helm 等)。教程针对最新稳定版本(例如 v1.33.x),请根据需要调整版本号。
使用 Docker 安装(推荐本地开发)
Docker 是最快速的本地安装方式,支持单节点或多节点配置。适用于测试和开发。
先决条件
- 已安装 Docker 和 Docker Compose。
- 对于 GPU 模块(如 text2vec-transformers),需 NVIDIA GPU 和 CUDA 驱动。
- 足够的磁盘空间用于持久化存储。
步骤
-
快速启动单节点(无持久化):
docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.33.1- 访问
http://localhost:8080/v1/meta验证运行(应返回 200 OK)。
- 访问
-
使用 Docker Compose 配置持久化:
- 创建
docker-compose.yml文件:--- services: weaviate: command: - --host - 0.0.0.0 - --port - '8080' - --scheme - http image: cr.weaviate.io/semitechnologies/weaviate:1.33.1 ports: - 8080:8080 - 50051:50051 volumes: - weaviate_data:/var/lib/weaviate restart: on-failure:0 environment: QUERY_DEFAULTS_LIMIT: 25 AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: '/var/lib/weaviate' CLUSTER_HOSTNAME: 'node1' volumes: weaviate_data: - 运行:
docker compose up -d。 - 停止:
docker compose down(数据持久化)。
- 创建
-
添加模块(如 text2vec-transformers):
- 修改
docker-compose.yml添加模块服务,并设置ENABLE_MODULES和DEFAULT_VECTORIZER_MODULE。
- 修改
-
多节点配置:
- 在
docker-compose.yml中定义多个服务(如 weaviate-node-1、node-2、node-3),设置CLUSTER_JOIN和RAFT_BOOTSTRAP_EXPECT。
- 在
注意事项
- 默认启用匿名访问,仅用于开发。生产环境配置认证。
- 故障排除:检查日志
docker compose logs -f,确保端口不冲突。
使用 Embedded Weaviate 安装(嵌入应用)
Embedded Weaviate 允许从代码中启动实例,适用于 Python 或 TypeScript 应用。数据持久化,但实例随客户端退出。
先决条件
- Linux 或 macOS。
- Python 客户端 v3.15.4+(Linux)/v3.21.0+(macOS),或 TypeScript
npm install weaviate-ts-embedded。
步骤(Python 示例)
-
安装客户端:
pip install -U weaviate-client。 -
启动实例:
import weaviate import os client = weaviate.connect_to_embedded( version="1.33.1", headers={"X-OpenAI-Api-Key": os.getenv("OPENAI_APIKEY")}, environment_variables={"LOG_LEVEL": "error"} ) # 使用客户端代码 client.close() -
自定义配置:
- 使用
EmbeddedOptions添加环境变量,如启用模块ENABLE_MODULES。
- 使用
注意事项
- 默认模块包括 text2vec-openai 等。实验性功能,API 可能变更。
- 日志过多时设置
LOG_LEVEL为 error。
使用 Kubernetes 安装(生产环境)
Kubernetes 适合大规模部署,使用 Helm 图表。
先决条件
- Kubernetes v1.23+ 集群,支持 PersistentVolumes。
- Helm v3+。
kubectl配置访问集群。
步骤
-
添加 Helm 仓库:
helm repo add weaviate https://weaviate.github.io/weaviate-helm helm repo update -
获取并编辑 values.yaml:
helm show values weaviate/weaviate > values.yaml- 设置 Weaviate 版本、模块、认证(如 API 密钥、OIDC)、资源限制、gRPC 等。
-
部署:
kubectl create namespace weaviate helm upgrade --install "weaviate" weaviate/weaviate --namespace "weaviate" --values ./values.yaml -
升级:重新运行
helm upgrade以应用变更。
注意事项
- 默认单副本;配置多副本以提高可用性。
- 对于 AWS EFS 或 Azure CSI,手动创建 PV 以避免问题。
- 升级到 v1.25+ 时,可能需删除 StatefulSet 并重新部署。
使用 Weaviate Cloud 安装(托管服务)
Weaviate Cloud (WCD) 是托管选项,无需管理基础设施。支持 Sandbox(免费测试)和 Serverless(生产)。
先决条件
- Weaviate Cloud 账户(在 https://console.weaviate.cloud 注册)。
- 对于 RAG,可选 Cohere 或 OpenAI API 密钥。
步骤
-
创建集群:
- 登录 https://console.weaviate.cloud。
- 创建 Sandbox 或 Serverless 集群(1-3 分钟)。
- 获取 REST 端点 URL 和 API 密钥。
-
安装客户端(Python 示例):
pip install -U weaviate-client。 -
连接:
import weaviate from weaviate.classes.init import Auth import os client = weaviate.connect_to_weaviate_cloud( cluster_url=os.getenv("WEAVIATE_URL"), auth_credentials=Auth.api_key(os.getenv("WEAVIATE_API_KEY")) ) print(client.is_ready()) # True client.close() -
填充数据:
- 创建集合(如 “Question”),使用 batch 导入数据。
注意事项
- 新集群默认启用 RBAC;创建 API 密钥并分配角色(admin/viewer)。
- Sandbox 集群短期有效;升级到 Serverless 以持久化。
2万+

被折叠的 条评论
为什么被折叠?



