Documentation Index
Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
Use this file to discover all available pages before exploring further.
Pineconeは、セマンティック検索とRAG(Retrieval-Augmented Generation)アプリケーションを可能にする、フルマネージドのベクトルデータベースです。Pineconeツールを使用すると、セマンティック類似性を使用してベクトルインデックスから類似ベクトルをクエリできます。
主な機能
-
PINECONE_CREATE_INDEX
- 新しいサーバーレスベクトルインデックスの作成
- ベクトル次元と距離メトリックの設定
- クラウドプロバイダーとデプロイメントリージョンの選択
- オプションの削除保護
- すぐに使用可能にするwait-until-readyオプション
-
PINECONE_QUERY
- セマンティック類似性を使用した類似ベクトルの検索
- デュアルモード動作: ベクトルクエリまたは統合推論によるテキストクエリ
- Top-K結果の取得をサポート
- Pineconeフィルタ構文によるメタデータフィルタリング
- データの分割のための名前空間分離
- 類似度しきい値フィルタリング(minScore)
- メタデータとベクトル値のオプション含有
-
PINECONE_UPSERT
- Pineconeインデックスへのベクトル挿入または更新
- デュアルモード動作: ベクトルアップサートまたは統合推論によるドキュメントアップサート
- バッチ操作(1リクエストあたり最大100ベクトル/ドキュメント)
- 豊富なベクトルアノテーションのためのメタデータサポート
- データ整理のための名前空間分離
このツールを使用するには、Pinecone APIキーが必要です。Pineconeコンソールから取得できます。
注意: APIキーは機密情報として扱い、公開リポジトリにコミットしないでください。
例: インデックス作成とドキュメントアップサート(統合推論)
この例は、Pineconeの統合推論機能を使用した完全なワークフローを示しています - 外部埋め込みツールは不要です!
# ステップ1: サーバーレスインデックスを作成
- id: create_index
name: create_index
tool: PINECONE_CREATE_INDEX
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: knowledge-base
- name: dimension
value: 1024
- name: metric
value: cosine
- name: cloud
value: aws
- name: region
value: us-east-1
- name: waitUntilReady
value: true
# ステップ2: 自動埋め込みでドキュメントをアップロード
- id: upload_docs
name: upload_docs
tool: PINECONE_UPSERT
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: knowledge-base
- name: documents
value: |
[
{
"id": "doc1",
"text": "Pineconeは、AIアプリケーション向けに最適化されたベクトルデータベースです。",
"metadata": {"category": "intro", "source": "docs"}
},
{
"id": "doc2",
"text": "統合推論は、テキストから自動的に埋め込みを生成します。",
"metadata": {"category": "features", "source": "docs"}
}
]
# ステップ3: テキストでクエリ(自動埋め込み)
- id: search
name: search
tool: PINECONE_QUERY
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: knowledge-base
- name: query
value: "Pineconeは埋め込みをどのように処理しますか?"
- name: topK
value: 3
- name: includeMetadata
value: true
例: リランキングを使用した関連性の向上
リランキングは初期結果を再スコアリングして関連性を向上させます。複雑なクエリに特に有効です。
- id: search_with_rerank
name: search_with_rerank
tool: PINECONE_QUERY
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: knowledge-base
- name: query
value: "Pineconeは埋め込みをどのように処理しますか?"
- name: topK
value: 10
- name: includeMetadata
value: true
- name: rerankModel
value: bge-reranker-v2-m3 # オプション: cohere-rerank-3.5, bge-reranker-v2-m3, pinecone-rerank-v0
- name: rerankTopN
value: 3
- name: rerankRankFields
value: '["text"]'
- name: fields
value: '["category", "text"]'
例: OpenAI埋め込みを使用した従来のセマンティック検索
- id: generate_embeddings
name: generate_embeddings
tool: OPENAI_CREATE_EMBEDDING
config:
- name: api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: input
value: セマンティック検索とは何ですか?
- name: model
value: text-embedding-3-large
- id: search_pinecone
name: search_pinecone
tool: PINECONE_QUERY
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: my-docs-index
- name: vector
value: "{{steps.generate_embeddings.result.data[0].embedding}}"
- name: topK
value: 5
- name: minScore
value: 0.7
- name: includeMetadata
value: true
- id: generate_answer
name: generate_answer
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
提供されたコンテキストに基づいて、以下の質問に答えてください。
コンテキスト:
{{steps.search_pinecone.result.matches[0].metadata.text}}
{{steps.search_pinecone.result.matches[1].metadata.text}}
質問: セマンティック検索とは何ですか?
例: メタデータフィルタリングを使用した検索
- id: filtered_search
name: filtered_search
tool: PINECONE_QUERY
config:
- name: apiKey
value: "{{secrets.PINECONE_API_KEY}}"
input:
- name: indexName
value: my-docs-index
- name: vector
value: "[0.1, 0.2, 0.3, ...]"
- name: topK
value: 10
- name: filter
value: '{"category": {"$eq": "technology"}, "year": {"$gte": 2020}}'
- name: namespace
value: production
パラメータ
PINECONE_CREATE_INDEX
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|
indexName | string | はい | - | インデックス名(小文字英数字とハイフン、最大45文字) |
dimension | number | はい | - | ベクトル次元(例: OpenAI ada-002の場合1536) |
metric | string | いいえ | cosine | 距離メトリック: cosine, euclidean, dotproduct |
cloud | string | いいえ | aws | クラウドプロバイダー: aws, gcp, azure |
region | string | はい | - | デプロイメントリージョン(例: us-east-1) |
deletionProtection | string | いいえ | disabled | 削除保護を有効化: enabled または disabled |
waitUntilReady | boolean | いいえ | true | インデックスの準備完了まで待機 |
PINECONE_QUERY
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|
indexName | string | はい | - | クエリするPineconeインデックスの名前 |
vector | number[] | いいえ* | - | 数値の配列としてのクエリベクトル |
query | string | いいえ* | - | 統合推論用のテキストクエリ(自動埋め込み) |
topK | number | いいえ | 10 | 返す結果の数(1-100) |
namespace | string | いいえ | - | インデックス内でクエリする名前空間 |
filter | object | いいえ | - | Pineconeフィルタ構文を使用したメタデータフィルタ |
minScore | number | いいえ | - | 最小類似度スコアしきい値(0-1) |
includeMetadata | boolean | いいえ | true | 結果にメタデータを含める |
includeValues | boolean | いいえ | false | 結果にベクトル値を含める |
*vectorまたはqueryのいずれかを指定する必要がありますが、両方は指定できません。
PINECONE_UPSERT
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|
indexName | string | はい | - | Pineconeインデックスの名前 |
vectors | array | いいえ* | - | ベクトルオブジェクトの配列(id, values, metadata) |
documents | array | いいえ* | - | 統合推論用のドキュメントオブジェクトの配列(id, text, metadata) |
namespace | string | いいえ | - | データ整理のための名前空間 |
*vectorsまたはdocumentsのいずれかを指定する必要がありますが、両方は指定できません。
ツールは以下の構造のオブジェクトを返します:
{
"matches": [
{
"id": "vec1",
"score": 0.95,
"metadata": {
"title": "ドキュメントタイトル",
"text": "ドキュメント内容...",
"category": "technology"
}
}
],
"namespace": "production",
"usage": {
"readUnits": 5
}
}
ユースケース
RAG(Retrieval-Augmented Generation)
PineconeとOpenAIを組み合わせてRAGアプリケーションを構築:
- ユーザークエリから埋め込みを生成
- Pineconeで関連ドキュメントを検索
- 取得したコンテキストをLLMプロンプトで使用
セマンティック検索
キーワードではなく意味でドキュメントを検索:
- 類似記事の検索
- 関連コンテンツの推奨
- 関連情報の発見
質問応答
コンテキスト取得を使用したQ&Aシステムの構築:
- 技術ドキュメント検索
- カスタマーサポートナレッジベース
- 研究論文の発見
リソース