Skip to Content

Upstash Vector Store

UpstashVector クラスは、メタデータフィルタリング機能を備えたベクトル類似検索を提供するサーバーレスベクトルデータベースサービスである Upstash Vector を使用してベクトル検索を提供します。

コンストラクタオプション

url:

string
Upstash Vector データベースのURL

token:

string
Upstash Vector APIトークン

メソッド

createIndex()

注意: このメソッドはUpstashでは無操作です。インデックスは自動的に作成されます。

indexName:

string
作成するインデックスの名前

dimension:

number
ベクトルの次元(埋め込みモデルに一致する必要があります)

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= cosine
類似性検索のための距離メトリック

upsert()

indexName:

string
アップサートするインデックスの名前

vectors:

number[][]
埋め込みベクトルの配列

metadata?:

Record<string, any>[]
各ベクトルのメタデータ

ids?:

string[]
オプションのベクトルID(提供されない場合は自動生成)

query()

indexName:

string
クエリを実行するインデックスの名前

queryVector:

number[]
類似ベクトルを見つけるためのクエリベクトル

topK?:

number
= 10
返す結果の数

filter?:

Record<string, any>
クエリのメタデータフィルター

includeVector?:

boolean
= false
結果にベクトルを含めるかどうか

listIndexes()

インデックス名(名前空間)の配列を文字列として返します。

describeIndex()

indexName:

string
説明するインデックスの名前

返される内容:

interface IndexStats { dimension: number; count: number; metric: "cosine" | "euclidean" | "dotproduct"; }

deleteIndex()

indexName:

string
削除するインデックス(名前空間)の名前

updateIndexById()

indexName:

string
更新するインデックスの名前

id:

string
更新するアイテムのID

update:

object
ベクトルおよび/またはメタデータを含む更新オブジェクト

update オブジェクトは以下のプロパティを持つことができます:

  • vector (オプション): 新しいベクトルを表す数値の配列。
  • metadata (オプション): メタデータのキーと値のペアのレコード。

vector または metadata のいずれも提供されない場合、または metadata のみが提供された場合はエラーをスローします。

deleteIndexById()

indexName:

string
アイテムを削除するインデックスの名前

id:

string
削除するアイテムのID

指定されたインデックスからIDによってアイテムを削除しようとします。削除が失敗した場合はエラーメッセージを記録します。

レスポンスタイプ

クエリ結果はこの形式で返されます:

interface QueryResult { id: string; score: number; metadata: Record<string, any>; vector?: number[]; // Only included if includeVector is true }

エラーハンドリング

ストアは型付きエラーをスローし、キャッチすることができます:

try { await store.query({ indexName: "index_name", queryVector: queryVector, }); } catch (error) { if (error instanceof VectorStoreError) { console.log(error.code); // 'connection_failed' | 'invalid_dimension' | etc console.log(error.details); // 追加のエラーコンテキスト } }

環境変数

必要な環境変数:

  • UPSTASH_VECTOR_URL: あなたのUpstash VectorデータベースURL
  • UPSTASH_VECTOR_TOKEN: あなたのUpstash Vector APIトークン

関連