ベクターストアにファイルをアップロード

ベクターストアにファイルコンテンツをバッチ操作でアップロードする

post

Upload files to a vector store.

Path parameters
vector-store-idstringRequired

The ID of the vector store.

Header parameters
x-api-keystringRequired

The API key for authentication.

Body
filesstring · binary[]Optional

The files to upload.

Responses
201

Files uploaded successfully.

application/json
post
/vector-stores/{vector-store-id}/documents/upload
POST /api/v1/vector-stores/{vector-store-id}/documents/upload HTTP/1.1
Host: api.rememberizer.ai
x-api-key: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 20

{
  "files": [
    "binary"
  ]
}
{
  "documents": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "errors": [
    {
      "file": "text",
      "error": "text"
    }
  ]
}

例リクエスト

curl -X POST \
  https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/upload \
  -H "x-api-key: YOUR_API_KEY" \
  -F "files=@/path/to/document1.pdf" \
  -F "files=@/path/to/document2.docx"

YOUR_API_KEY を実際のベクターストアAPIキーに、vs_abc123 をベクターストアIDに置き換え、ローカルファイルのパスを提供してください。

バッチアップロードのベストプラクティス

大量のファイルをアップロードする際のパフォーマンスと信頼性を最適化するために:

  1. バッチサイズの管理: 最適なパフォーマンスのために、バッチサイズは5〜10ファイルに保ちます。1回のリクエストにファイルが多すぎると、タイムアウトのリスクが増加します。

  2. レート制限の実装: バッチ間に遅延を追加します(2〜3秒推奨)して、APIのレート制限に達するのを避けます。

  3. エラー再試行ロジックの追加: 本番システムでは、指数バックオフを用いた失敗したアップロードの再試行ロジックを実装します。

  4. ファイルタイプの検証: アップロードを試みる前に、サポートされているタイプであることを確認するためにファイルを事前フィルタリングします。

  5. バッチ進行状況の監視: ユーザー向けアプリケーションでは、バッチ操作の進行状況フィードバックを提供します。

  6. 部分的成功の処理: APIは部分的成功のために207ステータスコードを返す場合があります。常に個々のドキュメントのステータスを確認してください。

  7. リソースのクリーンアップ: 特にエラーが発生した場合には、すべてのファイルハンドルが適切に閉じられていることを確認します。

  8. 賢く並列化: 非常に大きなアップロード(数千ファイル)では、異なるベクトルストアをターゲットにした複数の同時バッチプロセスを検討し、必要に応じて後で結果を統合します。

  9. チェックサムの実装: 重要なデータについては、アップロード前後にチェックサムでファイルの整合性を確認します。

  10. 包括的な結果のログ: トラブルシューティングのために、すべてのアップロード操作の詳細なログを維持します。

これらのベストプラクティスに従うことで、ベクトルストアへの大規模なドキュメントの取り込みを効率的に管理できます。

Last updated