langchain 0.0.165 → 0.0.167

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 (100) hide show
  1. package/dist/cache/momento.cjs +7 -7
  2. package/dist/cache/momento.d.ts +1 -1
  3. package/dist/cache/momento.js +1 -1
  4. package/dist/document_loaders/fs/unstructured.cjs +40 -0
  5. package/dist/document_loaders/fs/unstructured.d.ts +27 -0
  6. package/dist/document_loaders/fs/unstructured.js +40 -0
  7. package/dist/embeddings/bedrock.cjs +43 -22
  8. package/dist/embeddings/bedrock.d.ts +11 -4
  9. package/dist/embeddings/bedrock.js +43 -22
  10. package/dist/experimental/chat_models/anthropic_functions.cjs +34 -2
  11. package/dist/experimental/chat_models/anthropic_functions.d.ts +15 -5
  12. package/dist/experimental/chat_models/anthropic_functions.js +34 -2
  13. package/dist/llms/yandex.cjs +100 -0
  14. package/dist/llms/yandex.d.ts +40 -0
  15. package/dist/llms/yandex.js +96 -0
  16. package/dist/load/import_constants.cjs +3 -0
  17. package/dist/load/import_constants.js +3 -0
  18. package/dist/load/import_map.cjs +6 -2
  19. package/dist/load/import_map.d.ts +4 -0
  20. package/dist/load/import_map.js +4 -0
  21. package/dist/prompts/chat.cjs +19 -2
  22. package/dist/prompts/chat.d.ts +1 -0
  23. package/dist/prompts/chat.js +19 -2
  24. package/dist/retrievers/multi_vector.d.ts +3 -3
  25. package/dist/retrievers/parent_document.cjs +6 -16
  26. package/dist/retrievers/parent_document.d.ts +5 -12
  27. package/dist/retrievers/parent_document.js +6 -16
  28. package/dist/retrievers/self_query/base.cjs +4 -1
  29. package/dist/retrievers/self_query/base.d.ts +3 -2
  30. package/dist/retrievers/self_query/base.js +4 -1
  31. package/dist/retrievers/self_query/index.cjs +2 -2
  32. package/dist/retrievers/self_query/index.d.ts +2 -0
  33. package/dist/retrievers/self_query/index.js +2 -2
  34. package/dist/runnables/remote.cjs +225 -0
  35. package/dist/runnables/remote.d.ts +28 -0
  36. package/dist/runnables/remote.js +221 -0
  37. package/dist/schema/index.cjs +1 -1
  38. package/dist/schema/index.d.ts +1 -1
  39. package/dist/schema/index.js +1 -1
  40. package/dist/schema/runnable/base.cjs +4 -4
  41. package/dist/schema/runnable/base.d.ts +9 -7
  42. package/dist/schema/runnable/base.js +4 -4
  43. package/dist/schema/runnable/remote.cjs +225 -0
  44. package/dist/schema/runnable/remote.d.ts +28 -0
  45. package/dist/schema/runnable/remote.js +221 -0
  46. package/dist/schema/storage.d.ts +28 -1
  47. package/dist/storage/encoder_backed.cjs +14 -2
  48. package/dist/storage/encoder_backed.d.ts +2 -0
  49. package/dist/storage/encoder_backed.js +12 -1
  50. package/dist/storage/in_memory.cjs +1 -1
  51. package/dist/storage/in_memory.js +1 -1
  52. package/dist/storage/ioredis.cjs +4 -4
  53. package/dist/storage/ioredis.js +4 -4
  54. package/dist/storage/vercel_kv.cjs +146 -0
  55. package/dist/storage/vercel_kv.d.ts +46 -0
  56. package/dist/storage/vercel_kv.js +142 -0
  57. package/dist/stores/doc/in_memory.cjs +13 -0
  58. package/dist/stores/doc/in_memory.d.ts +6 -1
  59. package/dist/stores/doc/in_memory.js +13 -0
  60. package/dist/stores/message/momento.cjs +11 -11
  61. package/dist/stores/message/momento.d.ts +1 -1
  62. package/dist/stores/message/momento.js +1 -1
  63. package/dist/util/time.cjs +14 -0
  64. package/dist/util/time.d.ts +6 -0
  65. package/dist/util/time.js +10 -0
  66. package/dist/vectorstores/cassandra.cjs +4 -2
  67. package/dist/vectorstores/cassandra.js +4 -2
  68. package/dist/vectorstores/elasticsearch.cjs +3 -1
  69. package/dist/vectorstores/elasticsearch.js +3 -1
  70. package/dist/vectorstores/momento_vector_index.cjs +292 -0
  71. package/dist/vectorstores/momento_vector_index.d.ts +135 -0
  72. package/dist/vectorstores/momento_vector_index.js +265 -0
  73. package/dist/vectorstores/neo4j_vector.cjs +578 -0
  74. package/dist/vectorstores/neo4j_vector.d.ts +61 -0
  75. package/dist/vectorstores/neo4j_vector.js +548 -0
  76. package/dist/vectorstores/supabase.cjs +37 -8
  77. package/dist/vectorstores/supabase.d.ts +28 -1
  78. package/dist/vectorstores/supabase.js +37 -8
  79. package/llms/yandex.cjs +1 -0
  80. package/llms/yandex.d.ts +1 -0
  81. package/llms/yandex.js +1 -0
  82. package/package.json +73 -3
  83. package/runnables/remote.cjs +1 -0
  84. package/runnables/remote.d.ts +1 -0
  85. package/runnables/remote.js +1 -0
  86. package/storage/encoder_backed.cjs +1 -0
  87. package/storage/encoder_backed.d.ts +1 -0
  88. package/storage/encoder_backed.js +1 -0
  89. package/storage/vercel_kv.cjs +1 -0
  90. package/storage/vercel_kv.d.ts +1 -0
  91. package/storage/vercel_kv.js +1 -0
  92. package/util/time.cjs +1 -0
  93. package/util/time.d.ts +1 -0
  94. package/util/time.js +1 -0
  95. package/vectorstores/momento_vector_index.cjs +1 -0
  96. package/vectorstores/momento_vector_index.d.ts +1 -0
  97. package/vectorstores/momento_vector_index.js +1 -0
  98. package/vectorstores/neo4j_vector.cjs +1 -0
  99. package/vectorstores/neo4j_vector.d.ts +1 -0
  100. package/vectorstores/neo4j_vector.js +1 -0
@@ -1,5 +1,6 @@
1
1
  import { VectorStore } from "./base.js";
2
2
  import { Document } from "../document.js";
3
+ import { maximalMarginalRelevance } from "../util/math.js";
3
4
  /**
4
5
  * Class for interacting with a Supabase database to store and manage
5
6
  * vectors.
@@ -100,14 +101,7 @@ export class SupabaseVectorStore extends VectorStore {
100
101
  await this.client.from(this.tableName).delete().eq("id", id);
101
102
  }
102
103
  }
103
- /**
104
- * Performs a similarity search on the vector store.
105
- * @param query The query vector.
106
- * @param k The number of results to return.
107
- * @param filter Optional filter to apply to the search.
108
- * @returns A promise that resolves with the search results when the search is complete.
109
- */
110
- async similaritySearchVectorWithScore(query, k, filter) {
104
+ async _searchSupabase(query, k, filter) {
111
105
  if (filter && this.filter) {
112
106
  throw new Error("cannot provide both `filter` and `this.filter`");
113
107
  }
@@ -132,6 +126,17 @@ export class SupabaseVectorStore extends VectorStore {
132
126
  if (error) {
133
127
  throw new Error(`Error searching for documents: ${error.code} ${error.message} ${error.details}`);
134
128
  }
129
+ return searches;
130
+ }
131
+ /**
132
+ * Performs a similarity search on the vector store.
133
+ * @param query The query vector.
134
+ * @param k The number of results to return.
135
+ * @param filter Optional filter to apply to the search.
136
+ * @returns A promise that resolves with the search results when the search is complete.
137
+ */
138
+ async similaritySearchVectorWithScore(query, k, filter) {
139
+ const searches = await this._searchSupabase(query, k, filter);
135
140
  const result = searches.map((resp) => [
136
141
  new Document({
137
142
  metadata: resp.metadata,
@@ -141,6 +146,30 @@ export class SupabaseVectorStore extends VectorStore {
141
146
  ]);
142
147
  return result;
143
148
  }
149
+ /**
150
+ * Return documents selected using the maximal marginal relevance.
151
+ * Maximal marginal relevance optimizes for similarity to the query AND diversity
152
+ * among selected documents.
153
+ *
154
+ * @param {string} query - Text to look up documents similar to.
155
+ * @param {number} options.k - Number of documents to return.
156
+ * @param {number} options.fetchK=20- Number of documents to fetch before passing to the MMR algorithm.
157
+ * @param {number} options.lambda=0.5 - Number between 0 and 1 that determines the degree of diversity among the results,
158
+ * where 0 corresponds to maximum diversity and 1 to minimum diversity.
159
+ * @param {SupabaseLibArgs} options.filter - Optional filter to apply to the search.
160
+ *
161
+ * @returns {Promise<Document[]>} - List of documents selected by maximal marginal relevance.
162
+ */
163
+ async maxMarginalRelevanceSearch(query, options) {
164
+ const queryEmbedding = await this.embeddings.embedQuery(query);
165
+ const searches = await this._searchSupabase(queryEmbedding, options.fetchK ?? 20, options.filter);
166
+ const embeddingList = searches.map((searchResp) => searchResp.embedding);
167
+ const mmrIndexes = maximalMarginalRelevance(queryEmbedding, embeddingList, options.lambda, options.k);
168
+ return mmrIndexes.map((idx) => new Document({
169
+ metadata: searches[idx].metadata,
170
+ pageContent: searches[idx].content,
171
+ }));
172
+ }
144
173
  /**
145
174
  * Creates a new SupabaseVectorStore instance from an array of texts.
146
175
  * @param texts The texts to create documents from.
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/llms/yandex.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/llms/yandex.js'
package/llms/yandex.js ADDED
@@ -0,0 +1 @@
1
+ export * from '../dist/llms/yandex.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.0.165",
3
+ "version": "0.0.167",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {
@@ -175,6 +175,9 @@
175
175
  "llms/portkey.cjs",
176
176
  "llms/portkey.js",
177
177
  "llms/portkey.d.ts",
178
+ "llms/yandex.cjs",
179
+ "llms/yandex.js",
180
+ "llms/yandex.d.ts",
178
181
  "prompts.cjs",
179
182
  "prompts.js",
180
183
  "prompts.d.ts",
@@ -217,6 +220,9 @@
217
220
  "vectorstores/lancedb.cjs",
218
221
  "vectorstores/lancedb.js",
219
222
  "vectorstores/lancedb.d.ts",
223
+ "vectorstores/momento_vector_index.cjs",
224
+ "vectorstores/momento_vector_index.js",
225
+ "vectorstores/momento_vector_index.d.ts",
220
226
  "vectorstores/mongo.cjs",
221
227
  "vectorstores/mongo.js",
222
228
  "vectorstores/mongo.d.ts",
@@ -241,6 +247,9 @@
241
247
  "vectorstores/milvus.cjs",
242
248
  "vectorstores/milvus.js",
243
249
  "vectorstores/milvus.d.ts",
250
+ "vectorstores/neo4j_vector.cjs",
251
+ "vectorstores/neo4j_vector.js",
252
+ "vectorstores/neo4j_vector.d.ts",
244
253
  "vectorstores/prisma.cjs",
245
254
  "vectorstores/prisma.js",
246
255
  "vectorstores/prisma.d.ts",
@@ -622,12 +631,18 @@
622
631
  "stores/message/xata.cjs",
623
632
  "stores/message/xata.js",
624
633
  "stores/message/xata.d.ts",
634
+ "storage/encoder_backed.cjs",
635
+ "storage/encoder_backed.js",
636
+ "storage/encoder_backed.d.ts",
625
637
  "storage/in_memory.cjs",
626
638
  "storage/in_memory.js",
627
639
  "storage/in_memory.d.ts",
628
640
  "storage/ioredis.cjs",
629
641
  "storage/ioredis.js",
630
642
  "storage/ioredis.d.ts",
643
+ "storage/vercel_kv.cjs",
644
+ "storage/vercel_kv.js",
645
+ "storage/vercel_kv.d.ts",
631
646
  "graphs/neo4j_graph.cjs",
632
647
  "graphs/neo4j_graph.js",
633
648
  "graphs/neo4j_graph.d.ts",
@@ -637,6 +652,9 @@
637
652
  "util/math.cjs",
638
653
  "util/math.js",
639
654
  "util/math.d.ts",
655
+ "util/time.cjs",
656
+ "util/time.js",
657
+ "util/time.d.ts",
640
658
  "experimental/autogpt.cjs",
641
659
  "experimental/autogpt.js",
642
660
  "experimental/autogpt.d.ts",
@@ -667,6 +685,9 @@
667
685
  "evaluation.cjs",
668
686
  "evaluation.js",
669
687
  "evaluation.d.ts",
688
+ "runnables/remote.cjs",
689
+ "runnables/remote.js",
690
+ "runnables/remote.d.ts",
670
691
  "index.cjs",
671
692
  "index.js",
672
693
  "index.d.ts"
@@ -714,7 +735,8 @@
714
735
  "@faker-js/faker": "^7.6.0",
715
736
  "@getmetal/metal-sdk": "^4.0.0",
716
737
  "@getzep/zep-js": "^0.7.0",
717
- "@gomomento/sdk": "^1.23.0",
738
+ "@gomomento/sdk": "^1.41.2",
739
+ "@gomomento/sdk-core": "^1.41.2",
718
740
  "@google-ai/generativelanguage": "^0.2.1",
719
741
  "@google-cloud/storage": "^6.10.1",
720
742
  "@huggingface/inference": "^1.5.1",
@@ -755,6 +777,7 @@
755
777
  "@typescript-eslint/eslint-plugin": "^5.58.0",
756
778
  "@typescript-eslint/parser": "^5.58.0",
757
779
  "@upstash/redis": "^1.20.6",
780
+ "@vercel/kv": "^0.2.3",
758
781
  "@vercel/postgres": "^0.5.0",
759
782
  "@writerai/writer-sdk": "^0.40.2",
760
783
  "@xata.io/client": "^0.25.1",
@@ -843,7 +866,9 @@
843
866
  "@elastic/elasticsearch": "^8.4.0",
844
867
  "@getmetal/metal-sdk": "*",
845
868
  "@getzep/zep-js": "^0.7.0",
846
- "@gomomento/sdk": "^1.23.0",
869
+ "@gomomento/sdk": "^1.41.2",
870
+ "@gomomento/sdk-core": "^1.41.2",
871
+ "@gomomento/sdk-web": "^1.41.2",
847
872
  "@google-ai/generativelanguage": "^0.2.1",
848
873
  "@google-cloud/storage": "^6.10.1",
849
874
  "@huggingface/inference": "^1.5.1",
@@ -864,6 +889,7 @@
864
889
  "@tensorflow/tfjs-converter": "*",
865
890
  "@tensorflow/tfjs-core": "*",
866
891
  "@upstash/redis": "^1.20.6",
892
+ "@vercel/kv": "^0.2.3",
867
893
  "@vercel/postgres": "^0.5.0",
868
894
  "@writerai/writer-sdk": "^0.40.2",
869
895
  "@xata.io/client": "^0.25.1",
@@ -966,6 +992,12 @@
966
992
  "@gomomento/sdk": {
967
993
  "optional": true
968
994
  },
995
+ "@gomomento/sdk-core": {
996
+ "optional": true
997
+ },
998
+ "@gomomento/sdk-web": {
999
+ "optional": true
1000
+ },
969
1001
  "@google-ai/generativelanguage": {
970
1002
  "optional": true
971
1003
  },
@@ -1026,6 +1058,9 @@
1026
1058
  "@upstash/redis": {
1027
1059
  "optional": true
1028
1060
  },
1061
+ "@vercel/kv": {
1062
+ "optional": true
1063
+ },
1029
1064
  "@vercel/postgres": {
1030
1065
  "optional": true
1031
1066
  },
@@ -1500,6 +1535,11 @@
1500
1535
  "import": "./llms/portkey.js",
1501
1536
  "require": "./llms/portkey.cjs"
1502
1537
  },
1538
+ "./llms/yandex": {
1539
+ "types": "./llms/yandex.d.ts",
1540
+ "import": "./llms/yandex.js",
1541
+ "require": "./llms/yandex.cjs"
1542
+ },
1503
1543
  "./prompts": {
1504
1544
  "types": "./prompts.d.ts",
1505
1545
  "import": "./prompts.js",
@@ -1570,6 +1610,11 @@
1570
1610
  "import": "./vectorstores/lancedb.js",
1571
1611
  "require": "./vectorstores/lancedb.cjs"
1572
1612
  },
1613
+ "./vectorstores/momento_vector_index": {
1614
+ "types": "./vectorstores/momento_vector_index.d.ts",
1615
+ "import": "./vectorstores/momento_vector_index.js",
1616
+ "require": "./vectorstores/momento_vector_index.cjs"
1617
+ },
1573
1618
  "./vectorstores/mongo": {
1574
1619
  "types": "./vectorstores/mongo.d.ts",
1575
1620
  "import": "./vectorstores/mongo.js",
@@ -1610,6 +1655,11 @@
1610
1655
  "import": "./vectorstores/milvus.js",
1611
1656
  "require": "./vectorstores/milvus.cjs"
1612
1657
  },
1658
+ "./vectorstores/neo4j_vector": {
1659
+ "types": "./vectorstores/neo4j_vector.d.ts",
1660
+ "import": "./vectorstores/neo4j_vector.js",
1661
+ "require": "./vectorstores/neo4j_vector.cjs"
1662
+ },
1613
1663
  "./vectorstores/prisma": {
1614
1664
  "types": "./vectorstores/prisma.d.ts",
1615
1665
  "import": "./vectorstores/prisma.js",
@@ -2245,6 +2295,11 @@
2245
2295
  "import": "./stores/message/xata.js",
2246
2296
  "require": "./stores/message/xata.cjs"
2247
2297
  },
2298
+ "./storage/encoder_backed": {
2299
+ "types": "./storage/encoder_backed.d.ts",
2300
+ "import": "./storage/encoder_backed.js",
2301
+ "require": "./storage/encoder_backed.cjs"
2302
+ },
2248
2303
  "./storage/in_memory": {
2249
2304
  "types": "./storage/in_memory.d.ts",
2250
2305
  "import": "./storage/in_memory.js",
@@ -2255,6 +2310,11 @@
2255
2310
  "import": "./storage/ioredis.js",
2256
2311
  "require": "./storage/ioredis.cjs"
2257
2312
  },
2313
+ "./storage/vercel_kv": {
2314
+ "types": "./storage/vercel_kv.d.ts",
2315
+ "import": "./storage/vercel_kv.js",
2316
+ "require": "./storage/vercel_kv.cjs"
2317
+ },
2258
2318
  "./graphs/neo4j_graph": {
2259
2319
  "types": "./graphs/neo4j_graph.d.ts",
2260
2320
  "import": "./graphs/neo4j_graph.js",
@@ -2270,6 +2330,11 @@
2270
2330
  "import": "./util/math.js",
2271
2331
  "require": "./util/math.cjs"
2272
2332
  },
2333
+ "./util/time": {
2334
+ "types": "./util/time.d.ts",
2335
+ "import": "./util/time.js",
2336
+ "require": "./util/time.cjs"
2337
+ },
2273
2338
  "./experimental/autogpt": {
2274
2339
  "types": "./experimental/autogpt.d.ts",
2275
2340
  "import": "./experimental/autogpt.js",
@@ -2320,6 +2385,11 @@
2320
2385
  "import": "./evaluation.js",
2321
2386
  "require": "./evaluation.cjs"
2322
2387
  },
2388
+ "./runnables/remote": {
2389
+ "types": "./runnables/remote.d.ts",
2390
+ "import": "./runnables/remote.js",
2391
+ "require": "./runnables/remote.cjs"
2392
+ },
2323
2393
  "./package.json": "./package.json"
2324
2394
  }
2325
2395
  }
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/runnables/remote.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/runnables/remote.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/runnables/remote.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/storage/encoder_backed.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/storage/encoder_backed.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/storage/encoder_backed.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/storage/vercel_kv.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/storage/vercel_kv.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/storage/vercel_kv.js'
package/util/time.cjs ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/util/time.cjs');
package/util/time.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '../dist/util/time.js'
package/util/time.js ADDED
@@ -0,0 +1 @@
1
+ export * from '../dist/util/time.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/vectorstores/momento_vector_index.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/vectorstores/momento_vector_index.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/vectorstores/momento_vector_index.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/vectorstores/neo4j_vector.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/vectorstores/neo4j_vector.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/vectorstores/neo4j_vector.js'