mcpField
G
grepai-embeddings-openai

grepai-embeddings-openai

github.com/yoanbernabeu開発20554 回インストール38 週間前に更新
リポジトリ

grepai-embeddings-openai について

OpenAI APIを通じてGrepAIの埋め込みを生成するためのスキルです。ローカルの埋め込みサーバーを管理せず、クラウド処理を利用するチーム向けに、モデル選択、並列リクエスト、費用、APIキー管理を説明します。

主な機能

  1. 01OpenAI埋め込みモデルの設定
  2. 02並列リクエストと自動バッチ処理
  3. 03埋め込み次元数の調整
  4. 04費用とレート制限の案内
  5. 05APIキーのセキュリティ設定

活用シーン

  1. 01GrepAIのコード索引用埋め込み生成
  2. 02並列リクエストによる索引作成の高速化
  3. 03ストレージ要件に合わせたベクトル次元数の削減
  4. 04API制限または認証エラーの診断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-embeddings-openai

インストール後、Claude Code で/grepai-embeddings-openaiを入力して読み込まれたか確認します。

詳細

GrepAI と OpenAI による埋め込み

このスキルでは、GrepAI で OpenAI の埋め込み API を使用して、高品質なクラウドベースの埋め込みを作成する方法を説明します。

このスキルを使用する場面

  • 最高品質の埋め込みが必要な場合
  • インフラを共有するチーム環境の場合
  • ローカルの埋め込みサーバーを管理したくない場合
  • 品質や利便性のためにプライバシーを犠牲にしてもよい場合

検討事項

項目詳細
✅ 品質最先端の埋め込み
✅ 速度高速で、ローカルの計算処理は不要
✅ スケーラビリティあらゆる規模のコードベースに対応
⚠️ プライバシーコードが OpenAI のサーバーに送信されます
⚠️ コストトークンごとに課金されます
⚠️ インターネット接続が必要です

前提条件

  1. OpenAI API キー
  2. OpenAI アカウントで課金が有効になっていること

API キーは https://platform.openai.com/api-keys で取得できます。

設定

基本設定
# .grepai/config.yaml
embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: ${OPENAI_API_KEY}

環境変数を設定します。

export OPENAI_API_KEY="sk-..."
並列処理を使用する場合
embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: ${OPENAI_API_KEY}
  parallelism: 8  # Concurrent requests for speed
API キーを直接指定する場合(非推奨)
embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: sk-your-api-key-here  # Avoid committing secrets!

警告: API キーをバージョン管理にコミットしないでください。

利用可能なモデル

text-embedding-3-small(推奨)
プロパティ値
次元数1536
価格$0.00002 / 1K トークン
品質非常に高い
速度高速

最適な用途: ほとんどのユースケース。コストと品質のバランスに優れています。

embedder:
  provider: openai
  model: text-embedding-3-small
text-embedding-3-large
プロパティ値
次元数3072
価格$0.00013 / 1K トークン
品質最高
速度高速

最適な用途: 最大限の精度が必要で、コストを重視しない場合。

embedder:
  provider: openai
  model: text-embedding-3-large
  dimensions: 3072
次元数の削減

ストレージを節約するために、次元数を減らすことができます。

embedder:
  provider: openai
  model: text-embedding-3-large
  dimensions: 1024  # Reduced from 3072

モデルの比較

モデル次元数1K トークンあたりのコスト品質
text-embedding-3-small1536$0.00002⭐⭐⭐⭐
text-embedding-3-large3072$0.00013⭐⭐⭐⭐⭐

コストの見積もり

ソースファイル 1000 件あたりの概算コスト:

コードベースの規模チャンク数small モデルlarge モデル
小規模(100 ファイル)~500$0.01$0.06
中規模(1000 ファイル)~5,000$0.10$0.65
大規模(10000 ファイル)~50,000$1.00$6.50

注: 初回のインデックス作成時に一度だけコストが発生します。更新時は、変更されたファイルのみ再埋め込みされます。

速度の最適化

並列リクエスト

GrepAI v0.24.0+ は、適応型レート制限と並列リクエストに対応しています。

embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: ${OPENAI_API_KEY}
  parallelism: 8  # Adjust based on your rate limit tier

並列処理数の推奨値:

  • Tier 1(無料): 1-2
  • Tier 2: 4-8
  • Tier 3 以上: 8-16
バッチ処理

GrepAI は、API を効率的に使用できるようチャンクを自動的にバッチ処理します。

レート制限

OpenAI のレート制限はアカウントのティアによって異なります。

ティアRPMTPM
無料3150,000
Tier 15001,000,000
Tier 25,0005,000,000

GrepAI は、適応型バックオフによってレート制限を自動的に処理します。

環境変数

API キーの設定

macOS/Linux:

# In ~/.bashrc, ~/.zshrc, or ~/.profile
export OPENAI_API_KEY="sk-..."

Windows(PowerShell):

$env:OPENAI_API_KEY = "sk-..."
# Or permanently
[System.Environment]::SetEnvironmentVariable('OPENAI_API_KEY', 'sk-...', 'User')
.env ファイルの使用

プロジェクトのルートに .env を作成します。

OPENAI_API_KEY=sk-...

.gitignore に追加します。

.env

Azure OpenAI

Azure でホストされた OpenAI を使用する場合:

embedder:
  provider: openai
  model: your-deployment-name
  api_key: ${AZURE_OPENAI_API_KEY}
  endpoint: https://your-resource.openai.azure.com

セキュリティのベストプラクティス

  1. 環境変数を使用する: API キーをハードコードしないでください
  2. .gitignore に追加する: .env ファイルを除外してください
  3. キーをローテーションする: API キーを定期的にローテーションしてください
  4. 使用状況を監視する: OpenAI のダッシュボードで予期しない使用がないか確認してください
  5. コードを確認する: 機密コードがインデックスに含まれないようにしてください

よくある問題

❌ 問題: 401 Unauthorized ✅ 解決策: API キーが正しく、環境変数が設定されていることを確認します。

echo $OPENAI_API_KEY

❌ 問題: 429 Rate limit exceeded ✅ 解決策: 並列処理数を減らすか、OpenAI のティアをアップグレードします。

embedder:
  parallelism: 2  # Lower value

❌ 問題: コストが高い ✅ 解決策:

  • large の代わりに text-embedding-3-small を使用する
  • 次元数を減らす
  • 除外パターンを追加して、インデックス対象のファイルを減らす

❌ 問題: インデックス作成が遅い ✅ 解決策: 並列処理数を増やします。

embedder:
  parallelism: 8

❌ 問題: プライバシーに関する懸念 ✅ 解決策: ローカルで埋め込みを作成するには、代わりに Ollama を使用します

Ollama から OpenAI への移行

  1. 設定を更新します。
embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: ${OPENAI_API_KEY}
  1. 既存のインデックスを削除します。
rm .grepai/index.gob
  1. 再インデックスします。
grepai watch

重要: 異なるモデルやプロバイダーの埋め込みを混在させることはできません。

出力形式

OpenAI の設定が成功した場合:

✅ OpenAI Embedding Provider Configured

   Provider: OpenAI
   Model: text-embedding-3-small
   Dimensions: 1536
   Parallelism: 4
   API Key: sk-...xxxx (from environment)

   Estimated cost for this codebase:
   - Files: 245
   - Chunks: ~1,200
   - Cost: ~$0.02

   Note: Code will be sent to OpenAI servers.

コメント