langchain 0.0.19 → 0.0.20

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 (50) hide show
  1. package/dist/document_loaders/csv.d.ts +6 -0
  2. package/dist/document_loaders/csv.js +23 -0
  3. package/dist/document_loaders/csv.js.map +1 -0
  4. package/dist/document_loaders/directory.d.ts +28 -0
  5. package/dist/document_loaders/directory.js +96 -0
  6. package/dist/document_loaders/directory.js.map +1 -0
  7. package/dist/document_loaders/index.d.ts +5 -0
  8. package/dist/document_loaders/index.js +5 -0
  9. package/dist/document_loaders/index.js.map +1 -1
  10. package/dist/document_loaders/json.d.ts +6 -0
  11. package/dist/document_loaders/json.js +20 -0
  12. package/dist/document_loaders/json.js.map +1 -0
  13. package/dist/document_loaders/jsonl.d.ts +6 -0
  14. package/dist/document_loaders/jsonl.js +23 -0
  15. package/dist/document_loaders/jsonl.js.map +1 -0
  16. package/dist/document_loaders/pdf.d.ts +12 -0
  17. package/dist/document_loaders/pdf.js +34 -0
  18. package/dist/document_loaders/pdf.js.map +1 -0
  19. package/dist/document_loaders/srt.js +3 -23
  20. package/dist/document_loaders/srt.js.map +1 -1
  21. package/dist/document_loaders/tests/csv.test.js +16 -0
  22. package/dist/document_loaders/tests/csv.test.js.map +1 -0
  23. package/dist/document_loaders/tests/directory.test.d.ts +1 -0
  24. package/dist/document_loaders/tests/directory.test.js +30 -0
  25. package/dist/document_loaders/tests/directory.test.js.map +1 -0
  26. package/dist/document_loaders/tests/json.test.d.ts +1 -0
  27. package/dist/document_loaders/tests/json.test.js +16 -0
  28. package/dist/document_loaders/tests/json.test.js.map +1 -0
  29. package/dist/document_loaders/tests/jsonl.test.d.ts +1 -0
  30. package/dist/document_loaders/tests/jsonl.test.js +16 -0
  31. package/dist/document_loaders/tests/jsonl.test.js.map +1 -0
  32. package/dist/document_loaders/tests/pdf.test.d.ts +1 -0
  33. package/dist/document_loaders/tests/pdf.test.js +12 -0
  34. package/dist/document_loaders/tests/pdf.test.js.map +1 -0
  35. package/dist/document_loaders/text.d.ts +1 -0
  36. package/dist/document_loaders/text.js +12 -24
  37. package/dist/document_loaders/text.js.map +1 -1
  38. package/dist/llms/openai-chat.d.ts +6 -6
  39. package/dist/llms/openai.d.ts +1 -1
  40. package/dist/llms/openai.js +5 -0
  41. package/dist/llms/openai.js.map +1 -1
  42. package/dist/llms/tests/openai.int.test.js +8 -0
  43. package/dist/llms/tests/openai.int.test.js.map +1 -1
  44. package/dist/util/env.d.ts +1 -0
  45. package/dist/util/env.js +24 -0
  46. package/dist/util/env.js.map +1 -0
  47. package/package.json +5 -1
  48. package/dist/embeddings/cohere.js +0 -2
  49. package/dist/embeddings/cohere.js.map +0 -1
  50. /package/dist/{embeddings/cohere.d.ts → document_loaders/tests/csv.test.d.ts} +0 -0
@@ -0,0 +1,6 @@
1
+ import { TextLoader } from "./text.js";
2
+ export declare class CSVLoader extends TextLoader {
3
+ column: string;
4
+ constructor(filePath: string, column: string);
5
+ protected parse(raw: string): Promise<string[]>;
6
+ }
@@ -0,0 +1,23 @@
1
+ import { csvParse } from "d3-dsv";
2
+ import { TextLoader } from "./text.js";
3
+ export class CSVLoader extends TextLoader {
4
+ constructor(filePath, column) {
5
+ super(filePath);
6
+ Object.defineProperty(this, "column", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: column
11
+ });
12
+ }
13
+ async parse(raw) {
14
+ const parsed = csvParse(raw.trim());
15
+ if (!parsed.columns.includes(this.column)) {
16
+ throw new Error(`Column ${this.column} not found in CSV file.`);
17
+ }
18
+ // Note TextLoader will raise an exception if the value is null.
19
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20
+ return parsed.map((row) => row[this.column]);
21
+ }
22
+ }
23
+ //# sourceMappingURL=csv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/document_loaders/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,YAAY,QAAgB,EAAS,MAAc;QACjD,KAAK,CAAC,QAAQ,CAAC,CAAC;;;;;mBADmB;;IAErC,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,GAAW;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,yBAAyB,CAAC,CAAC;SACjE;QACD,gEAAgE;QAChE,oEAAoE;QACpE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import type { extname as ExtnameT, resolve as ResolveT } from "path";
4
+ import type { readdir as ReaddirT } from "fs/promises";
5
+ import { Document } from "../document.js";
6
+ import { BaseDocumentLoader } from "./base.js";
7
+ export declare enum UnknownHandling {
8
+ Ignore = "ignore",
9
+ Warn = "warn",
10
+ Error = "error"
11
+ }
12
+ export declare class DirectoryLoader extends BaseDocumentLoader {
13
+ directoryPath: string;
14
+ loaders: {
15
+ [extension: string]: (filePath: string) => BaseDocumentLoader;
16
+ };
17
+ recursive: boolean;
18
+ unknown: UnknownHandling;
19
+ constructor(directoryPath: string, loaders: {
20
+ [extension: string]: (filePath: string) => BaseDocumentLoader;
21
+ }, recursive?: boolean, unknown?: UnknownHandling);
22
+ load(): Promise<Document[]>;
23
+ static imports(): Promise<{
24
+ readdir: typeof ReaddirT;
25
+ extname: typeof ExtnameT;
26
+ resolve: typeof ResolveT;
27
+ }>;
28
+ }
@@ -0,0 +1,96 @@
1
+ import { getEnv } from "../util/env.js";
2
+ import { BaseDocumentLoader } from "./base.js";
3
+ export var UnknownHandling;
4
+ (function (UnknownHandling) {
5
+ UnknownHandling["Ignore"] = "ignore";
6
+ UnknownHandling["Warn"] = "warn";
7
+ UnknownHandling["Error"] = "error";
8
+ })(UnknownHandling || (UnknownHandling = {}));
9
+ export class DirectoryLoader extends BaseDocumentLoader {
10
+ constructor(directoryPath, loaders, recursive = true, unknown = UnknownHandling.Warn) {
11
+ super();
12
+ Object.defineProperty(this, "directoryPath", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: directoryPath
17
+ });
18
+ Object.defineProperty(this, "loaders", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: loaders
23
+ });
24
+ Object.defineProperty(this, "recursive", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: recursive
29
+ });
30
+ Object.defineProperty(this, "unknown", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: unknown
35
+ });
36
+ if (Object.keys(loaders).length === 0) {
37
+ throw new Error("Must provide at least one loader");
38
+ }
39
+ for (const extension in loaders) {
40
+ if (Object.hasOwn(loaders, extension)) {
41
+ if (extension[0] !== ".") {
42
+ throw new Error(`Extension must start with a dot: ${extension}`);
43
+ }
44
+ }
45
+ }
46
+ }
47
+ async load() {
48
+ const { readdir, extname, resolve } = await DirectoryLoader.imports();
49
+ const files = await readdir(this.directoryPath, { withFileTypes: true });
50
+ const documents = [];
51
+ for (const file of files) {
52
+ const fullPath = resolve(this.directoryPath, file.name);
53
+ if (file.isDirectory()) {
54
+ if (this.recursive) {
55
+ const loader = new DirectoryLoader(fullPath, this.loaders, this.recursive, this.unknown);
56
+ documents.push(...(await loader.load()));
57
+ }
58
+ }
59
+ else {
60
+ // I'm aware some things won't be files,
61
+ // but they will be caught by the "unknown" handling below.
62
+ const loaderFactory = this.loaders[extname(file.name)];
63
+ if (loaderFactory) {
64
+ const loader = loaderFactory(fullPath);
65
+ documents.push(...(await loader.load()));
66
+ }
67
+ else {
68
+ switch (this.unknown) {
69
+ case UnknownHandling.Ignore:
70
+ break;
71
+ case UnknownHandling.Warn:
72
+ console.warn(`Unknown file type: ${file.name}`);
73
+ break;
74
+ case UnknownHandling.Error:
75
+ throw new Error(`Unknown file type: ${file.name}`);
76
+ default:
77
+ throw new Error(`Unknown unknown handling: ${this.unknown}`);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ return documents;
83
+ }
84
+ static async imports() {
85
+ try {
86
+ const { extname, resolve } = await import("path");
87
+ const { readdir } = await import("fs/promises");
88
+ return { readdir, extname, resolve };
89
+ }
90
+ catch (e) {
91
+ console.error(e);
92
+ throw new Error(`Failed to load fs/promises. DirectoryLoader available only on environment 'node'. It appears you are running environment '${getEnv()}'. See https://<link to docs> for alternatives.`);
93
+ }
94
+ }
95
+ }
96
+ //# sourceMappingURL=directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/document_loaders/directory.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,10 @@ export { CollegeConfidentialLoader } from "./college_confidential.js";
5
5
  export { GitbookLoader } from "./gitbook.js";
6
6
  export { HNLoader } from "./hn.js";
7
7
  export { IMSDBLoader } from "./imsdb.js";
8
+ export { DirectoryLoader, UnknownHandling } from "./directory.js";
8
9
  export { SRTLoader } from "./srt.js";
10
+ export { PDFLoader } from "./pdf.js";
9
11
  export { TextLoader } from "./text.js";
12
+ export { JSONLoader } from "./json.js";
13
+ export { JSONLinesLoader } from "./jsonl.js";
14
+ export { CSVLoader } from "./csv.js";
@@ -4,6 +4,11 @@ export { CollegeConfidentialLoader } from "./college_confidential.js";
4
4
  export { GitbookLoader } from "./gitbook.js";
5
5
  export { HNLoader } from "./hn.js";
6
6
  export { IMSDBLoader } from "./imsdb.js";
7
+ export { DirectoryLoader, UnknownHandling } from "./directory.js";
7
8
  export { SRTLoader } from "./srt.js";
9
+ export { PDFLoader } from "./pdf.js";
8
10
  export { TextLoader } from "./text.js";
11
+ export { JSONLoader } from "./json.js";
12
+ export { JSONLinesLoader } from "./jsonl.js";
13
+ export { CSVLoader } from "./csv.js";
9
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document_loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document_loaders/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { TextLoader } from "./text.js";
2
+ export declare class JSONLoader extends TextLoader {
3
+ pointer: string;
4
+ constructor(filePath: string, pointer?: string);
5
+ protected parse(raw: string): Promise<string[]>;
6
+ }
@@ -0,0 +1,20 @@
1
+ import jsonpointer from "jsonpointer";
2
+ import { TextLoader } from "./text.js";
3
+ export class JSONLoader extends TextLoader {
4
+ constructor(filePath, pointer = "") {
5
+ super(filePath);
6
+ Object.defineProperty(this, "pointer", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: pointer
11
+ });
12
+ }
13
+ async parse(raw) {
14
+ const json = JSON.parse(raw.trim());
15
+ const pointer = jsonpointer.compile(this.pointer);
16
+ const value = pointer.get(json);
17
+ return Array.isArray(value) ? value : [value];
18
+ }
19
+ }
20
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/document_loaders/json.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,YAAY,QAAgB,EAAS,UAAkB,EAAE;QACvD,KAAK,CAAC,QAAQ,CAAC,CAAC;;;;;mBADmB;;IAErC,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,GAAW;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { TextLoader } from "./text.js";
2
+ export declare class JSONLinesLoader extends TextLoader {
3
+ pointer: string;
4
+ constructor(filePath: string, pointer: string);
5
+ protected parse(raw: string): Promise<string[]>;
6
+ }
@@ -0,0 +1,23 @@
1
+ import jsonpointer from "jsonpointer";
2
+ import { TextLoader } from "./text.js";
3
+ export class JSONLinesLoader extends TextLoader {
4
+ constructor(filePath, pointer) {
5
+ super(filePath);
6
+ Object.defineProperty(this, "pointer", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: pointer
11
+ });
12
+ }
13
+ async parse(raw) {
14
+ const lines = raw.split("\n");
15
+ const jsons = lines
16
+ .map((line) => line.trim())
17
+ .filter(Boolean)
18
+ .map((line) => JSON.parse(line));
19
+ const pointer = jsonpointer.compile(this.pointer);
20
+ return jsons.map((json) => pointer.get(json));
21
+ }
22
+ }
23
+ //# sourceMappingURL=jsonl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../src/document_loaders/jsonl.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,QAAgB,EAAS,OAAe;QAClD,KAAK,CAAC,QAAQ,CAAC,CAAC;;;;;mBADmB;;IAErC,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,GAAW;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK;aAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type { readFile as ReadFileT } from "fs/promises";
3
+ import { Document } from "../document.js";
4
+ import { BaseDocumentLoader } from "./base.js";
5
+ export declare class PDFLoader extends BaseDocumentLoader {
6
+ filePath: string;
7
+ constructor(filePath: string);
8
+ load(): Promise<Document[]>;
9
+ static imports(): Promise<{
10
+ readFile: typeof ReadFileT;
11
+ }>;
12
+ }
@@ -0,0 +1,34 @@
1
+ // the main entrypoint has some debug code that we don't want to import
2
+ import pdf from "pdf-parse/lib/pdf-parse.js";
3
+ import { Document } from "../document.js";
4
+ import { getEnv } from "../util/env.js";
5
+ import { BaseDocumentLoader } from "./base.js";
6
+ export class PDFLoader extends BaseDocumentLoader {
7
+ constructor(filePath) {
8
+ super();
9
+ Object.defineProperty(this, "filePath", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: filePath
14
+ });
15
+ }
16
+ async load() {
17
+ const { readFile } = await PDFLoader.imports();
18
+ const buffer = await readFile(this.filePath);
19
+ const parsed = await pdf(buffer);
20
+ const metadata = { source: this.filePath };
21
+ return [new Document({ pageContent: parsed.text, metadata })];
22
+ }
23
+ static async imports() {
24
+ try {
25
+ const { readFile } = await import("fs/promises");
26
+ return { readFile };
27
+ }
28
+ catch (e) {
29
+ console.error(e);
30
+ throw new Error(`Failed to load fs/promises. PDFLoader available only on environment 'node'. It appears you are running environment '${getEnv()}'. See https://<link to docs> for alternatives.`);
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=pdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/document_loaders/pdf.ts"],"names":[],"mappings":"AACA,uEAAuE;AACvE,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC/C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;;;;;mBADS;;IAEnB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAGlB,IAAI;YACF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uHAAuH,MAAM,EAAE,iDAAiD,CACjL,CAAC;SACH;IACH,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { Document } from "../document.js";
2
+ import { getEnv } from "../util/env.js";
2
3
  import { BaseDocumentLoader } from "./base.js";
3
4
  export class SRTLoader extends BaseDocumentLoader {
4
5
  constructor(filePath) {
@@ -26,29 +27,8 @@ export class SRTLoader extends BaseDocumentLoader {
26
27
  readFile = (await import("fs/promises")).readFile;
27
28
  }
28
29
  catch (e) {
29
- const { isBrowser, isNode, isWebWorker, isJsDom, isDeno,
30
- // eslint-disable-next-line global-require,@typescript-eslint/no-var-requires
31
- } = await import("browser-or-node");
32
- let env;
33
- if (isBrowser) {
34
- env = "browser";
35
- }
36
- else if (isNode) {
37
- env = "node";
38
- }
39
- else if (isWebWorker) {
40
- env = "webworker";
41
- }
42
- else if (isJsDom) {
43
- env = "jsdom";
44
- }
45
- else if (isDeno) {
46
- env = "deno";
47
- }
48
- else {
49
- env = "other";
50
- }
51
- throw new Error(`Failed to load fs/promises. SRTLoader available only on environment 'node'. It appears you are running environment '${env}'. See https://<link to docs> for alternatives.`);
30
+ console.error(e);
31
+ throw new Error(`Failed to load fs/promises. SRTLoader available only on environment 'node'. It appears you are running environment '${getEnv()}'. See https://<link to docs> for alternatives.`);
52
32
  }
53
33
  let SRTParser2 = null;
54
34
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"srt.js","sourceRoot":"","sources":["../../src/document_loaders/srt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC/C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;;;;;mBADS;;QAGjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAIlB,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI;YACF,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM;YACN,6EAA6E;cAC9E,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACpC,IAAI,GAAW,CAAC;YAChB,IAAI,SAAS,EAAE;gBACb,GAAG,GAAG,SAAS,CAAC;aACjB;iBAAM,IAAI,MAAM,EAAE;gBACjB,GAAG,GAAG,MAAM,CAAC;aACd;iBAAM,IAAI,WAAW,EAAE;gBACtB,GAAG,GAAG,WAAW,CAAC;aACnB;iBAAM,IAAI,OAAO,EAAE;gBAClB,GAAG,GAAG,OAAO,CAAC;aACf;iBAAM,IAAI,MAAM,EAAE;gBACjB,GAAG,GAAG,MAAM,CAAC;aACd;iBAAM;gBACL,GAAG,GAAG,OAAO,CAAC;aACf;YACD,MAAM,IAAI,KAAK,CACb,uHAAuH,GAAG,iDAAiD,CAC5K,CAAC;SACH;QAED,IAAI,UAAU,GAAqC,IAAI,CAAC;QACxD,IAAI;YACF,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7D;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;SACH;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"srt.js","sourceRoot":"","sources":["../../src/document_loaders/srt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC/C,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;;;;;mBADS;;QAGjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAIlB,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI;YACF,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;SACnD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uHAAuH,MAAM,EAAE,iDAAiD,CACjL,CAAC;SACH;QAED,IAAI,UAAU,GAAqC,IAAI,CAAC;QACxD,IAAI;YACF,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7D;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;SACH;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import url from "url";
2
+ import path from "path";
3
+ import { test, expect } from "@jest/globals";
4
+ import { CSVLoader } from "../csv.js";
5
+ import { Document } from "../../document.js";
6
+ test("Test CSV loader", async () => {
7
+ const filePath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "./example_data/Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.csv");
8
+ const loader = new CSVLoader(filePath, "html");
9
+ const docs = await loader.load();
10
+ expect(docs.length).toBe(32);
11
+ expect(docs[0]).toEqual(new Document({
12
+ metadata: { source: filePath },
13
+ pageContent: "<i>Corruption discovered at the core of the Banking Clan!</i>",
14
+ }));
15
+ });
16
+ //# sourceMappingURL=csv.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csv.test.js","sourceRoot":"","sources":["../../../src/document_loaders/tests/csv.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAChD,wEAAwE,CACzE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACrB,IAAI,QAAQ,CAAC;QACX,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,WAAW,EACT,+DAA+D;KAClE,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import url from "url";
2
+ import path from "path";
3
+ import { test, expect } from "@jest/globals";
4
+ import { DirectoryLoader, UnknownHandling } from "../directory.js";
5
+ import { CSVLoader } from "../csv.js";
6
+ import { PDFLoader } from "../pdf.js";
7
+ import { TextLoader } from "../text.js";
8
+ import { JSONLoader } from "../json.js";
9
+ test("Test Directory loader", async () => {
10
+ const directoryPath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "./example_data");
11
+ const loader = new DirectoryLoader(directoryPath, {
12
+ ".csv": (p) => new CSVLoader(p, "html"),
13
+ ".pdf": (p) => new PDFLoader(p),
14
+ ".txt": (p) => new TextLoader(p),
15
+ ".json": (p) => new JSONLoader(p),
16
+ }, true, UnknownHandling.Ignore);
17
+ const docs = await loader.load();
18
+ expect(docs.length).toBe(66);
19
+ expect(docs.map((d) => d.metadata.source).sort()).toEqual([
20
+ // PDF
21
+ path.resolve(directoryPath, "1706.03762.pdf"),
22
+ // CSV
23
+ ...Array.from({ length: 32 }, (_) => path.resolve(directoryPath, "Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.csv")),
24
+ // JSON
25
+ ...Array.from({ length: 32 }, (_) => path.resolve(directoryPath, "Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.json")),
26
+ // TXT
27
+ path.resolve(directoryPath, "example.txt"),
28
+ ]);
29
+ });
30
+ //# sourceMappingURL=directory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.test.js","sourceRoot":"","sources":["../../../src/document_loaders/tests/directory.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAChD,gBAAgB,CACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,aAAa,EACb;QACE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;KAClC,EACD,IAAI,EACJ,eAAe,CAAC,MAAM,CACvB,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QACxD,MAAM;QACN,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC;QAC7C,MAAM;QACN,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,CACV,aAAa,EACb,yDAAyD,CAC1D,CACF;QACD,OAAO;QACP,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,CACV,aAAa,EACb,0DAA0D,CAC3D,CACF;QACD,MAAM;QACN,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import url from "url";
2
+ import path from "path";
3
+ import { test, expect } from "@jest/globals";
4
+ import { JSONLoader } from "../json.js";
5
+ import { Document } from "../../document.js";
6
+ test("Test JSON loader", async () => {
7
+ const filePath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "./example_data/Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.json");
8
+ const loader = new JSONLoader(filePath);
9
+ const docs = await loader.load();
10
+ expect(docs.length).toBe(32);
11
+ expect(docs[0]).toEqual(new Document({
12
+ metadata: { source: filePath },
13
+ pageContent: "<i>Corruption discovered at the core of the Banking Clan!</i>",
14
+ }));
15
+ });
16
+ //# sourceMappingURL=json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.js","sourceRoot":"","sources":["../../../src/document_loaders/tests/json.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAChD,yEAAyE,CAC1E,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACrB,IAAI,QAAQ,CAAC;QACX,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,WAAW,EACT,+DAA+D;KAClE,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import url from "url";
2
+ import path from "path";
3
+ import { test, expect } from "@jest/globals";
4
+ import { JSONLinesLoader } from "../jsonl.js";
5
+ import { Document } from "../../document.js";
6
+ test("Test JSON loader", async () => {
7
+ const filePath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "./example_data/Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.jsonl");
8
+ const loader = new JSONLinesLoader(filePath, "/html");
9
+ const docs = await loader.load();
10
+ expect(docs.length).toBe(32);
11
+ expect(docs[0]).toEqual(new Document({
12
+ metadata: { source: filePath },
13
+ pageContent: "<i>Corruption discovered at the core of the Banking Clan!</i>",
14
+ }));
15
+ });
16
+ //# sourceMappingURL=jsonl.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.test.js","sourceRoot":"","sources":["../../../src/document_loaders/tests/jsonl.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAChD,0EAA0E,CAC3E,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACrB,IAAI,QAAQ,CAAC;QACX,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,WAAW,EACT,+DAA+D;KAClE,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { test, expect } from "@jest/globals";
2
+ import url from "url";
3
+ import path from "path";
4
+ import { PDFLoader } from "../pdf.js";
5
+ test("Test PDF loader", async () => {
6
+ const filePath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "./example_data/1706.03762.pdf");
7
+ const loader = new PDFLoader(filePath);
8
+ const docs = await loader.load();
9
+ expect(docs.length).toBe(1);
10
+ expect(docs[0].pageContent).toContain("Attention Is All You Need");
11
+ });
12
+ //# sourceMappingURL=pdf.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.test.js","sourceRoot":"","sources":["../../../src/document_loaders/tests/pdf.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,IAAI,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAChD,+BAA+B,CAChC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAEjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
@@ -5,6 +5,7 @@ import { BaseDocumentLoader } from "./base.js";
5
5
  export declare class TextLoader extends BaseDocumentLoader {
6
6
  filePath: string;
7
7
  constructor(filePath: string);
8
+ protected parse(raw: string): Promise<string[]>;
8
9
  load(): Promise<Document[]>;
9
10
  static imports(): Promise<{
10
11
  readFile: typeof ReadFileT;
@@ -1,4 +1,5 @@
1
1
  import { Document } from "../document.js";
2
+ import { getEnv } from "../util/env.js";
2
3
  import { BaseDocumentLoader } from "./base.js";
3
4
  export class TextLoader extends BaseDocumentLoader {
4
5
  constructor(filePath) {
@@ -10,11 +11,20 @@ export class TextLoader extends BaseDocumentLoader {
10
11
  value: filePath
11
12
  });
12
13
  }
14
+ async parse(raw) {
15
+ return [raw];
16
+ }
13
17
  async load() {
14
18
  const { readFile } = await TextLoader.imports();
15
19
  const text = await readFile(this.filePath, "utf8");
16
20
  const metadata = { source: this.filePath };
17
- return [new Document({ pageContent: text, metadata })];
21
+ const parsed = await this.parse(text);
22
+ parsed.forEach((pageContent, i) => {
23
+ if (typeof pageContent !== "string") {
24
+ throw new Error(`Expected string, at position ${i} got ${typeof pageContent}`);
25
+ }
26
+ });
27
+ return parsed.map((pageContent) => new Document({ pageContent, metadata }));
18
28
  }
19
29
  static async imports() {
20
30
  try {
@@ -23,29 +33,7 @@ export class TextLoader extends BaseDocumentLoader {
23
33
  }
24
34
  catch (e) {
25
35
  console.error(e);
26
- const { isBrowser, isNode, isWebWorker, isJsDom, isDeno,
27
- // eslint-disable-next-line global-require,@typescript-eslint/no-var-requires
28
- } = await import("browser-or-node");
29
- let env;
30
- if (isBrowser) {
31
- env = "browser";
32
- }
33
- else if (isNode) {
34
- env = "node";
35
- }
36
- else if (isWebWorker) {
37
- env = "webworker";
38
- }
39
- else if (isJsDom) {
40
- env = "jsdom";
41
- }
42
- else if (isDeno) {
43
- env = "deno";
44
- }
45
- else {
46
- env = "other";
47
- }
48
- throw new Error(`Failed to load fs/promises. TextLoader available only on environment 'node'. It appears you are running environment '${env}'. See https://<link to docs> for alternatives.`);
36
+ throw new Error(`Failed to load fs/promises. TextLoader available only on environment 'node'. It appears you are running environment '${getEnv()}'. See https://<link to docs> for alternatives.`);
49
37
  }
50
38
  }
51
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/document_loaders/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,kBAAkB;IAChD,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;;;;;mBADS;;IAEnB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAGlB,IAAI;YACF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM;YACN,6EAA6E;cAC9E,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACpC,IAAI,GAAW,CAAC;YAChB,IAAI,SAAS,EAAE;gBACb,GAAG,GAAG,SAAS,CAAC;aACjB;iBAAM,IAAI,MAAM,EAAE;gBACjB,GAAG,GAAG,MAAM,CAAC;aACd;iBAAM,IAAI,WAAW,EAAE;gBACtB,GAAG,GAAG,WAAW,CAAC;aACnB;iBAAM,IAAI,OAAO,EAAE;gBAClB,GAAG,GAAG,OAAO,CAAC;aACf;iBAAM,IAAI,MAAM,EAAE;gBACjB,GAAG,GAAG,MAAM,CAAC;aACd;iBAAM;gBACL,GAAG,GAAG,OAAO,CAAC;aACf;YACD,MAAM,IAAI,KAAK,CACb,wHAAwH,GAAG,iDAAiD,CAC7K,CAAC;SACH;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/document_loaders/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,kBAAkB;IAChD,YAAmB,QAAgB;QACjC,KAAK,EAAE,CAAC;;;;;mBADS;;IAEnB,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,GAAW;QAC/B,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,CAAC,QAAQ,OAAO,WAAW,EAAE,CAC9D,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAGlB,IAAI;YACF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,wHAAwH,MAAM,EAAE,iDAAiD,CAClL,CAAC;SACH;IACH,CAAC;CACF"}
@@ -88,12 +88,12 @@ export declare class OpenAIChat extends LLM implements OpenAIInput {
88
88
  basePath?: string | undefined;
89
89
  baseOptions?: any;
90
90
  formDataCtor?: (new () => any) | undefined;
91
- stop?: import("openai").CreateChatCompletionRequestStop | undefined;
91
+ model: string;
92
92
  temperature?: number | null | undefined;
93
+ top_p?: number | null | undefined;
93
94
  n?: number | null | undefined;
94
95
  stream?: boolean | null | undefined;
95
- model: string;
96
- top_p?: number | null | undefined;
96
+ stop?: import("openai").CreateChatCompletionRequestStop | undefined;
97
97
  presence_penalty?: number | null | undefined;
98
98
  frequency_penalty?: number | null | undefined;
99
99
  logit_bias?: object | null | undefined;
@@ -112,12 +112,12 @@ export declare class OpenAIChat extends LLM implements OpenAIInput {
112
112
  basePath?: string | undefined;
113
113
  baseOptions?: any;
114
114
  formDataCtor?: (new () => any) | undefined;
115
- stop?: import("openai").CreateChatCompletionRequestStop | undefined;
115
+ model: string;
116
116
  temperature?: number | null | undefined;
117
+ top_p?: number | null | undefined;
117
118
  n?: number | null | undefined;
118
119
  stream?: boolean | null | undefined;
119
- model: string;
120
- top_p?: number | null | undefined;
120
+ stop?: import("openai").CreateChatCompletionRequestStop | undefined;
121
121
  presence_penalty?: number | null | undefined;
122
122
  frequency_penalty?: number | null | undefined;
123
123
  logit_bias?: object | null | undefined;
@@ -1,6 +1,6 @@
1
1
  import { CreateCompletionRequest, CreateCompletionResponse, ConfigurationParameters } from "openai";
2
2
  import { BaseLLM } from "./base.js";
3
- import { LLMResult, LLMCallbackManager } from "./index.js";
3
+ import type { LLMResult, LLMCallbackManager } from "./index.js";
4
4
  interface ModelParams {
5
5
  /** Sampling temperature to use */
6
6
  temperature: number;
@@ -4,6 +4,7 @@ import { backOff } from "exponential-backoff";
4
4
  import fetchAdapter from "../util/axios-fetch-adapter.js";
5
5
  import { chunkArray } from "../util/index.js";
6
6
  import { BaseLLM } from "./base.js";
7
+ import { OpenAIChat } from "./openai-chat.js";
7
8
  /**
8
9
  * Wrapper around OpenAI large language models.
9
10
  *
@@ -21,6 +22,10 @@ import { BaseLLM } from "./base.js";
21
22
  */
22
23
  export class OpenAI extends BaseLLM {
23
24
  constructor(fields, configuration) {
25
+ if (fields?.modelName?.startsWith("gpt-3.5-turbo")) {
26
+ // eslint-disable-next-line no-constructor-return
27
+ return new OpenAIChat(fields, configuration);
28
+ }
24
29
  super(fields?.callbackManager, fields?.verbose, fields?.concurrency, fields?.cache);
25
30
  Object.defineProperty(this, "temperature", {
26
31
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llms/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llms/openai.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,18 @@
1
1
  import { test, expect } from "@jest/globals";
2
+ import { OpenAIChat } from "../openai-chat.js";
2
3
  import { OpenAI } from "../openai.js";
3
4
  test("Test OpenAI", async () => {
4
5
  const model = new OpenAI({ maxTokens: 5, modelName: "text-ada-001" });
5
6
  const res = await model.call("Print hello world");
6
7
  console.log({ res });
7
8
  });
9
+ test("Test OpenAI with chat model returns OpenAIChat", async () => {
10
+ const model = new OpenAI({ modelName: "gpt-3.5-turbo" });
11
+ expect(model).toBeInstanceOf(OpenAIChat);
12
+ const res = await model.call("Print hello world");
13
+ console.log({ res });
14
+ expect(typeof res).toBe("string");
15
+ });
8
16
  test("Test OpenAI in streaming mode", async () => {
9
17
  let nrNewTokens = 0;
10
18
  let streamedCompletion = "";
@@ -1 +1 @@
1
- {"version":3,"file":"openai.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/openai.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;QACvB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE;YACf,cAAc,CAAC,KAAK;gBAClB,WAAW,IAAI,CAAC,CAAC;gBACjB,kBAAkB,IAAI,KAAK,CAAC;YAC9B,CAAC;SACF;KACF,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAErB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"openai.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/openai.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;QACvB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE;YACf,cAAc,CAAC,KAAK;gBAClB,WAAW,IAAI,CAAC,CAAC;gBACjB,kBAAkB,IAAI,KAAK,CAAC;YAC9B,CAAC;SACF;KACF,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAErB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const getEnv: () => string;
@@ -0,0 +1,24 @@
1
+ import { isBrowser, isNode, isWebWorker, isJsDom, isDeno, } from "browser-or-node";
2
+ export const getEnv = () => {
3
+ let env;
4
+ if (isBrowser) {
5
+ env = "browser";
6
+ }
7
+ else if (isNode) {
8
+ env = "node";
9
+ }
10
+ else if (isWebWorker) {
11
+ env = "webworker";
12
+ }
13
+ else if (isJsDom) {
14
+ env = "jsdom";
15
+ }
16
+ else if (isDeno) {
17
+ env = "deno";
18
+ }
19
+ else {
20
+ env = "other";
21
+ }
22
+ return env;
23
+ };
24
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/util/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,GACP,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,IAAI,GAAW,CAAC;IAChB,IAAI,SAAS,EAAE;QACb,GAAG,GAAG,SAAS,CAAC;KACjB;SAAM,IAAI,MAAM,EAAE;QACjB,GAAG,GAAG,MAAM,CAAC;KACd;SAAM,IAAI,WAAW,EAAE;QACtB,GAAG,GAAG,WAAW,CAAC;KACnB;SAAM,IAAI,OAAO,EAAE;QAClB,GAAG,GAAG,OAAO,CAAC;KACf;SAAM,IAAI,MAAM,EAAE;QACjB,GAAG,GAAG,MAAM,CAAC;KACd;SAAM;QACL,GAAG,GAAG,OAAO,CAAC;KACf;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -63,6 +63,8 @@
63
63
  "@jest/globals": "^29.4.2",
64
64
  "@pinecone-database/pinecone": "^0.0.8",
65
65
  "@tsconfig/recommended": "^1.0.2",
66
+ "@types/d3-dsv": "^3",
67
+ "@types/pdf-parse": "^1.1.1",
66
68
  "@types/uuid": "^9",
67
69
  "@typescript-eslint/eslint-plugin": "^5.51.0",
68
70
  "@typescript-eslint/parser": "^5.51.0",
@@ -128,6 +130,7 @@
128
130
  },
129
131
  "dependencies": {
130
132
  "browser-or-node": "^2.1.1",
133
+ "d3-dsv": "^3.0.1",
131
134
  "deepcopy": "^2.1.0",
132
135
  "eventsource-parser": "^0.1.0",
133
136
  "exponential-backoff": "^3.1.0",
@@ -136,6 +139,7 @@
136
139
  "jsonpointer": "^5.0.1",
137
140
  "openai": "^3.2.0",
138
141
  "p-queue": "^7.3.4",
142
+ "pdf-parse": "^1.1.1",
139
143
  "sqlite3": "^5.1.4",
140
144
  "unfetch": "^5.0.0",
141
145
  "uuid": "^9.0.0",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cohere.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohere.js","sourceRoot":"","sources":["../../src/embeddings/cohere.ts"],"names":[],"mappings":""}