langchain 0.0.151 → 0.0.153

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 (96) hide show
  1. package/cache/cloudflare_kv.cjs +1 -0
  2. package/cache/cloudflare_kv.d.ts +1 -0
  3. package/cache/cloudflare_kv.js +1 -0
  4. package/chat_models/fireworks.cjs +1 -0
  5. package/chat_models/fireworks.d.ts +1 -0
  6. package/chat_models/fireworks.js +1 -0
  7. package/dist/agents/chat/index.cjs +1 -1
  8. package/dist/agents/chat/index.js +1 -1
  9. package/dist/agents/chat_convo/index.cjs +1 -1
  10. package/dist/agents/chat_convo/index.js +1 -1
  11. package/dist/agents/executor.cjs +9 -2
  12. package/dist/agents/executor.js +9 -2
  13. package/dist/agents/openai/index.cjs +1 -1
  14. package/dist/agents/openai/index.js +1 -1
  15. package/dist/agents/structured_chat/index.cjs +1 -1
  16. package/dist/agents/structured_chat/index.js +1 -1
  17. package/dist/agents/xml/index.cjs +1 -1
  18. package/dist/agents/xml/index.js +1 -1
  19. package/dist/base_language/count_tokens.cjs +2 -1
  20. package/dist/base_language/count_tokens.js +2 -1
  21. package/dist/base_language/index.cjs +5 -3
  22. package/dist/base_language/index.d.ts +1 -1
  23. package/dist/base_language/index.js +4 -3
  24. package/dist/cache/cloudflare_kv.cjs +61 -0
  25. package/dist/cache/cloudflare_kv.d.ts +29 -0
  26. package/dist/cache/cloudflare_kv.js +57 -0
  27. package/dist/chains/openai_functions/openapi.cjs +1 -1
  28. package/dist/chains/openai_functions/openapi.js +1 -1
  29. package/dist/chains/openai_functions/structured_output.d.ts +2 -2
  30. package/dist/chains/question_answering/map_reduce_prompts.cjs +2 -3
  31. package/dist/chains/question_answering/map_reduce_prompts.js +2 -3
  32. package/dist/chains/question_answering/refine_prompts.cjs +2 -2
  33. package/dist/chains/question_answering/refine_prompts.js +2 -2
  34. package/dist/chains/question_answering/stuff_prompts.cjs +1 -2
  35. package/dist/chains/question_answering/stuff_prompts.js +1 -2
  36. package/dist/chat_models/base.d.ts +1 -1
  37. package/dist/chat_models/fireworks.cjs +81 -0
  38. package/dist/chat_models/fireworks.d.ts +33 -0
  39. package/dist/chat_models/fireworks.js +77 -0
  40. package/dist/chat_models/ollama.cjs +25 -12
  41. package/dist/chat_models/ollama.d.ts +2 -3
  42. package/dist/chat_models/ollama.js +25 -12
  43. package/dist/chat_models/openai.d.ts +2 -2
  44. package/dist/document_loaders/web/pdf.cjs +87 -0
  45. package/dist/document_loaders/web/pdf.d.ts +17 -0
  46. package/dist/document_loaders/web/pdf.js +83 -0
  47. package/dist/evaluation/agents/prompt.cjs +2 -3
  48. package/dist/evaluation/agents/prompt.js +2 -3
  49. package/dist/experimental/plan_and_execute/prompt.cjs +1 -1
  50. package/dist/experimental/plan_and_execute/prompt.js +1 -1
  51. package/dist/llms/fireworks.cjs +92 -0
  52. package/dist/llms/fireworks.d.ts +33 -0
  53. package/dist/llms/fireworks.js +88 -0
  54. package/dist/llms/llama_cpp.cjs +10 -4
  55. package/dist/llms/llama_cpp.d.ts +2 -1
  56. package/dist/llms/llama_cpp.js +10 -4
  57. package/dist/llms/ollama.cjs +29 -14
  58. package/dist/llms/ollama.d.ts +3 -4
  59. package/dist/llms/ollama.js +29 -14
  60. package/dist/llms/openai-chat.cjs +1 -5
  61. package/dist/llms/openai-chat.d.ts +1 -1
  62. package/dist/llms/openai-chat.js +1 -5
  63. package/dist/llms/openai.cjs +3 -4
  64. package/dist/llms/openai.d.ts +2 -2
  65. package/dist/llms/openai.js +3 -4
  66. package/dist/load/import_constants.cjs +3 -0
  67. package/dist/load/import_constants.js +3 -0
  68. package/dist/load/import_map.cjs +4 -2
  69. package/dist/load/import_map.d.ts +2 -0
  70. package/dist/load/import_map.js +2 -0
  71. package/dist/prompts/chat.cjs +12 -1
  72. package/dist/prompts/chat.d.ts +8 -0
  73. package/dist/prompts/chat.js +12 -1
  74. package/dist/schema/output_parser.cjs +38 -6
  75. package/dist/schema/output_parser.d.ts +20 -5
  76. package/dist/schema/output_parser.js +38 -6
  77. package/dist/schema/runnable/base.cjs +65 -10
  78. package/dist/schema/runnable/base.d.ts +17 -3
  79. package/dist/schema/runnable/base.js +65 -10
  80. package/dist/stores/message/cloudflare_d1.cjs +134 -0
  81. package/dist/stores/message/cloudflare_d1.d.ts +49 -0
  82. package/dist/stores/message/cloudflare_d1.js +130 -0
  83. package/dist/types/openai-types.d.ts +2 -0
  84. package/dist/util/ollama.cjs +2 -2
  85. package/dist/util/ollama.d.ts +6 -0
  86. package/dist/util/ollama.js +2 -2
  87. package/document_loaders/web/pdf.cjs +1 -0
  88. package/document_loaders/web/pdf.d.ts +1 -0
  89. package/document_loaders/web/pdf.js +1 -0
  90. package/llms/fireworks.cjs +1 -0
  91. package/llms/fireworks.d.ts +1 -0
  92. package/llms/fireworks.js +1 -0
  93. package/package.json +46 -1
  94. package/stores/message/cloudflare_d1.cjs +1 -0
  95. package/stores/message/cloudflare_d1.d.ts +1 -0
  96. package/stores/message/cloudflare_d1.js +1 -0
@@ -0,0 +1,130 @@
1
+ import { v4 } from "uuid";
2
+ import { BaseListChatMessageHistory, } from "../../schema/index.js";
3
+ import { mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, } from "./utils.js";
4
+ /**
5
+ * Class for storing and retrieving chat message history from a
6
+ * Cloudflare D1 database. Extends the BaseListChatMessageHistory class.
7
+ */
8
+ export class CloudflareD1MessageHistory extends BaseListChatMessageHistory {
9
+ constructor(fields) {
10
+ super(fields);
11
+ Object.defineProperty(this, "lc_namespace", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: ["langchain", "stores", "message", "cloudflare_d1"]
16
+ });
17
+ Object.defineProperty(this, "database", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "tableName", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "sessionId", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "tableInitialized", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ const { sessionId, database, tableName } = fields;
42
+ if (database) {
43
+ this.database = database;
44
+ }
45
+ else {
46
+ throw new Error("Either a client or config must be provided to CloudflareD1MessageHistory");
47
+ }
48
+ this.tableName = tableName || "langchain_chat_histories";
49
+ this.tableInitialized = false;
50
+ this.sessionId = sessionId;
51
+ }
52
+ /**
53
+ * Private method to ensure that the necessary table exists in the
54
+ * Cloudflare D1 database before performing any operations. If the table
55
+ * does not exist, it is created.
56
+ * @returns Promise that resolves to void.
57
+ */
58
+ async ensureTable() {
59
+ if (this.tableInitialized) {
60
+ return;
61
+ }
62
+ const query = `CREATE TABLE IF NOT EXISTS ${this.tableName} (id TEXT PRIMARY KEY, session_id TEXT, type TEXT, content TEXT, role TEXT, name TEXT, additional_kwargs TEXT);`;
63
+ await this.database.prepare(query).bind().all();
64
+ const idIndexQuery = `CREATE INDEX IF NOT EXISTS id_index ON ${this.tableName} (id);`;
65
+ await this.database.prepare(idIndexQuery).bind().all();
66
+ const sessionIdIndexQuery = `CREATE INDEX IF NOT EXISTS session_id_index ON ${this.tableName} (session_id);`;
67
+ await this.database.prepare(sessionIdIndexQuery).bind().all();
68
+ this.tableInitialized = true;
69
+ }
70
+ /**
71
+ * Method to retrieve all messages from the Cloudflare D1 database for the
72
+ * current session.
73
+ * @returns Promise that resolves to an array of BaseMessage objects.
74
+ */
75
+ async getMessages() {
76
+ await this.ensureTable();
77
+ const query = `SELECT * FROM ${this.tableName} WHERE session_id = ?`;
78
+ const rawStoredMessages = await this.database
79
+ .prepare(query)
80
+ .bind(this.sessionId)
81
+ .all();
82
+ const storedMessagesObject = rawStoredMessages.results;
83
+ const orderedMessages = storedMessagesObject.map((message) => {
84
+ const data = {
85
+ content: message.content,
86
+ additional_kwargs: JSON.parse(message.additional_kwargs),
87
+ };
88
+ if (message.role) {
89
+ data.role = message.role;
90
+ }
91
+ if (message.name) {
92
+ data.name = message.name;
93
+ }
94
+ return {
95
+ type: message.type,
96
+ data,
97
+ };
98
+ });
99
+ return mapStoredMessagesToChatMessages(orderedMessages);
100
+ }
101
+ /**
102
+ * Method to add a new message to the Cloudflare D1 database for the current
103
+ * session.
104
+ * @param message The BaseMessage object to be added to the database.
105
+ * @returns Promise that resolves to void.
106
+ */
107
+ async addMessage(message) {
108
+ await this.ensureTable();
109
+ const messageToAdd = mapChatMessagesToStoredMessages([message]);
110
+ const query = `INSERT INTO ${this.tableName} (id, session_id, type, content, role, name, additional_kwargs) VALUES(?, ?, ?, ?, ?, ?, ?)`;
111
+ const id = v4();
112
+ await this.database
113
+ .prepare(query)
114
+ .bind(id, this.sessionId, messageToAdd[0].type || null, messageToAdd[0].data.content || null, messageToAdd[0].data.role || null, messageToAdd[0].data.name || null, JSON.stringify(messageToAdd[0].data.additional_kwargs))
115
+ .all();
116
+ }
117
+ /**
118
+ * Method to delete all messages from the Cloudflare D1 database for the
119
+ * current session.
120
+ * @returns Promise that resolves to void.
121
+ */
122
+ async clear() {
123
+ await this.ensureTable();
124
+ const query = `DELETE FROM ? WHERE session_id = ? `;
125
+ await this.database
126
+ .prepare(query)
127
+ .bind(this.tableName, this.sessionId)
128
+ .all();
129
+ }
130
+ }
@@ -1,5 +1,7 @@
1
1
  import type { OpenAI as OpenAIClient } from "openai";
2
+ import { TiktokenModel } from "js-tiktoken/lite";
2
3
  import { BaseLanguageModelCallOptions } from "../base_language/index.js";
4
+ export type { TiktokenModel };
3
5
  export declare interface OpenAIBaseInput {
4
6
  /** Sampling temperature to use */
5
7
  temperature: number;
@@ -18,10 +18,10 @@ async function* createOllamaStream(baseUrl, params, options) {
18
18
  signal: options.signal,
19
19
  });
20
20
  if (!response.ok) {
21
- const error = new Error(`Ollama call failed with status code ${response.status}`);
21
+ const json = await response.json();
22
+ const error = new Error(`Ollama call failed with status code ${response.status}: ${json.error}`);
22
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
24
  error.response = response;
24
- console.log(await response.json());
25
25
  throw error;
26
26
  }
27
27
  if (!response.body) {
@@ -76,5 +76,11 @@ export type OllamaGenerationChunk = {
76
76
  model: string;
77
77
  created_at: string;
78
78
  done: boolean;
79
+ total_duration?: number;
80
+ load_duration?: number;
81
+ prompt_eval_count?: number;
82
+ prompt_eval_duration?: number;
83
+ eval_count?: number;
84
+ eval_duration?: number;
79
85
  };
80
86
  export declare function createOllamaStream(baseUrl: string, params: OllamaRequestParams, options: OllamaCallOptions): AsyncGenerator<OllamaGenerationChunk>;
@@ -15,10 +15,10 @@ export async function* createOllamaStream(baseUrl, params, options) {
15
15
  signal: options.signal,
16
16
  });
17
17
  if (!response.ok) {
18
- const error = new Error(`Ollama call failed with status code ${response.status}`);
18
+ const json = await response.json();
19
+ const error = new Error(`Ollama call failed with status code ${response.status}: ${json.error}`);
19
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
21
  error.response = response;
21
- console.log(await response.json());
22
22
  throw error;
23
23
  }
24
24
  if (!response.body) {
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/document_loaders/web/pdf.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/document_loaders/web/pdf.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/document_loaders/web/pdf.js'
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/llms/fireworks.cjs');
@@ -0,0 +1 @@
1
+ export * from '../dist/llms/fireworks.js'
@@ -0,0 +1 @@
1
+ export * from '../dist/llms/fireworks.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.0.151",
3
+ "version": "0.0.153",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {
@@ -145,6 +145,9 @@
145
145
  "llms/googlepalm.cjs",
146
146
  "llms/googlepalm.js",
147
147
  "llms/googlepalm.d.ts",
148
+ "llms/fireworks.cjs",
149
+ "llms/fireworks.js",
150
+ "llms/fireworks.d.ts",
148
151
  "llms/sagemaker_endpoint.cjs",
149
152
  "llms/sagemaker_endpoint.js",
150
153
  "llms/sagemaker_endpoint.d.ts",
@@ -313,6 +316,9 @@
313
316
  "document_loaders/web/notionapi.cjs",
314
317
  "document_loaders/web/notionapi.js",
315
318
  "document_loaders/web/notionapi.d.ts",
319
+ "document_loaders/web/pdf.cjs",
320
+ "document_loaders/web/pdf.js",
321
+ "document_loaders/web/pdf.d.ts",
316
322
  "document_loaders/web/recursive_url.cjs",
317
323
  "document_loaders/web/recursive_url.js",
318
324
  "document_loaders/web/recursive_url.d.ts",
@@ -397,6 +403,9 @@
397
403
  "chat_models/googlepalm.cjs",
398
404
  "chat_models/googlepalm.js",
399
405
  "chat_models/googlepalm.d.ts",
406
+ "chat_models/fireworks.cjs",
407
+ "chat_models/fireworks.js",
408
+ "chat_models/fireworks.d.ts",
400
409
  "chat_models/baiduwenxin.cjs",
401
410
  "chat_models/baiduwenxin.js",
402
411
  "chat_models/baiduwenxin.d.ts",
@@ -511,6 +520,9 @@
511
520
  "cache.cjs",
512
521
  "cache.js",
513
522
  "cache.d.ts",
523
+ "cache/cloudflare_kv.cjs",
524
+ "cache/cloudflare_kv.js",
525
+ "cache/cloudflare_kv.d.ts",
514
526
  "cache/momento.cjs",
515
527
  "cache/momento.js",
516
528
  "cache/momento.d.ts",
@@ -535,6 +547,9 @@
535
547
  "stores/file/node.cjs",
536
548
  "stores/file/node.js",
537
549
  "stores/file/node.d.ts",
550
+ "stores/message/cloudflare_d1.cjs",
551
+ "stores/message/cloudflare_d1.js",
552
+ "stores/message/cloudflare_d1.d.ts",
538
553
  "stores/message/in_memory.cjs",
539
554
  "stores/message/in_memory.js",
540
555
  "stores/message/in_memory.d.ts",
@@ -646,6 +661,7 @@
646
661
  "@aws-sdk/types": "^3.357.0",
647
662
  "@azure/storage-blob": "^12.15.0",
648
663
  "@clickhouse/client": "^0.0.14",
664
+ "@cloudflare/workers-types": "^4.20230904.0",
649
665
  "@elastic/elasticsearch": "^8.4.0",
650
666
  "@faker-js/faker": "^7.6.0",
651
667
  "@getmetal/metal-sdk": "^4.0.0",
@@ -765,6 +781,7 @@
765
781
  "@aws-sdk/signature-v4": "^3.374.0",
766
782
  "@azure/storage-blob": "^12.15.0",
767
783
  "@clickhouse/client": "^0.0.14",
784
+ "@cloudflare/workers-types": "^4.20230904.0",
768
785
  "@elastic/elasticsearch": "^8.4.0",
769
786
  "@getmetal/metal-sdk": "*",
770
787
  "@getzep/zep-js": "^0.7.0",
@@ -871,6 +888,9 @@
871
888
  "@clickhouse/client": {
872
889
  "optional": true
873
890
  },
891
+ "@cloudflare/workers-types": {
892
+ "optional": true
893
+ },
874
894
  "@elastic/elasticsearch": {
875
895
  "optional": true
876
896
  },
@@ -1343,6 +1363,11 @@
1343
1363
  "import": "./llms/googlepalm.js",
1344
1364
  "require": "./llms/googlepalm.cjs"
1345
1365
  },
1366
+ "./llms/fireworks": {
1367
+ "types": "./llms/fireworks.d.ts",
1368
+ "import": "./llms/fireworks.js",
1369
+ "require": "./llms/fireworks.cjs"
1370
+ },
1346
1371
  "./llms/sagemaker_endpoint": {
1347
1372
  "types": "./llms/sagemaker_endpoint.d.ts",
1348
1373
  "import": "./llms/sagemaker_endpoint.js",
@@ -1623,6 +1648,11 @@
1623
1648
  "import": "./document_loaders/web/notionapi.js",
1624
1649
  "require": "./document_loaders/web/notionapi.cjs"
1625
1650
  },
1651
+ "./document_loaders/web/pdf": {
1652
+ "types": "./document_loaders/web/pdf.d.ts",
1653
+ "import": "./document_loaders/web/pdf.js",
1654
+ "require": "./document_loaders/web/pdf.cjs"
1655
+ },
1626
1656
  "./document_loaders/web/recursive_url": {
1627
1657
  "types": "./document_loaders/web/recursive_url.d.ts",
1628
1658
  "import": "./document_loaders/web/recursive_url.js",
@@ -1763,6 +1793,11 @@
1763
1793
  "import": "./chat_models/googlepalm.js",
1764
1794
  "require": "./chat_models/googlepalm.cjs"
1765
1795
  },
1796
+ "./chat_models/fireworks": {
1797
+ "types": "./chat_models/fireworks.d.ts",
1798
+ "import": "./chat_models/fireworks.js",
1799
+ "require": "./chat_models/fireworks.cjs"
1800
+ },
1766
1801
  "./chat_models/baiduwenxin": {
1767
1802
  "types": "./chat_models/baiduwenxin.d.ts",
1768
1803
  "import": "./chat_models/baiduwenxin.js",
@@ -1953,6 +1988,11 @@
1953
1988
  "import": "./cache.js",
1954
1989
  "require": "./cache.cjs"
1955
1990
  },
1991
+ "./cache/cloudflare_kv": {
1992
+ "types": "./cache/cloudflare_kv.d.ts",
1993
+ "import": "./cache/cloudflare_kv.js",
1994
+ "require": "./cache/cloudflare_kv.cjs"
1995
+ },
1956
1996
  "./cache/momento": {
1957
1997
  "types": "./cache/momento.d.ts",
1958
1998
  "import": "./cache/momento.js",
@@ -1993,6 +2033,11 @@
1993
2033
  "import": "./stores/file/node.js",
1994
2034
  "require": "./stores/file/node.cjs"
1995
2035
  },
2036
+ "./stores/message/cloudflare_d1": {
2037
+ "types": "./stores/message/cloudflare_d1.d.ts",
2038
+ "import": "./stores/message/cloudflare_d1.js",
2039
+ "require": "./stores/message/cloudflare_d1.cjs"
2040
+ },
1996
2041
  "./stores/message/in_memory": {
1997
2042
  "types": "./stores/message/in_memory.d.ts",
1998
2043
  "import": "./stores/message/in_memory.js",
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/stores/message/cloudflare_d1.cjs');
@@ -0,0 +1 @@
1
+ export * from '../../dist/stores/message/cloudflare_d1.js'
@@ -0,0 +1 @@
1
+ export * from '../../dist/stores/message/cloudflare_d1.js'