AI・機械学習
中級
Weaviate(ウィービエイト)
Go言語実装のオープンソースベクトルデータベース。GraphQLとREST APIを標準提供し、テキスト・画像などマルチモーダルなデータをベクトル化・保存・検索できる。
0 回閲覧
0 いいね
2026/6/4 更新
関連タグ
ベクトルDB
GraphQL
マルチモーダル
Go
RAG
Weaviate とは
Weaviateは、2019年にオランダで設立されたWeaviate BVが開発するオープンソースのベクトルデータベース。Go言語で実装されており、「AIネイティブデータベース」を自称する。単なるベクトル保存・検索にとどまらず、Modulerizer(モジュール化されたAI統合)アーキテクチャにより埋め込みモデルや生成モデルをプラグインとして組み込める設計が特徴。
GraphQL APIの特徴
多くのベクトルDBがREST APIのみを提供する中、WeaviateはGraphQLを第一級インターフェースとして採用:
{
Get {
Article(
nearText: {concepts: ["LLMの最新動向"]}
limit: 5
where: {
path: ["category"]
operator: Equal
valueText: "AI"
}
) {
title
content
_additional {
certainty
distance
}
}
}
}
GraphQLの型システムによってスキーマが自己文書化され、クエリの可読性が高い。
モジュールシステム
Weaviateの最大の特徴がモジュール統合:
text2vec-openai: OpenAI Embeddingでテキスト→ベクトル自動変換text2vec-cohere: Cohere Embedとの統合text2vec-huggingface: HuggingFace任意モデルgenerative-openai: GPT-4o等でRAG生成generative-anthropic: Claude等でRAG生成multi2vec-clip: テキスト+画像のマルチモーダル
モジュールを指定すれば、テキスト入力をWeaviate側で自動ベクトル化して保存できる。クライアント側でEmbedding APIを呼ぶコードが不要になる。
クラス(スキーマ)設計
Weaviateではデータを「クラス(Class)」単位で管理する。スキーマ定義が必須なため、スキーマレスなChromaよりセットアップが重いが、型安全なデータ管理ができる。
HNSW + BM25 ハイブリッド検索
v1.17以降、Dense(HNSW)とSparse(BM25)を組み合わせたHybrid Searchが標準機能に。alphaパラメータで0.0(純粋BM25)〜1.0(純粋ベクトル)のバランスを調整できる。
Weaviate vs Qdrant
| 観点 | Weaviate | Qdrant |
|---|---|---|
| API | GraphQL + REST | REST + gRPC |
| スキーマ | 必須(型安全) | 任意(柔軟) |
| AI統合 | モジュールシステム | 外部処理 |
| フィルタ精度 | 中(post-filter主体) | 高(pre-filter) |
AI統合の自動化を重視するチームにはWeaviate、純粋な高速ベクトル検索ならQdrantが有力候補。