インデックスの作成 (pinecone.create_index)

Pineconeにおける「インデックスの作成(pinecone.create_index)」は、ベクトル検索を行うための基盤構造をクラウド上に構築する操作です。インデックスとは、ベクトルデータを保存・検索するための論理コンテナであり、用途に応じて構成を調整できます。

以下に、pinecone.create_index の具体的な使い方と設定項目について詳しく説明します。


1. 基本構文

python
import pinecone pinecone.create_index( name="example-index", dimension=768, metric="cosine", spec=pinecone.ServerlessSpec( cloud="aws", region="us-west-2" ) )

2. 引数の詳細

引数名 説明
name インデックスの一意な名前(例: "my-index")。すべて小文字、英数字、ダッシュのみが使用可能。
dimension ベクトルの次元数(例: 768, 1536 など)。これは登録するベクトルのサイズと一致していなければなりません。
metric 類似度の測定方法。以下のいずれかから選択します:
"cosine"(コサイン類似度)
"euclidean"(ユークリッド距離)
"dotproduct"(内積)
spec インフラ設定。以下の2種類があり、利用するプランに応じて選びます:
ServerlessSpec(無料枠含むスケーラブル構成)
PodSpec(Pod数を指定する構成。従来の方式)

3. ServerlessSpec の使用例

python
spec=pinecone.ServerlessSpec( cloud="aws", # "aws" または "gcp" region="us-west-2" # 利用可能なリージョン )

4. 補足:インデックス作成の制約と考慮点

  • インデックス作成には数秒~数分程度かかる場合があります。

  • 同名のインデックスが既に存在する場合、エラーになります。

  • 使用するリージョンとクラウドプロバイダが正しく設定されていることを確認してください。

  • 無料プランではインデックス数やサイズに制限があります。


5. インデックス作成後の確認

作成後、インデックス一覧を確認するには次のようにします:

python
pinecone.list_indexes()

インデックスの削除には:

python
pinecone.delete_index("example-index")

6. よくあるエラーと対策

エラー内容 対策
pinecone.core.client.exceptions.AlreadyExistsException 既に存在する名前を使っている。別の名前にするか、既存インデックスを削除する。
ValueError: dimension must be ... 登録するベクトルの次元と一致していない。正しい次元を指定する。
InvalidRegionException 指定したクラウドやリージョンが無効。pinecone.get_all_serverless_regions() で確認可能。

以上が pinecone.create_index を用いたインデックス作成の詳細です。必要に応じて、作成後にベクトルをアップロードし、検索処理を開始することができます。次のステップとしては index = pinecone.Index(“example-index”) によるインデックス操作オブジェクトの取得です。

ChatGPT4o 生成日:2025/06/20