インデックスの設定(dimension, metric など)

Pineconeにおける「インデックスの設定」は、インデックス作成時に指定する重要なパラメータ群であり、検索性能・精度・コストに大きく影響します。主に以下の項目が含まれます:


1. dimension(次元数)

概要

dimensionは、各ベクトルが持つ数値の要素数、すなわちベクトル空間の次元を指定するパラメータです。

設定例

たとえば、OpenAIのtext-embedding-ada-002モデルが生成するベクトルは1536次元なので、インデックスのdimensionは「1536」と設定する必要があります。

注意点

  • インデックス作成後はdimensionを変更できません。

  • アップロードするベクトルの次元数は、この設定と完全に一致していなければなりません。


2. metric(類似度測定の手法)

概要

ベクトル間の類似度や距離を計算する際に使われる手法を指定します。Pineconeでは以下の主要なメトリクスがサポートされています:

metric 意味 用途例
cosine コサイン類似度(角度ベース) テキスト埋め込みの比較など
euclidean ユークリッド距離(直線距離) 位置や空間的情報の比較など
dotproduct 内積(ベクトル方向と長さ) 高スコア順のランキングなど

選択の指針

  • テキスト類似度には通常cosineが好まれます。

  • スカラー的な大小比較をしたい場合はdotproductが有効です。

  • 数値的距離が意味を持つ空間(例:座標)ではeuclideanが適しています。


3. その他のオプション設定(必要に応じて)

pods / replicas

  • pods: インデックスの処理ノード数(スケーラビリティの指標)

  • replicas: 冗長化・高可用性のためのコピー数

pod_type

  • 処理ノードのタイプ(例:p1.x1s1.x2など)

  • パフォーマンスやコストに影響します

metadata_config

  • メタデータでの検索やフィルタリングを有効にする場合に設定


インデックス作成例(Python SDK)

python
import pinecone pinecone.init(api_key="YOUR_API_KEY", environment="YOUR_ENV") pinecone.create_index( name="example-index", dimension=1536, metric="cosine", pods=1, replicas=1, pod_type="p1.x1" )

まとめ

パラメータ 意味 変更可否 重要度
dimension ベクトルの次元数 不可
metric 類似度評価手法 不可
pods / replicas スケーラビリティと冗長性
pod_type パフォーマンス構成
metadata_config メタデータ検索の有効化 必要に応じて

ChatGPT4o 生成日:2025/06/20