> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # Astra 向量儲存 AstraVector 類別使用 [DataStax Astra DB](https://www.datastax.com/products/datastax-astra) 提供向量搜尋功能。DataStax Astra DB 是建基於 Apache Cassandra 的雲端原生無伺服器數據庫。 它提供企業級容量及高可用性的向量搜尋功能。 ## 建構函數選項 **token** (`string`): Astra DB API 金鑰 **endpoint** (`string`): Astra DB API 端點 **keyspace** (`string`): 選填 keyspace 名稱 ## 方法 ### `createIndex()` **indexName** (`string`): 要建立的索引名稱 **dimension** (`number`): 向量維度(必須與你的嵌入模型相符) **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): 相似度搜尋的距離度量(dotproduct 會對應至 dot\_product) (Default: `cosine`) ### `upsert()` **indexName** (`string`): 要 upsert 至其中的索引名稱 **vectors** (`number[][]`): 嵌入向量陣列 **metadata** (`Record[]`): 每個向量的 metadata **ids** (`string[]`): 選填向量 ID(如未提供則自動產生) ### `query()` **indexName** (`string`): 要查詢的索引名稱 **queryVector** (`number[]`): 用於尋找相似向量的查詢向量 **topK** (`number`): 要傳回的結果數目 (Default: `10`) **filter** (`Record`): 查詢的 metadata 篩選條件 **includeVector** (`boolean`): 是否在結果中包含向量 (Default: `false`) ### `listIndexes()` 傳回由索引名稱字串組成的陣列。 ### `describeIndex()` **indexName** (`string`): 要描述的索引名稱 傳回: ```typescript interface IndexStats { dimension: number count: number metric: 'cosine' | 'euclidean' | 'dotproduct' } ``` ### `deleteIndex()` **indexName** (`string`): 要刪除的索引名稱 ### `updateVector()` **indexName** (`string`): 包含該向量的索引名稱 **id** (`string`): 要更新的向量 ID **update** (`object`): 包含向量及/或 metadata 變更的更新物件 ### `deleteVector()` **indexName** (`string`): 包含該向量的索引名稱 **id** (`string`): 要刪除的向量 ID ## 回應類型 查詢結果會以此格式傳回: ```typescript interface QueryResult { id: string score: number metadata: Record vector?: number[] // Only included if includeVector is true } ``` ## 錯誤處理 此儲存會拋出可捕捉的具類型錯誤: ```typescript 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) // Additional error context } } ``` ## 環境變數 所需環境變數: - `ASTRA_DB_TOKEN`:你的 Astra DB API 金鑰 - `ASTRA_DB_ENDPOINT`:你的 Astra DB API 端點 ## 相關內容 - [Metadata 篩選條件](https://mastra.zisheng.pro/zh-HK/reference/rag/metadata-filters)