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
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YandexGPT = void 0;
4
+ const env_js_1 = require("../util/env.cjs");
5
+ const base_js_1 = require("./base.cjs");
6
+ const apiUrl = "https://llm.api.cloud.yandex.net/llm/v1alpha/instruct";
7
+ class YandexGPT extends base_js_1.LLM {
8
+ static lc_name() {
9
+ return "Yandex GPT";
10
+ }
11
+ get lc_secrets() {
12
+ return {
13
+ apiKey: "YC_API_KEY",
14
+ iamToken: "YC_IAM_TOKEN",
15
+ };
16
+ }
17
+ constructor(fields) {
18
+ super(fields ?? {});
19
+ Object.defineProperty(this, "temperature", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: 0.6
24
+ });
25
+ Object.defineProperty(this, "maxTokens", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: 1700
30
+ });
31
+ Object.defineProperty(this, "model", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: "general"
36
+ });
37
+ Object.defineProperty(this, "apiKey", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ Object.defineProperty(this, "iamToken", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
49
+ const apiKey = fields?.apiKey ?? (0, env_js_1.getEnvironmentVariable)("YC_API_KEY");
50
+ const iamToken = fields?.iamToken ?? (0, env_js_1.getEnvironmentVariable)("YC_IAM_TOKEN");
51
+ if (apiKey === undefined && iamToken === undefined) {
52
+ throw new Error("Please set the YC_API_KEY or YC_IAM_TOKEN environment variable or pass it to the constructor as the apiKey or iamToken field.");
53
+ }
54
+ this.apiKey = apiKey;
55
+ this.iamToken = iamToken;
56
+ this.maxTokens = fields?.maxTokens ?? this.maxTokens;
57
+ this.temperature = fields?.temperature ?? this.temperature;
58
+ this.model = fields?.model ?? this.model;
59
+ }
60
+ _llmType() {
61
+ return "yandexgpt";
62
+ }
63
+ /** @ignore */
64
+ async _call(prompt, options) {
65
+ // Hit the `generate` endpoint on the `large` model
66
+ return this.caller.callWithOptions({ signal: options.signal }, async () => {
67
+ const headers = { "Content-Type": "application/json", Authorization: "" };
68
+ if (this.apiKey !== undefined) {
69
+ headers.Authorization = `Api-Key ${this.apiKey}`;
70
+ }
71
+ else {
72
+ headers.Authorization = `Bearer ${this.iamToken}`;
73
+ }
74
+ const bodyData = {
75
+ model: this.model,
76
+ generationOptions: {
77
+ temperature: this.temperature,
78
+ maxTokens: this.maxTokens,
79
+ },
80
+ requestText: prompt,
81
+ };
82
+ try {
83
+ const response = await fetch(apiUrl, {
84
+ method: "POST",
85
+ headers,
86
+ body: JSON.stringify(bodyData),
87
+ });
88
+ if (!response.ok) {
89
+ throw new Error(`Failed to fetch ${apiUrl} from YandexGPT: ${response.status}`);
90
+ }
91
+ const responseData = await response.json();
92
+ return responseData.result.alternatives[0].text;
93
+ }
94
+ catch (error) {
95
+ throw new Error(`Failed to fetch ${apiUrl} from YandexGPT ${error}`);
96
+ }
97
+ });
98
+ }
99
+ }
100
+ exports.YandexGPT = YandexGPT;
@@ -0,0 +1,40 @@
1
+ import { LLM, BaseLLMParams } from "./base.js";
2
+ export interface YandexGPTInputs extends BaseLLMParams {
3
+ /**
4
+ * What sampling temperature to use.
5
+ * Should be a double number between 0 (inclusive) and 1 (inclusive).
6
+ */
7
+ temperature?: number;
8
+ /**
9
+ * Maximum limit on the total number of tokens
10
+ * used for both the input prompt and the generated response.
11
+ */
12
+ maxTokens?: number;
13
+ /** Model name to use. */
14
+ model?: string;
15
+ /**
16
+ * Yandex Cloud Api Key for service account
17
+ * with the `ai.languageModels.user` role.
18
+ */
19
+ apiKey?: string;
20
+ /**
21
+ * Yandex Cloud IAM token for service account
22
+ * with the `ai.languageModels.user` role.
23
+ */
24
+ iamToken?: string;
25
+ }
26
+ export declare class YandexGPT extends LLM implements YandexGPTInputs {
27
+ static lc_name(): string;
28
+ get lc_secrets(): {
29
+ [key: string]: string;
30
+ } | undefined;
31
+ temperature: number;
32
+ maxTokens: number;
33
+ model: string;
34
+ apiKey?: string;
35
+ iamToken?: string;
36
+ constructor(fields?: YandexGPTInputs);
37
+ _llmType(): string;
38
+ /** @ignore */
39
+ _call(prompt: string, options: this["ParsedCallOptions"]): Promise<string>;
40
+ }
@@ -0,0 +1,96 @@
1
+ import { getEnvironmentVariable } from "../util/env.js";
2
+ import { LLM } from "./base.js";
3
+ const apiUrl = "https://llm.api.cloud.yandex.net/llm/v1alpha/instruct";
4
+ export class YandexGPT extends LLM {
5
+ static lc_name() {
6
+ return "Yandex GPT";
7
+ }
8
+ get lc_secrets() {
9
+ return {
10
+ apiKey: "YC_API_KEY",
11
+ iamToken: "YC_IAM_TOKEN",
12
+ };
13
+ }
14
+ constructor(fields) {
15
+ super(fields ?? {});
16
+ Object.defineProperty(this, "temperature", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: 0.6
21
+ });
22
+ Object.defineProperty(this, "maxTokens", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: 1700
27
+ });
28
+ Object.defineProperty(this, "model", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: "general"
33
+ });
34
+ Object.defineProperty(this, "apiKey", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "iamToken", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ const apiKey = fields?.apiKey ?? getEnvironmentVariable("YC_API_KEY");
47
+ const iamToken = fields?.iamToken ?? getEnvironmentVariable("YC_IAM_TOKEN");
48
+ if (apiKey === undefined && iamToken === undefined) {
49
+ throw new Error("Please set the YC_API_KEY or YC_IAM_TOKEN environment variable or pass it to the constructor as the apiKey or iamToken field.");
50
+ }
51
+ this.apiKey = apiKey;
52
+ this.iamToken = iamToken;
53
+ this.maxTokens = fields?.maxTokens ?? this.maxTokens;
54
+ this.temperature = fields?.temperature ?? this.temperature;
55
+ this.model = fields?.model ?? this.model;
56
+ }
57
+ _llmType() {
58
+ return "yandexgpt";
59
+ }
60
+ /** @ignore */
61
+ async _call(prompt, options) {
62
+ // Hit the `generate` endpoint on the `large` model
63
+ return this.caller.callWithOptions({ signal: options.signal }, async () => {
64
+ const headers = { "Content-Type": "application/json", Authorization: "" };
65
+ if (this.apiKey !== undefined) {
66
+ headers.Authorization = `Api-Key ${this.apiKey}`;
67
+ }
68
+ else {
69
+ headers.Authorization = `Bearer ${this.iamToken}`;
70
+ }
71
+ const bodyData = {
72
+ model: this.model,
73
+ generationOptions: {
74
+ temperature: this.temperature,
75
+ maxTokens: this.maxTokens,
76
+ },
77
+ requestText: prompt,
78
+ };
79
+ try {
80
+ const response = await fetch(apiUrl, {
81
+ method: "POST",
82
+ headers,
83
+ body: JSON.stringify(bodyData),
84
+ });
85
+ if (!response.ok) {
86
+ throw new Error(`Failed to fetch ${apiUrl} from YandexGPT: ${response.status}`);
87
+ }
88
+ const responseData = await response.json();
89
+ return responseData.result.alternatives[0].text;
90
+ }
91
+ catch (error) {
92
+ throw new Error(`Failed to fetch ${apiUrl} from YandexGPT ${error}`);
93
+ }
94
+ });
95
+ }
96
+ }
@@ -49,6 +49,7 @@ exports.optionalImportEntrypoints = [
49
49
  "langchain/vectorstores/faiss",
50
50
  "langchain/vectorstores/weaviate",
51
51
  "langchain/vectorstores/lancedb",
52
+ "langchain/vectorstores/momento_vector_index",
52
53
  "langchain/vectorstores/mongo",
53
54
  "langchain/vectorstores/mongodb_atlas",
54
55
  "langchain/vectorstores/pinecone",
@@ -57,6 +58,7 @@ exports.optionalImportEntrypoints = [
57
58
  "langchain/vectorstores/opensearch",
58
59
  "langchain/vectorstores/pgvector",
59
60
  "langchain/vectorstores/milvus",
61
+ "langchain/vectorstores/neo4j_vector",
60
62
  "langchain/vectorstores/typeorm",
61
63
  "langchain/vectorstores/myscale",
62
64
  "langchain/vectorstores/redis",
@@ -139,6 +141,7 @@ exports.optionalImportEntrypoints = [
139
141
  "langchain/stores/message/planetscale",
140
142
  "langchain/stores/message/xata",
141
143
  "langchain/storage/ioredis",
144
+ "langchain/storage/vercel_kv",
142
145
  "langchain/graphs/neo4j_graph",
143
146
  "langchain/hub",
144
147
  "langchain/experimental/multimodal_embeddings/googlevertexai",
@@ -46,6 +46,7 @@ export const optionalImportEntrypoints = [
46
46
  "langchain/vectorstores/faiss",
47
47
  "langchain/vectorstores/weaviate",
48
48
  "langchain/vectorstores/lancedb",
49
+ "langchain/vectorstores/momento_vector_index",
49
50
  "langchain/vectorstores/mongo",
50
51
  "langchain/vectorstores/mongodb_atlas",
51
52
  "langchain/vectorstores/pinecone",
@@ -54,6 +55,7 @@ export const optionalImportEntrypoints = [
54
55
  "langchain/vectorstores/opensearch",
55
56
  "langchain/vectorstores/pgvector",
56
57
  "langchain/vectorstores/milvus",
58
+ "langchain/vectorstores/neo4j_vector",
57
59
  "langchain/vectorstores/typeorm",
58
60
  "langchain/vectorstores/myscale",
59
61
  "langchain/vectorstores/redis",
@@ -136,6 +138,7 @@ export const optionalImportEntrypoints = [
136
138
  "langchain/stores/message/planetscale",
137
139
  "langchain/stores/message/xata",
138
140
  "langchain/storage/ioredis",
141
+ "langchain/storage/vercel_kv",
139
142
  "langchain/graphs/neo4j_graph",
140
143
  "langchain/hub",
141
144
  "langchain/experimental/multimodal_embeddings/googlevertexai",
@@ -24,8 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  return result;
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.retrievers__remote = exports.output_parsers = exports.callbacks = exports.schema__storage = exports.schema__runnable = exports.schema__retriever = exports.schema__query_constructor = exports.schema__output_parser = exports.schema__document = exports.schema = exports.chat_models__minimax = exports.chat_models__ollama = exports.chat_models__baiduwenxin = exports.chat_models__fireworks = exports.chat_models__anthropic = exports.chat_models__openai = exports.chat_models__base = exports.document_transformers__openai_functions = exports.document_loaders__web__sort_xyz_blockchain = exports.document_loaders__web__serpapi = exports.document_loaders__web__searchapi = exports.document_loaders__base = exports.document = exports.memory = exports.text_splitter = exports.vectorstores__xata = exports.vectorstores__vectara = exports.vectorstores__prisma = exports.vectorstores__memory = exports.vectorstores__base = exports.prompts = exports.llms__fireworks = exports.llms__ollama = exports.llms__aleph_alpha = exports.llms__ai21 = exports.llms__openai = exports.llms__base = exports.embeddings__minimax = exports.embeddings__openai = exports.embeddings__ollama = exports.embeddings__fake = exports.embeddings__cache_backed = exports.embeddings__base = exports.chains__openai_functions = exports.chains = exports.tools = exports.base_language = exports.agents__toolkits = exports.agents = exports.load__serializable = void 0;
28
- exports.evaluation = exports.experimental__chat_models__bittensor = exports.experimental__plan_and_execute = exports.experimental__generative_agents = exports.experimental__babyagi = exports.experimental__autogpt = exports.util__math = exports.storage__in_memory = exports.stores__message__in_memory = exports.stores__file__in_memory = exports.stores__doc__in_memory = exports.cache = exports.retrievers__vespa = exports.retrievers__score_threshold = exports.retrievers__hyde = exports.retrievers__document_compressors__embeddings_filter = exports.retrievers__document_compressors__chain_extract = exports.retrievers__time_weighted = exports.retrievers__tavily_search_api = exports.retrievers__parent_document = exports.retrievers__multi_vector = exports.retrievers__multi_query = exports.retrievers__document_compressors = exports.retrievers__contextual_compression = exports.retrievers__databerry = exports.retrievers__chaindesk = void 0;
27
+ exports.output_parsers = exports.callbacks = exports.schema__storage = exports.schema__runnable = exports.schema__retriever = exports.schema__query_constructor = exports.schema__output_parser = exports.schema__document = exports.schema = exports.chat_models__minimax = exports.chat_models__ollama = exports.chat_models__baiduwenxin = exports.chat_models__fireworks = exports.chat_models__anthropic = exports.chat_models__openai = exports.chat_models__base = exports.document_transformers__openai_functions = exports.document_loaders__web__sort_xyz_blockchain = exports.document_loaders__web__serpapi = exports.document_loaders__web__searchapi = exports.document_loaders__base = exports.document = exports.memory = exports.text_splitter = exports.vectorstores__xata = exports.vectorstores__vectara = exports.vectorstores__prisma = exports.vectorstores__memory = exports.vectorstores__base = exports.prompts = exports.llms__yandex = exports.llms__fireworks = exports.llms__ollama = exports.llms__aleph_alpha = exports.llms__ai21 = exports.llms__openai = exports.llms__base = exports.embeddings__minimax = exports.embeddings__openai = exports.embeddings__ollama = exports.embeddings__fake = exports.embeddings__cache_backed = exports.embeddings__base = exports.chains__openai_functions = exports.chains = exports.tools = exports.base_language = exports.agents__toolkits = exports.agents = exports.load__serializable = void 0;
28
+ exports.runnables__remote = exports.evaluation = exports.experimental__chat_models__bittensor = exports.experimental__plan_and_execute = exports.experimental__generative_agents = exports.experimental__babyagi = exports.experimental__autogpt = exports.util__time = exports.util__math = exports.storage__in_memory = exports.storage__encoder_backed = exports.stores__message__in_memory = exports.stores__file__in_memory = exports.stores__doc__in_memory = exports.cache = exports.retrievers__vespa = exports.retrievers__score_threshold = exports.retrievers__hyde = exports.retrievers__document_compressors__embeddings_filter = exports.retrievers__document_compressors__chain_extract = exports.retrievers__time_weighted = exports.retrievers__tavily_search_api = exports.retrievers__parent_document = exports.retrievers__multi_vector = exports.retrievers__multi_query = exports.retrievers__document_compressors = exports.retrievers__contextual_compression = exports.retrievers__databerry = exports.retrievers__chaindesk = exports.retrievers__remote = void 0;
29
29
  exports.load__serializable = __importStar(require("../load/serializable.cjs"));
30
30
  exports.agents = __importStar(require("../agents/index.cjs"));
31
31
  exports.agents__toolkits = __importStar(require("../agents/toolkits/index.cjs"));
@@ -45,6 +45,7 @@ exports.llms__ai21 = __importStar(require("../llms/ai21.cjs"));
45
45
  exports.llms__aleph_alpha = __importStar(require("../llms/aleph_alpha.cjs"));
46
46
  exports.llms__ollama = __importStar(require("../llms/ollama.cjs"));
47
47
  exports.llms__fireworks = __importStar(require("../llms/fireworks.cjs"));
48
+ exports.llms__yandex = __importStar(require("../llms/yandex.cjs"));
48
49
  exports.prompts = __importStar(require("../prompts/index.cjs"));
49
50
  exports.vectorstores__base = __importStar(require("../vectorstores/base.cjs"));
50
51
  exports.vectorstores__memory = __importStar(require("../vectorstores/memory.cjs"));
@@ -94,11 +95,14 @@ exports.cache = __importStar(require("../cache/index.cjs"));
94
95
  exports.stores__doc__in_memory = __importStar(require("../stores/doc/in_memory.cjs"));
95
96
  exports.stores__file__in_memory = __importStar(require("../stores/file/in_memory.cjs"));
96
97
  exports.stores__message__in_memory = __importStar(require("../stores/message/in_memory.cjs"));
98
+ exports.storage__encoder_backed = __importStar(require("../storage/encoder_backed.cjs"));
97
99
  exports.storage__in_memory = __importStar(require("../storage/in_memory.cjs"));
98
100
  exports.util__math = __importStar(require("../util/math.cjs"));
101
+ exports.util__time = __importStar(require("../util/time.cjs"));
99
102
  exports.experimental__autogpt = __importStar(require("../experimental/autogpt/index.cjs"));
100
103
  exports.experimental__babyagi = __importStar(require("../experimental/babyagi/index.cjs"));
101
104
  exports.experimental__generative_agents = __importStar(require("../experimental/generative_agents/index.cjs"));
102
105
  exports.experimental__plan_and_execute = __importStar(require("../experimental/plan_and_execute/index.cjs"));
103
106
  exports.experimental__chat_models__bittensor = __importStar(require("../experimental/chat_models/bittensor.cjs"));
104
107
  exports.evaluation = __importStar(require("../evaluation/index.cjs"));
108
+ exports.runnables__remote = __importStar(require("../runnables/remote.cjs"));
@@ -17,6 +17,7 @@ export * as llms__ai21 from "../llms/ai21.js";
17
17
  export * as llms__aleph_alpha from "../llms/aleph_alpha.js";
18
18
  export * as llms__ollama from "../llms/ollama.js";
19
19
  export * as llms__fireworks from "../llms/fireworks.js";
20
+ export * as llms__yandex from "../llms/yandex.js";
20
21
  export * as prompts from "../prompts/index.js";
21
22
  export * as vectorstores__base from "../vectorstores/base.js";
22
23
  export * as vectorstores__memory from "../vectorstores/memory.js";
@@ -66,11 +67,14 @@ export * as cache from "../cache/index.js";
66
67
  export * as stores__doc__in_memory from "../stores/doc/in_memory.js";
67
68
  export * as stores__file__in_memory from "../stores/file/in_memory.js";
68
69
  export * as stores__message__in_memory from "../stores/message/in_memory.js";
70
+ export * as storage__encoder_backed from "../storage/encoder_backed.js";
69
71
  export * as storage__in_memory from "../storage/in_memory.js";
70
72
  export * as util__math from "../util/math.js";
73
+ export * as util__time from "../util/time.js";
71
74
  export * as experimental__autogpt from "../experimental/autogpt/index.js";
72
75
  export * as experimental__babyagi from "../experimental/babyagi/index.js";
73
76
  export * as experimental__generative_agents from "../experimental/generative_agents/index.js";
74
77
  export * as experimental__plan_and_execute from "../experimental/plan_and_execute/index.js";
75
78
  export * as experimental__chat_models__bittensor from "../experimental/chat_models/bittensor.js";
76
79
  export * as evaluation from "../evaluation/index.js";
80
+ export * as runnables__remote from "../runnables/remote.js";
@@ -18,6 +18,7 @@ export * as llms__ai21 from "../llms/ai21.js";
18
18
  export * as llms__aleph_alpha from "../llms/aleph_alpha.js";
19
19
  export * as llms__ollama from "../llms/ollama.js";
20
20
  export * as llms__fireworks from "../llms/fireworks.js";
21
+ export * as llms__yandex from "../llms/yandex.js";
21
22
  export * as prompts from "../prompts/index.js";
22
23
  export * as vectorstores__base from "../vectorstores/base.js";
23
24
  export * as vectorstores__memory from "../vectorstores/memory.js";
@@ -67,11 +68,14 @@ export * as cache from "../cache/index.js";
67
68
  export * as stores__doc__in_memory from "../stores/doc/in_memory.js";
68
69
  export * as stores__file__in_memory from "../stores/file/in_memory.js";
69
70
  export * as stores__message__in_memory from "../stores/message/in_memory.js";
71
+ export * as storage__encoder_backed from "../storage/encoder_backed.js";
70
72
  export * as storage__in_memory from "../storage/in_memory.js";
71
73
  export * as util__math from "../util/math.js";
74
+ export * as util__time from "../util/time.js";
72
75
  export * as experimental__autogpt from "../experimental/autogpt/index.js";
73
76
  export * as experimental__babyagi from "../experimental/babyagi/index.js";
74
77
  export * as experimental__generative_agents from "../experimental/generative_agents/index.js";
75
78
  export * as experimental__plan_and_execute from "../experimental/plan_and_execute/index.js";
76
79
  export * as experimental__chat_models__bittensor from "../experimental/chat_models/bittensor.js";
77
80
  export * as evaluation from "../evaluation/index.js";
81
+ export * as runnables__remote from "../runnables/remote.js";
@@ -107,8 +107,25 @@ class MessagesPlaceholder extends BaseMessagePromptTemplate {
107
107
  get inputVariables() {
108
108
  return [this.variableName];
109
109
  }
110
- formatMessages(values) {
111
- return Promise.resolve(values[this.variableName]);
110
+ validateInputOrThrow(input, variableName) {
111
+ let isInputBaseMessage = false;
112
+ if (Array.isArray(input)) {
113
+ isInputBaseMessage = input.every((message) => (0, index_js_1.isBaseMessage)(message));
114
+ }
115
+ else {
116
+ isInputBaseMessage = (0, index_js_1.isBaseMessage)(input);
117
+ }
118
+ if (!isInputBaseMessage) {
119
+ const readableInput = typeof input === "string" ? input : JSON.stringify(input, null, 2);
120
+ const error = new Error(`Error: Field "${variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: ${readableInput}`);
121
+ error.name = "InputFormatError";
122
+ throw error;
123
+ }
124
+ return true;
125
+ }
126
+ async formatMessages(values) {
127
+ this.validateInputOrThrow(values[this.variableName], this.variableName);
128
+ return values[this.variableName];
112
129
  }
113
130
  }
114
131
  exports.MessagesPlaceholder = MessagesPlaceholder;
@@ -62,6 +62,7 @@ export declare class MessagesPlaceholder<RunInput extends InputValues = any> ext
62
62
  constructor(variableName: Extract<keyof RunInput, string>);
63
63
  constructor(fields: MessagePlaceholderFields<Extract<keyof RunInput, string>>);
64
64
  get inputVariables(): Extract<keyof RunInput, string>[];
65
+ validateInputOrThrow(input: Array<unknown>, variableName: Extract<keyof RunInput, string>): input is BaseMessage[];
65
66
  formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;
66
67
  }
67
68
  /**
@@ -102,8 +102,25 @@ export class MessagesPlaceholder extends BaseMessagePromptTemplate {
102
102
  get inputVariables() {
103
103
  return [this.variableName];
104
104
  }
105
- formatMessages(values) {
106
- return Promise.resolve(values[this.variableName]);
105
+ validateInputOrThrow(input, variableName) {
106
+ let isInputBaseMessage = false;
107
+ if (Array.isArray(input)) {
108
+ isInputBaseMessage = input.every((message) => isBaseMessage(message));
109
+ }
110
+ else {
111
+ isInputBaseMessage = isBaseMessage(input);
112
+ }
113
+ if (!isInputBaseMessage) {
114
+ const readableInput = typeof input === "string" ? input : JSON.stringify(input, null, 2);
115
+ const error = new Error(`Error: Field "${variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: ${readableInput}`);
116
+ error.name = "InputFormatError";
117
+ throw error;
118
+ }
119
+ return true;
120
+ }
121
+ async formatMessages(values) {
122
+ this.validateInputOrThrow(values[this.variableName], this.variableName);
123
+ return values[this.variableName];
107
124
  }
108
125
  }
109
126
  /**
@@ -1,4 +1,4 @@
1
- import { BaseStore } from "../schema/storage.js";
1
+ import { BaseStoreInterface } from "../schema/storage.js";
2
2
  import { Document } from "../document.js";
3
3
  import { BaseRetriever, BaseRetrieverInput } from "../schema/retriever.js";
4
4
  import { VectorStore } from "../vectorstores/base.js";
@@ -7,7 +7,7 @@ import { VectorStore } from "../vectorstores/base.js";
7
7
  */
8
8
  export interface MultiVectorRetrieverInput extends BaseRetrieverInput {
9
9
  vectorstore: VectorStore;
10
- docstore: BaseStore<string, Document>;
10
+ docstore: BaseStoreInterface<string, Document>;
11
11
  idKey?: string;
12
12
  childK?: number;
13
13
  parentK?: number;
@@ -21,7 +21,7 @@ export declare class MultiVectorRetriever extends BaseRetriever {
21
21
  static lc_name(): string;
22
22
  lc_namespace: string[];
23
23
  vectorstore: VectorStore;
24
- docstore: BaseStore<string, Document>;
24
+ docstore: BaseStoreInterface<string, Document>;
25
25
  protected idKey: string;
26
26
  protected childK?: number;
27
27
  protected parentK?: number;
@@ -25,9 +25,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ParentDocumentRetriever = void 0;
27
27
  const uuid = __importStar(require("uuid"));
28
- const retriever_js_1 = require("../schema/retriever.cjs");
29
28
  const document_js_1 = require("../document.cjs");
30
- // TODO: Change this to subclass MultiVectorRetriever
29
+ const multi_vector_js_1 = require("./multi_vector.cjs");
31
30
  /**
32
31
  * A type of document retriever that splits input documents into smaller chunks
33
32
  * while separately storing and preserving the original documents.
@@ -37,7 +36,7 @@ const document_js_1 = require("../document.cjs");
37
36
  * This strikes a balance between better targeted retrieval with small documents
38
37
  * and the more context-rich larger documents.
39
38
  */
40
- class ParentDocumentRetriever extends retriever_js_1.BaseRetriever {
39
+ class ParentDocumentRetriever extends multi_vector_js_1.MultiVectorRetriever {
41
40
  static lc_name() {
42
41
  return "ParentDocumentRetriever";
43
42
  }
@@ -55,12 +54,6 @@ class ParentDocumentRetriever extends retriever_js_1.BaseRetriever {
55
54
  writable: true,
56
55
  value: void 0
57
56
  });
58
- Object.defineProperty(this, "docstore", {
59
- enumerable: true,
60
- configurable: true,
61
- writable: true,
62
- value: void 0
63
- });
64
57
  Object.defineProperty(this, "childSplitter", {
65
58
  enumerable: true,
66
59
  configurable: true,
@@ -109,12 +102,9 @@ class ParentDocumentRetriever extends retriever_js_1.BaseRetriever {
109
102
  }
110
103
  }
111
104
  const parentDocs = [];
112
- for (const parentDocId of parentDocIds) {
113
- const parentDoc = await this.docstore.search(parentDocId);
114
- if (parentDoc !== undefined) {
115
- parentDocs.push(parentDoc);
116
- }
117
- }
105
+ const storedParentDocs = await this.docstore.mget(parentDocIds);
106
+ const retrievedDocs = storedParentDocs.filter((doc) => doc !== undefined);
107
+ parentDocs.push(...retrievedDocs);
118
108
  return parentDocs.slice(0, this.parentK);
119
109
  }
120
110
  /**
@@ -162,7 +152,7 @@ class ParentDocumentRetriever extends retriever_js_1.BaseRetriever {
162
152
  }
163
153
  await this.vectorstore.addDocuments(embeddedDocs);
164
154
  if (addToDocstore) {
165
- await this.docstore.add(fullDocs);
155
+ await this.docstore.mset(Object.entries(fullDocs));
166
156
  }
167
157
  }
168
158
  }
@@ -1,21 +1,15 @@
1
- import { BaseRetriever, BaseRetrieverInput } from "../schema/retriever.js";
2
1
  import { Document } from "../document.js";
3
2
  import { VectorStore } from "../vectorstores/base.js";
4
- import { Docstore } from "../schema/index.js";
5
3
  import { TextSplitter } from "../text_splitter.js";
4
+ import { MultiVectorRetriever, type MultiVectorRetrieverInput } from "./multi_vector.js";
6
5
  /**
7
6
  * Interface for the fields required to initialize a
8
7
  * ParentDocumentRetriever instance.
9
8
  */
10
- export interface ParentDocumentRetrieverFields extends BaseRetrieverInput {
11
- vectorstore: VectorStore;
12
- docstore: Docstore;
9
+ export type ParentDocumentRetrieverFields = MultiVectorRetrieverInput & {
13
10
  childSplitter: TextSplitter;
14
11
  parentSplitter?: TextSplitter;
15
- idKey?: string;
16
- childK?: number;
17
- parentK?: number;
18
- }
12
+ };
19
13
  /**
20
14
  * A type of document retriever that splits input documents into smaller chunks
21
15
  * while separately storing and preserving the original documents.
@@ -25,11 +19,10 @@ export interface ParentDocumentRetrieverFields extends BaseRetrieverInput {
25
19
  * This strikes a balance between better targeted retrieval with small documents
26
20
  * and the more context-rich larger documents.
27
21
  */
28
- export declare class ParentDocumentRetriever extends BaseRetriever {
22
+ export declare class ParentDocumentRetriever extends MultiVectorRetriever {
29
23
  static lc_name(): string;
30
24
  lc_namespace: string[];
31
- protected vectorstore: VectorStore;
32
- protected docstore: Docstore;
25
+ vectorstore: VectorStore;
33
26
  protected childSplitter: TextSplitter;
34
27
  protected parentSplitter?: TextSplitter;
35
28
  protected idKey: string;
@@ -1,7 +1,6 @@
1
1
  import * as uuid from "uuid";
2
- import { BaseRetriever } from "../schema/retriever.js";
3
2
  import { Document } from "../document.js";
4
- // TODO: Change this to subclass MultiVectorRetriever
3
+ import { MultiVectorRetriever, } from "./multi_vector.js";
5
4
  /**
6
5
  * A type of document retriever that splits input documents into smaller chunks
7
6
  * while separately storing and preserving the original documents.
@@ -11,7 +10,7 @@ import { Document } from "../document.js";
11
10
  * This strikes a balance between better targeted retrieval with small documents
12
11
  * and the more context-rich larger documents.
13
12
  */
14
- export class ParentDocumentRetriever extends BaseRetriever {
13
+ export class ParentDocumentRetriever extends MultiVectorRetriever {
15
14
  static lc_name() {
16
15
  return "ParentDocumentRetriever";
17
16
  }
@@ -29,12 +28,6 @@ export class ParentDocumentRetriever extends BaseRetriever {
29
28
  writable: true,
30
29
  value: void 0
31
30
  });
32
- Object.defineProperty(this, "docstore", {
33
- enumerable: true,
34
- configurable: true,
35
- writable: true,
36
- value: void 0
37
- });
38
31
  Object.defineProperty(this, "childSplitter", {
39
32
  enumerable: true,
40
33
  configurable: true,
@@ -83,12 +76,9 @@ export class ParentDocumentRetriever extends BaseRetriever {
83
76
  }
84
77
  }
85
78
  const parentDocs = [];
86
- for (const parentDocId of parentDocIds) {
87
- const parentDoc = await this.docstore.search(parentDocId);
88
- if (parentDoc !== undefined) {
89
- parentDocs.push(parentDoc);
90
- }
91
- }
79
+ const storedParentDocs = await this.docstore.mget(parentDocIds);
80
+ const retrievedDocs = storedParentDocs.filter((doc) => doc !== undefined);
81
+ parentDocs.push(...retrievedDocs);
92
82
  return parentDocs.slice(0, this.parentK);
93
83
  }
94
84
  /**
@@ -136,7 +126,7 @@ export class ParentDocumentRetriever extends BaseRetriever {
136
126
  }
137
127
  await this.vectorstore.addDocuments(embeddedDocs);
138
128
  if (addToDocstore) {
139
- await this.docstore.add(fullDocs);
129
+ await this.docstore.mset(Object.entries(fullDocs));
140
130
  }
141
131
  }
142
132
  }
@@ -102,7 +102,7 @@ class BasicTranslator extends BaseTranslator {
102
102
  }
103
103
  return nextArg;
104
104
  }
105
- mergeFilters(defaultFilter, generatedFilter, mergeType = "and") {
105
+ mergeFilters(defaultFilter, generatedFilter, mergeType = "and", forceDefaultFilter = false) {
106
106
  if ((0, utils_js_1.isFilterEmpty)(defaultFilter) && (0, utils_js_1.isFilterEmpty)(generatedFilter)) {
107
107
  return undefined;
108
108
  }
@@ -113,6 +113,9 @@ class BasicTranslator extends BaseTranslator {
113
113
  return generatedFilter;
114
114
  }
115
115
  if ((0, utils_js_1.isFilterEmpty)(generatedFilter)) {
116
+ if (forceDefaultFilter) {
117
+ return defaultFilter;
118
+ }
116
119
  if (mergeType === "and") {
117
120
  return undefined;
118
121
  }