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

観点WeaviateQdrant
APIGraphQL + RESTREST + gRPC
スキーマ必須(型安全)任意(柔軟)
AI統合モジュールシステム外部処理
フィルタ精度中(post-filter主体)高(pre-filter)

AI統合の自動化を重視するチームにはWeaviate、純粋な高速ベクトル検索ならQdrantが有力候補。

この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/4