跳至主要內容

向量

向量儲存建構函式現在必須使用 id 屬性,而向量儲存方法也已重新命名,以遵循一致的命名慣例。

已變更
「已變更」的直接連結

向量儲存執行個體必須使用 id 屬性
「required-id-property-for-vector-store-instances」的直接連結

向量儲存執行個體現在必須使用 id 屬性。這個唯一識別碼用來在 Mastra 中追蹤及管理向量儲存執行個體。應為應用程式中的每個向量儲存設定具描述性且不重複的 id 字串。

遷移時,請在向量儲存建構函式中新增 id 欄位。

const vectorStore = new PgVector({
+ id: 'main-vector-store',
connectionString: process.env.POSTGRES_CONNECTION_STRING,
});

const chromaStore = new ChromaVector({
+ id: 'chroma-embeddings',
url: process.env.CHROMA_URL,
});

const pineconeStore = new PineconeVector({
+ id: 'pinecone-production',
apiKey: process.env.PINECONE_API_KEY,
});

getVectors 改為 listVectors
「getvectors-to-listvectors」的直接連結

getVectors() 方法已重新命名為 listVectors()。這項變更與整個 API 使用的命名慣例一致:回傳多筆資料的 getter 方法會使用 list 前綴。

遷移時,請將所有 getVectors() 呼叫替換成 listVectors()

const vectorStore = new VectorStore({ ... });

- const vectors = await vectorStore.getVectors({ ... });
+ const vectors = await vectorStore.listVectors({ ... });

LibSQLVectorconnectionUrl 改為 url
「libsqlvector-connectionurl-to-url」的直接連結

connectionUrl 參數已重新命名為 url,以配合 @libsql/client API,並與 LibSQLStorage 一致。

const vectorStore = new LibSQLVector({
id: 'my-vector',
- connectionUrl: 'file:./db.sqlite',
+ url: 'file:./db.sqlite',
});

OpenSearchVectorurl 改為 node
「opensearchvector-url-to-node」的直接連結

url 參數已重新命名為 node,以符合 OpenSearch ClientOptions API。建構函式現在接受所有 OpenSearch 使用者端選項,包括驗證、SSL 與壓縮。

const vectorStore = new OpenSearchVector({
id: 'my-vector',
- url: 'http://localhost:9200',
+ node: 'http://localhost:9200',
});

PineconeVector:移除 environment
「pineconevector-environment-removed」的直接連結

environment 參數已移除。如果需要指定自訂控制器主機,請改用 controllerHostUrl。建構函式現在接受所有 Pinecone 設定選項。

const vectorStore = new PineconeVector({
id: 'my-vector',
apiKey: process.env.PINECONE_API_KEY,
- environment: process.env.PINECONE_ENVIRONMENT,
});

如果需要自訂控制器主機:

const vectorStore = new PineconeVector({
id: 'my-vector',
apiKey: process.env.PINECONE_API_KEY,
controllerHostUrl: 'https://api.pinecone.io',
})