@langchain/google-cloud-sql-pg 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +6 -6
  3. package/README.md +1 -1
  4. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  5. package/dist/chat_message_history.cjs +104 -137
  6. package/dist/chat_message_history.cjs.map +1 -0
  7. package/dist/chat_message_history.d.cts +57 -0
  8. package/dist/chat_message_history.d.cts.map +1 -0
  9. package/dist/chat_message_history.d.ts +53 -43
  10. package/dist/chat_message_history.d.ts.map +1 -0
  11. package/dist/chat_message_history.js +103 -133
  12. package/dist/chat_message_history.js.map +1 -0
  13. package/dist/engine.cjs +188 -242
  14. package/dist/engine.cjs.map +1 -0
  15. package/dist/engine.d.cts +138 -0
  16. package/dist/engine.d.cts.map +1 -0
  17. package/dist/engine.d.ts +102 -80
  18. package/dist/engine.d.ts.map +1 -0
  19. package/dist/engine.js +186 -234
  20. package/dist/engine.js.map +1 -0
  21. package/dist/index.cjs +21 -20
  22. package/dist/index.d.cts +6 -0
  23. package/dist/index.d.ts +6 -4
  24. package/dist/index.js +7 -4
  25. package/dist/indexes.cjs +96 -168
  26. package/dist/indexes.cjs.map +1 -0
  27. package/dist/indexes.d.cts +68 -0
  28. package/dist/indexes.d.cts.map +1 -0
  29. package/dist/indexes.d.ts +50 -47
  30. package/dist/indexes.d.ts.map +1 -0
  31. package/dist/indexes.js +90 -161
  32. package/dist/indexes.js.map +1 -0
  33. package/dist/loader.cjs +159 -242
  34. package/dist/loader.cjs.map +1 -0
  35. package/dist/loader.d.cts +101 -0
  36. package/dist/loader.d.cts.map +1 -0
  37. package/dist/loader.d.ts +40 -26
  38. package/dist/loader.d.ts.map +1 -0
  39. package/dist/loader.js +157 -237
  40. package/dist/loader.js.map +1 -0
  41. package/dist/utils/utils.cjs +36 -65
  42. package/dist/utils/utils.cjs.map +1 -0
  43. package/dist/utils/utils.js +36 -62
  44. package/dist/utils/utils.js.map +1 -0
  45. package/dist/vectorstore.cjs +438 -593
  46. package/dist/vectorstore.cjs.map +1 -0
  47. package/dist/vectorstore.d.cts +300 -0
  48. package/dist/vectorstore.d.cts.map +1 -0
  49. package/dist/vectorstore.d.ts +147 -130
  50. package/dist/vectorstore.d.ts.map +1 -0
  51. package/dist/vectorstore.js +436 -588
  52. package/dist/vectorstore.js.map +1 -0
  53. package/package.json +38 -47
  54. package/dist/utils/utils.d.ts +0 -22
  55. package/index.cjs +0 -1
  56. package/index.d.cts +0 -1
  57. package/index.d.ts +0 -1
  58. package/index.js +0 -1
@@ -1,41 +1,43 @@
1
- import { EmbeddingsInterface } from "@langchain/core/embeddings";
1
+ import { PostgresEngine } from "./engine.js";
2
+ import { BaseIndex, DistanceStrategy, QueryOptions } from "./indexes.js";
2
3
  import { MaxMarginalRelevanceSearchOptions, VectorStore } from "@langchain/core/vectorstores";
3
4
  import { Document } from "@langchain/core/documents";
4
- import { BaseIndex, DistanceStrategy, QueryOptions } from "./indexes.js";
5
- import PostgresEngine from "./engine.js";
6
- export interface PostgresVectorStoreArgs {
7
- schemaName?: string;
8
- contentColumn?: string;
9
- embeddingColumn?: string;
10
- metadataColumns?: Array<string>;
11
- idColumn?: string;
12
- distanceStrategy?: DistanceStrategy;
13
- k?: number;
14
- fetchK?: number;
15
- lambdaMult?: number;
16
- ignoreMetadataColumns?: Array<string>;
17
- metadataJsonColumn?: string;
18
- indexQueryOptions?: QueryOptions;
5
+ import { EmbeddingsInterface } from "@langchain/core/embeddings";
6
+
7
+ //#region src/vectorstore.d.ts
8
+ interface PostgresVectorStoreArgs {
9
+ schemaName?: string;
10
+ contentColumn?: string;
11
+ embeddingColumn?: string;
12
+ metadataColumns?: Array<string>;
13
+ idColumn?: string;
14
+ distanceStrategy?: DistanceStrategy;
15
+ k?: number;
16
+ fetchK?: number;
17
+ lambdaMult?: number;
18
+ ignoreMetadataColumns?: Array<string>;
19
+ metadataJsonColumn?: string;
20
+ indexQueryOptions?: QueryOptions;
19
21
  }
20
- export interface dbConfigArgs {
21
- engine: PostgresEngine;
22
- tableName: string;
23
- dbConfig?: PostgresVectorStoreArgs;
22
+ interface dbConfigArgs {
23
+ engine: PostgresEngine;
24
+ tableName: string;
25
+ dbConfig?: PostgresVectorStoreArgs;
24
26
  }
25
27
  interface VSArgs {
26
- engine: PostgresEngine;
27
- tableName: string;
28
- schemaName: string;
29
- contentColumn: string;
30
- embeddingColumn: string;
31
- metadataColumns: Array<string>;
32
- idColumn: string;
33
- distanceStrategy: DistanceStrategy;
34
- k: number;
35
- fetchK: number;
36
- lambdaMult: number;
37
- metadataJsonColumn: string;
38
- indexQueryOptions?: QueryOptions;
28
+ engine: PostgresEngine;
29
+ tableName: string;
30
+ schemaName: string;
31
+ contentColumn: string;
32
+ embeddingColumn: string;
33
+ metadataColumns: Array<string>;
34
+ idColumn: string;
35
+ distanceStrategy: DistanceStrategy;
36
+ k: number;
37
+ fetchK: number;
38
+ lambdaMult: number;
39
+ metadataJsonColumn: string;
40
+ indexQueryOptions?: QueryOptions;
39
41
  }
40
42
  /**
41
43
  * Google Cloud SQL for PostgreSQL vector store integration.
@@ -183,101 +185,116 @@ interface VSArgs {
183
185
  *
184
186
  * <br />
185
187
  */
186
- export declare class PostgresVectorStore extends VectorStore {
187
- FilterType: string;
188
- engine: PostgresEngine;
189
- embeddings: EmbeddingsInterface;
190
- tableName: string;
191
- schemaName: string;
192
- contentColumn: string;
193
- embeddingColumn: string;
194
- metadataColumns: Array<string>;
195
- idColumn: string;
196
- metadataJsonColumn: string;
197
- distanceStrategy: DistanceStrategy;
198
- k: number;
199
- fetchK: number;
200
- lambdaMult: number;
201
- indexQueryOptions: QueryOptions | undefined;
202
- /**
203
- * Initializes a new vector store with embeddings and database configuration.
204
- *
205
- * @param embeddings - Instance of `EmbeddingsInterface` used to embed queries.
206
- * @param dbConfig - Configuration settings for the database or storage system.
207
- */
208
- constructor(embeddings: EmbeddingsInterface, dbConfig: VSArgs);
209
- /**
210
- * Create a new PostgresVectorStore instance.
211
- * @param {PostgresEngine} engine Required - Connection pool engine for managing connections to Cloud SQL for PostgreSQL database.
212
- * @param {Embeddings} embeddings Required - Text embedding model to use.
213
- * @param {string} tableName Required - Name of an existing table or table to be created.
214
- * @param {string} schemaName Database schema name of the table. Defaults to "public".
215
- * @param {string} contentColumn Column that represent a Document's page_content. Defaults to "content".
216
- * @param {string} embeddingColumn Column for embedding vectors. The embedding is generated from the document value. Defaults to "embedding".
217
- * @param {Array<string>} metadataColumns Column(s) that represent a document's metadata.
218
- * @param {Array<string>} ignoreMetadataColumns Optional - Column(s) to ignore in pre-existing tables for a document's metadata. Can not be used with metadata_columns.
219
- * @param {string} idColumn Column that represents the Document's id. Defaults to "langchain_id".
220
- * @param {string} metadataJsonColumn Optional - Column to store metadata as JSON. Defaults to "langchain_metadata".
221
- * @param {DistanceStrategy} distanceStrategy Distance strategy to use for vector similarity search. Defaults to COSINE_DISTANCE.
222
- * @param {number} k Number of Documents to return from search. Defaults to 4.
223
- * @param {number} fetchK Number of Documents to fetch to pass to MMR algorithm.
224
- * @param {number} lambdaMult Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5.
225
- * @param {QueryOptions} indexQueryOptions Optional - Index query option.
226
- * @returns PostgresVectorStore instance.
227
- */
228
- static initialize(engine: PostgresEngine, embeddings: EmbeddingsInterface, tableName: string, { schemaName, contentColumn, embeddingColumn, metadataColumns, ignoreMetadataColumns, idColumn, metadataJsonColumn, distanceStrategy, k, fetchK, lambdaMult, indexQueryOptions, }?: PostgresVectorStoreArgs): Promise<PostgresVectorStore>;
229
- static fromTexts(texts: string[], metadatas: object[] | object, embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;
230
- static fromDocuments(docs: Document[], embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;
231
- addVectors(vectors: number[][], documents: Document[], options?: {
232
- ids?: string[];
233
- }): Promise<string[] | void>;
234
- _vectorstoreType(): string;
235
- /**
236
- * Adds documents to the vector store, embedding them first through the
237
- * `embeddings` instance.
238
- *
239
- * @param documents - Array of documents to embed and add.
240
- * @param options - Optional configuration for embedding and storing documents.
241
- * @returns A promise resolving to an array of document IDs or void, based on implementation.
242
- * @abstract
243
- */
244
- addDocuments(documents: Document[], options?: {
245
- ids?: string[];
246
- }): Promise<string[] | void>;
247
- /**
248
- * Deletes documents from the vector store based on the specified ids.
249
- *
250
- * @param params - Flexible key-value pairs defining conditions for document deletion.
251
- * @param ids - Optional: Property of {params} that contains the array of ids to be deleted
252
- * @returns A promise that resolves once the deletion is complete.
253
- */
254
- delete(params: {
255
- ids?: string[];
256
- }): Promise<void>;
257
- similaritySearchVectorWithScore(embedding: number[], k: number, filter?: this["FilterType"]): Promise<[Document, number][]>;
258
- private queryCollection;
259
- maxMarginalRelevanceSearch(query: string, options: MaxMarginalRelevanceSearchOptions<this["FilterType"]>): Promise<Document[]>;
260
- /**
261
- * Create an index on the vector store table
262
- * @param {BaseIndex} index
263
- * @param {string} name Optional
264
- * @param {boolean} concurrently Optional
265
- */
266
- applyVectorIndex(index: BaseIndex, name?: string, concurrently?: boolean): Promise<void>;
267
- /**
268
- * Check if index exists in the table.
269
- * @param {string} indexName Optional - index name
270
- */
271
- isValidIndex(indexName?: string): Promise<boolean>;
272
- /**
273
- * Drop the vector index
274
- * @param {string} indexName Optional - index name
275
- */
276
- dropVectorIndex(indexName?: string): Promise<void>;
277
- /**
278
- * Re-index the vector store table
279
- * @param {string} indexName Optional - index name
280
- */
281
- reIndex(indexName?: string): Promise<void>;
188
+ declare class PostgresVectorStore extends VectorStore {
189
+ FilterType: string;
190
+ engine: PostgresEngine;
191
+ embeddings: EmbeddingsInterface;
192
+ tableName: string;
193
+ schemaName: string;
194
+ contentColumn: string;
195
+ embeddingColumn: string;
196
+ metadataColumns: Array<string>;
197
+ idColumn: string;
198
+ metadataJsonColumn: string;
199
+ distanceStrategy: DistanceStrategy;
200
+ k: number;
201
+ fetchK: number;
202
+ lambdaMult: number;
203
+ indexQueryOptions: QueryOptions | undefined;
204
+ /**
205
+ * Initializes a new vector store with embeddings and database configuration.
206
+ *
207
+ * @param embeddings - Instance of `EmbeddingsInterface` used to embed queries.
208
+ * @param dbConfig - Configuration settings for the database or storage system.
209
+ */
210
+ constructor(embeddings: EmbeddingsInterface, dbConfig: VSArgs);
211
+ /**
212
+ * Create a new PostgresVectorStore instance.
213
+ * @param {PostgresEngine} engine Required - Connection pool engine for managing connections to Cloud SQL for PostgreSQL database.
214
+ * @param {Embeddings} embeddings Required - Text embedding model to use.
215
+ * @param {string} tableName Required - Name of an existing table or table to be created.
216
+ * @param {string} schemaName Database schema name of the table. Defaults to "public".
217
+ * @param {string} contentColumn Column that represent a Document's page_content. Defaults to "content".
218
+ * @param {string} embeddingColumn Column for embedding vectors. The embedding is generated from the document value. Defaults to "embedding".
219
+ * @param {Array<string>} metadataColumns Column(s) that represent a document's metadata.
220
+ * @param {Array<string>} ignoreMetadataColumns Optional - Column(s) to ignore in pre-existing tables for a document's metadata. Can not be used with metadata_columns.
221
+ * @param {string} idColumn Column that represents the Document's id. Defaults to "langchain_id".
222
+ * @param {string} metadataJsonColumn Optional - Column to store metadata as JSON. Defaults to "langchain_metadata".
223
+ * @param {DistanceStrategy} distanceStrategy Distance strategy to use for vector similarity search. Defaults to COSINE_DISTANCE.
224
+ * @param {number} k Number of Documents to return from search. Defaults to 4.
225
+ * @param {number} fetchK Number of Documents to fetch to pass to MMR algorithm.
226
+ * @param {number} lambdaMult Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5.
227
+ * @param {QueryOptions} indexQueryOptions Optional - Index query option.
228
+ * @returns PostgresVectorStore instance.
229
+ */
230
+ static initialize(engine: PostgresEngine, embeddings: EmbeddingsInterface, tableName: string, {
231
+ schemaName,
232
+ contentColumn,
233
+ embeddingColumn,
234
+ metadataColumns,
235
+ ignoreMetadataColumns,
236
+ idColumn,
237
+ metadataJsonColumn,
238
+ distanceStrategy,
239
+ k,
240
+ fetchK,
241
+ lambdaMult,
242
+ indexQueryOptions
243
+ }?: PostgresVectorStoreArgs): Promise<PostgresVectorStore>;
244
+ static fromTexts(texts: string[], metadatas: object[] | object, embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;
245
+ static fromDocuments(docs: Document[], embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;
246
+ addVectors(vectors: number[][], documents: Document[], options?: {
247
+ ids?: string[];
248
+ }): Promise<string[] | void>;
249
+ _vectorstoreType(): string;
250
+ /**
251
+ * Adds documents to the vector store, embedding them first through the
252
+ * `embeddings` instance.
253
+ *
254
+ * @param documents - Array of documents to embed and add.
255
+ * @param options - Optional configuration for embedding and storing documents.
256
+ * @returns A promise resolving to an array of document IDs or void, based on implementation.
257
+ * @abstract
258
+ */
259
+ addDocuments(documents: Document[], options?: {
260
+ ids?: string[];
261
+ }): Promise<string[] | void>;
262
+ /**
263
+ * Deletes documents from the vector store based on the specified ids.
264
+ *
265
+ * @param params - Flexible key-value pairs defining conditions for document deletion.
266
+ * @param ids - Optional: Property of {params} that contains the array of ids to be deleted
267
+ * @returns A promise that resolves once the deletion is complete.
268
+ */
269
+ delete(params: {
270
+ ids?: string[];
271
+ }): Promise<void>;
272
+ similaritySearchVectorWithScore(embedding: number[], k: number, filter?: this["FilterType"]): Promise<[Document, number][]>;
273
+ private queryCollection;
274
+ maxMarginalRelevanceSearch(query: string, options: MaxMarginalRelevanceSearchOptions<this["FilterType"]>): Promise<Document[]>;
275
+ /**
276
+ * Create an index on the vector store table
277
+ * @param {BaseIndex} index
278
+ * @param {string} name Optional
279
+ * @param {boolean} concurrently Optional
280
+ */
281
+ applyVectorIndex(index: BaseIndex, name?: string, concurrently?: boolean): Promise<void>;
282
+ /**
283
+ * Check if index exists in the table.
284
+ * @param {string} indexName Optional - index name
285
+ */
286
+ isValidIndex(indexName?: string): Promise<boolean>;
287
+ /**
288
+ * Drop the vector index
289
+ * @param {string} indexName Optional - index name
290
+ */
291
+ dropVectorIndex(indexName?: string): Promise<void>;
292
+ /**
293
+ * Re-index the vector store table
294
+ * @param {string} indexName Optional - index name
295
+ */
296
+ reIndex(indexName?: string): Promise<void>;
282
297
  }
283
- export default PostgresVectorStore;
298
+ //#endregion
299
+ export { PostgresVectorStore, PostgresVectorStoreArgs, dbConfigArgs };
300
+ //# sourceMappingURL=vectorstore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorstore.d.ts","names":["EmbeddingsInterface","MaxMarginalRelevanceSearchOptions","VectorStore","Document","BaseIndex","DistanceStrategy","QueryOptions","PostgresEngine","PostgresVectorStoreArgs","Array","dbConfigArgs","VSArgs","PostgresVectorStore","schemaName","contentColumn","embeddingColumn","metadataColumns","ignoreMetadataColumns","idColumn","metadataJsonColumn","distanceStrategy","k","fetchK","lambdaMult","indexQueryOptions","Promise","default"],"sources":["../src/vectorstore.d.ts"],"sourcesContent":["import { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { MaxMarginalRelevanceSearchOptions, VectorStore } from \"@langchain/core/vectorstores\";\nimport { Document } from \"@langchain/core/documents\";\nimport { BaseIndex, DistanceStrategy, QueryOptions } from \"./indexes.js\";\nimport PostgresEngine from \"./engine.js\";\nexport interface PostgresVectorStoreArgs {\n schemaName?: string;\n contentColumn?: string;\n embeddingColumn?: string;\n metadataColumns?: Array<string>;\n idColumn?: string;\n distanceStrategy?: DistanceStrategy;\n k?: number;\n fetchK?: number;\n lambdaMult?: number;\n ignoreMetadataColumns?: Array<string>;\n metadataJsonColumn?: string;\n indexQueryOptions?: QueryOptions;\n}\nexport interface dbConfigArgs {\n engine: PostgresEngine;\n tableName: string;\n dbConfig?: PostgresVectorStoreArgs;\n}\ninterface VSArgs {\n engine: PostgresEngine;\n tableName: string;\n schemaName: string;\n contentColumn: string;\n embeddingColumn: string;\n metadataColumns: Array<string>;\n idColumn: string;\n distanceStrategy: DistanceStrategy;\n k: number;\n fetchK: number;\n lambdaMult: number;\n metadataJsonColumn: string;\n indexQueryOptions?: QueryOptions;\n}\n/**\n * Google Cloud SQL for PostgreSQL vector store integration.\n *\n * Setup:\n * Install `@langchain/google-cloud-sql-pg`\n *\n * ```bash\n * npm install @langchain/google-cloud-sql-pg\n * ```\n *\n * <details open>\n * <summary><strong>Instantiate</strong></summary>\n *\n * ```typescript\n * import { Column, PostgresEngine, PostgresEngineArgs, PostgresVectorStore, VectorStoreTableArgs } from \"@langchain/google-cloud-sql-pg\";\n * // Or other embeddings\n * import { OpenAIEmbeddings } from '@langchain/openai';\n *\n *\n * const embeddings = new OpenAIEmbeddings({\n * model: \"text-embedding-3-small\",\n * });\n *\n * const pgArgs: PostgresEngineArgs = {\n * user: \"db-user\",\n * password: \"password\"\n * }\n * // Create a shared connection pool\n * const engine: PostgresEngine = await PostgresEngine.fromInstance(\n * \"project-id\",\n * \"region\",\n * \"instance-name\",\n * \"database-name\",\n * pgArgs\n * );\n * // (Optional) Specify metadata columns for filtering\n * // All other metadata will be added to JSON\n * const vectorStoreTableArgs: VectorStoreTableArgs = {\n * metadataColumns: [new Column(\"baz\", \"TEXT\")],\n * };\n * // Create a vector store table\n * await engine.initVectorstoreTable(\"my-table\", 768, vectorStoreTableArgs);\n * // Customize the vector store\n * const pvectorArgs: PostgresVectorStoreArgs = {\n * idColumn: \"ID_COLUMN\",\n * contentColumn: \"CONTENT_COLUMN\",\n * embeddingColumn: \"EMBEDDING_COLUMN\",\n * metadataColumns: [\"baz\"]\n * }\n *\n * const vectorStore = await PostgresVectorStore.initialize(engine, embeddingService, \"my-table\", pvectorArgs);\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Add documents</strong></summary>\n *\n * ```typescript\n * import type { Document } from '@langchain/core/documents';\n *\n * const document1 = { pageContent: \"foo\", metadata: { baz: \"bar\" } };\n * const document2 = { pageContent: \"thud\", metadata: { bar: \"baz\" } };\n * const document3 = { pageContent: \"i will be deleted :(\", metadata: {} };\n *\n * const documents: Document[] = [document1, document2, document3];\n * const ids = [\"1\", \"2\", \"3\"];\n * await vectorStore.addDocuments(documents, { ids });\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Delete documents</strong></summary>\n *\n * ```typescript\n * await vectorStore.delete({ ids: [\"3\"] });\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>Similarity search</strong></summary>\n *\n * ```typescript\n * const results = await vectorStore.similaritySearch(\"thud\", 1);\n * for (const doc of results) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output:thud [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with filter</strong></summary>\n *\n * ```typescript\n * const resultsWithFilter = await vectorStore.similaritySearch(\"thud\", 1, \"baz = 'bar'\");\n *\n * for (const doc of resultsWithFilter) {\n * console.log(`* ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output:foo [{\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n *\n * <details>\n * <summary><strong>Similarity search with score</strong></summary>\n *\n * ```typescript\n * const resultsWithScore = await vectorStore.similaritySearchWithScore(\"qux\", 1);\n * for (const [doc, score] of resultsWithScore) {\n * console.log(`* [SIM=${score.toFixed(6)}] ${doc.pageContent} [${JSON.stringify(doc.metadata, null)}]`);\n * }\n * // Output:[SIM=0.000000] qux [{\"bar\":\"baz\",\"baz\":\"bar\"}]\n * ```\n * </details>\n *\n * <br />\n *\n * <details>\n * <summary><strong>As a retriever</strong></summary>\n *\n * ```typescript\n * const retriever = vectorStore.asRetriever({\n * searchType: \"mmr\", // Leave blank for standard similarity search\n * k: 1,\n * });\n * const resultAsRetriever = await retriever.invoke(\"thud\");\n * console.log(resultAsRetriever);\n *\n * // Output: [Document({ metadata: { \"baz\":\"bar\" }, pageContent: \"thud\" })]\n * ```\n * </details>\n *\n * <br />\n */\nexport declare class PostgresVectorStore extends VectorStore {\n FilterType: string;\n engine: PostgresEngine;\n embeddings: EmbeddingsInterface;\n tableName: string;\n schemaName: string;\n contentColumn: string;\n embeddingColumn: string;\n metadataColumns: Array<string>;\n idColumn: string;\n metadataJsonColumn: string;\n distanceStrategy: DistanceStrategy;\n k: number;\n fetchK: number;\n lambdaMult: number;\n indexQueryOptions: QueryOptions | undefined;\n /**\n * Initializes a new vector store with embeddings and database configuration.\n *\n * @param embeddings - Instance of `EmbeddingsInterface` used to embed queries.\n * @param dbConfig - Configuration settings for the database or storage system.\n */\n constructor(embeddings: EmbeddingsInterface, dbConfig: VSArgs);\n /**\n * Create a new PostgresVectorStore instance.\n * @param {PostgresEngine} engine Required - Connection pool engine for managing connections to Cloud SQL for PostgreSQL database.\n * @param {Embeddings} embeddings Required - Text embedding model to use.\n * @param {string} tableName Required - Name of an existing table or table to be created.\n * @param {string} schemaName Database schema name of the table. Defaults to \"public\".\n * @param {string} contentColumn Column that represent a Document's page_content. Defaults to \"content\".\n * @param {string} embeddingColumn Column for embedding vectors. The embedding is generated from the document value. Defaults to \"embedding\".\n * @param {Array<string>} metadataColumns Column(s) that represent a document's metadata.\n * @param {Array<string>} ignoreMetadataColumns Optional - Column(s) to ignore in pre-existing tables for a document's metadata. Can not be used with metadata_columns.\n * @param {string} idColumn Column that represents the Document's id. Defaults to \"langchain_id\".\n * @param {string} metadataJsonColumn Optional - Column to store metadata as JSON. Defaults to \"langchain_metadata\".\n * @param {DistanceStrategy} distanceStrategy Distance strategy to use for vector similarity search. Defaults to COSINE_DISTANCE.\n * @param {number} k Number of Documents to return from search. Defaults to 4.\n * @param {number} fetchK Number of Documents to fetch to pass to MMR algorithm.\n * @param {number} lambdaMult Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5.\n * @param {QueryOptions} indexQueryOptions Optional - Index query option.\n * @returns PostgresVectorStore instance.\n */\n static initialize(engine: PostgresEngine, embeddings: EmbeddingsInterface, tableName: string, { schemaName, contentColumn, embeddingColumn, metadataColumns, ignoreMetadataColumns, idColumn, metadataJsonColumn, distanceStrategy, k, fetchK, lambdaMult, indexQueryOptions }?: PostgresVectorStoreArgs): Promise<PostgresVectorStore>;\n static fromTexts(texts: string[], metadatas: object[] | object, embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;\n static fromDocuments(docs: Document[], embeddings: EmbeddingsInterface, dbConfig: dbConfigArgs): Promise<VectorStore>;\n addVectors(vectors: number[][], documents: Document[], options?: {\n ids?: string[];\n }): Promise<string[] | void>;\n _vectorstoreType(): string;\n /**\n * Adds documents to the vector store, embedding them first through the\n * `embeddings` instance.\n *\n * @param documents - Array of documents to embed and add.\n * @param options - Optional configuration for embedding and storing documents.\n * @returns A promise resolving to an array of document IDs or void, based on implementation.\n * @abstract\n */\n addDocuments(documents: Document[], options?: {\n ids?: string[];\n }): Promise<string[] | void>;\n /**\n * Deletes documents from the vector store based on the specified ids.\n *\n * @param params - Flexible key-value pairs defining conditions for document deletion.\n * @param ids - Optional: Property of {params} that contains the array of ids to be deleted\n * @returns A promise that resolves once the deletion is complete.\n */\n delete(params: {\n ids?: string[];\n }): Promise<void>;\n similaritySearchVectorWithScore(embedding: number[], k: number, filter?: this[\"FilterType\"]): Promise<[Document, number][]>;\n private queryCollection;\n maxMarginalRelevanceSearch(query: string, options: MaxMarginalRelevanceSearchOptions<this[\"FilterType\"]>): Promise<Document[]>;\n /**\n * Create an index on the vector store table\n * @param {BaseIndex} index\n * @param {string} name Optional\n * @param {boolean} concurrently Optional\n */\n applyVectorIndex(index: BaseIndex, name?: string, concurrently?: boolean): Promise<void>;\n /**\n * Check if index exists in the table.\n * @param {string} indexName Optional - index name\n */\n isValidIndex(indexName?: string): Promise<boolean>;\n /**\n * Drop the vector index\n * @param {string} indexName Optional - index name\n */\n dropVectorIndex(indexName?: string): Promise<void>;\n /**\n * Re-index the vector store table\n * @param {string} indexName Optional - index name\n */\n reIndex(indexName?: string): Promise<void>;\n}\nexport default PostgresVectorStore;\n"],"mappings":";;;;;;;UAKiBQ,uBAAAA;;EAAAA,aAAAA,CAAAA,EAAAA,MAAAA;EAAuB,eAAA,CAAA,EAAA,MAAA;EAAA,eAIlBC,CAAAA,EAAAA,KAAAA,CAAAA,MAAAA,CAAAA;EAAK,QAEJJ,CAAAA,EAAAA,MAAAA;EAAgB,gBAIXI,CAAAA,EAJLJ,gBAIKI;EAAK,CAAA,CAAA,EAETH,MAAAA;EAAY,MAAA,CAAA,EAAA,MAAA;EAEnBI,UAAAA,CAAAA,EAAAA,MAAY;EAAA,qBAAA,CAAA,EAJDD,KAIC,CAAA,MAAA,CAAA;EAAA,kBACjBF,CAAAA,EAAAA,MAAAA;EAAc,iBAEXC,CAAAA,EALSF,YAKTE;AAAuB;AAE5BG,UALOD,YAAAA,CAKD;EAAA,MAAA,EAJJH,cAII;EAAA,SACJA,EAAAA,MAAAA;EAAc,QAKLE,CAAAA,EARND,uBAQMC;;UANXE,MAAAA,CAacL;EAAY,MAAA,EAZxBC,cAYwB;EAoJfK,SAAAA,EAAAA,MAAAA;EAAmB,UAAA,EAAA,MAAA;EAAA,aAE5BL,EAAAA,MAAAA;EAAc,eACVP,EAAAA,MAAAA;EAAmB,eAKdS,EAnKAA,KAmKAA,CAAAA,MAAAA,CAAAA;EAAK,QAGJJ,EAAAA,MAAAA;EAAgB,gBAIfC,EAxKDD,gBAwKCC;EAAY,CAAA,EAOPN,MAAAA;EAAmB,MAAYW,EAAAA,MAAAA;EAAM,UAoBnCJ,EAAAA,MAAAA;EAAc,kBAAcP,EAAAA,MAAAA;EAAmB,iBAAuBa,CAAAA,EA9L5EP,YA8L4EO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1CxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAvCD,mBAAAA,SAA4BV,WAAAA;;UAErCK;cACIP;;;;;mBAKKS;;;oBAGCJ;;;;qBAICC;;;;;;;0BAOKN,+BAA+BW;;;;;;;;;;;;;;;;;;;;4BAoB7BJ,4BAA4BP;;;;;;;;;;;;;MAA2NQ,0BAA0BiB,QAAQb;8EACvOZ,+BAA+BU,eAAee,QAAQvB;6BACvGC,wBAAwBH,+BAA+BU,eAAee,QAAQvB;6CAC9DC;;MAEvCsB;;;;;;;;;;;0BAWoBtB;;MAEpBsB;;;;;;;;;;MAUAA;gGAC0FA,SAAStB;;qDAEpDF,wDAAwDwB,QAAQtB;;;;;;;0BAO3FC,mDAAmDqB;;;;;oCAKzCA;;;;;uCAKGA;;;;;+BAKRA"}