跳至主要內容

Vector

Vector store constructor 現在必須提供 id 屬性,而 Vector store 方法亦已重新命名,以遵循一致的命名慣例。

已變更
已變更 的直接連結

Vector store 實例必須提供 id 屬性
required-id-property-for-vector-store-instances 的直接連結

Vector store 實例現在必須提供 id 屬性。這個唯一識別碼用於在 Mastra 內追蹤及管理 Vector store 實例。每個應用程式內的 Vector store 都應使用具描述性且唯一的 id 字串。

如要遷移,請在 Vector store constructor 加入 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 前綴。

如要遷移,請以 listVectors() 取代所有 getVectors() 呼叫。

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。Constructor 現在接受所有 OpenSearch client 選項,包括驗證、SSL 及壓縮。

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

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

environment 參數已移除。如需指定自訂 controller host,請改用 controllerHostUrl。Constructor 現在接受所有 Pinecone 設定選項。

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

如需自訂 controller host:

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