llm-exe 2.0.0-beta.2 → 2.0.0-beta.4

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.
@@ -4,5 +4,5 @@ export declare class BaseEmbedding {
4
4
  protected maxDelay: number;
5
5
  protected numOfAttempts: number;
6
6
  protected jitter: "none" | "full";
7
- constructor(options: any);
7
+ constructor(client: any, options: any);
8
8
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseEmbedding = void 0;
4
4
  class BaseEmbedding {
5
- constructor(options) {
5
+ constructor(client, options) {
6
6
  Object.defineProperty(this, "client", {
7
7
  enumerable: true,
8
8
  configurable: true,
@@ -33,6 +33,7 @@ class BaseEmbedding {
33
33
  writable: true,
34
34
  value: void 0
35
35
  });
36
+ this.client = client;
36
37
  this.timeout = options.timeout || 10000;
37
38
  this.jitter = options.jitter || "none";
38
39
  this.maxDelay = options.maxDelay || 4000;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"src/","sources":["embedding/base.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAOxB,YAAY,OAAY;QANxB;;;;;WAAsB;QACtB;;;;;WAA0B;QAE1B;;;;;WAA2B;QAC3B;;;;;WAAgC;QAChC;;;;;WAAkC;QAEhC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAdD,sCAcC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"src/","sources":["embedding/base.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAOxB,YAAY,MAAW,EAAE,OAAY;QANrC;;;;;WAAsB;QACtB;;;;;WAA0B;QAE1B;;;;;WAA2B;QAC3B;;;;;WAAgC;QAChC;;;;;WAAkC;QAEhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAfD,sCAeC"}
@@ -4,7 +4,7 @@ export declare class EmbeddingOpenAI extends BaseEmbedding {
4
4
  private model;
5
5
  batchSize: number;
6
6
  stripNewLines: boolean;
7
- constructor(options: EmbedOpenAIOptions);
7
+ constructor(client: any, options: EmbedOpenAIOptions);
8
8
  embedDocuments(texts: string[]): Promise<any[]>;
9
9
  embedQuery(text: string): Promise<any>;
10
10
  embeddingWithRetry(input: string): Promise<any>;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmbeddingOpenAI = void 0;
4
- const openai_1 = require("openai");
5
4
  const utils_1 = require("../utils");
6
5
  const base_1 = require("./base");
7
6
  const exponential_backoff_1 = require("exponential-backoff");
8
7
  class EmbeddingOpenAI extends base_1.BaseEmbedding {
9
- constructor(options) {
10
- super(options);
8
+ constructor(client, options) {
9
+ super(client, options);
11
10
  Object.defineProperty(this, "model", {
12
11
  enumerable: true,
13
12
  configurable: true,
@@ -29,8 +28,7 @@ class EmbeddingOpenAI extends base_1.BaseEmbedding {
29
28
  this.model = options.modelName || "text-embedding-ada-002";
30
29
  this.batchSize = options.temperature || 0;
31
30
  this.stripNewLines = !!options.stripNewLines;
32
- const apiKey = options.openAIApiKey || (0, utils_1.getEnvironmentVariable)("OPENAI_API_KEY");
33
- this.client = new openai_1.OpenAI({ apiKey });
31
+ // const apiKey = options.openAIApiKey || getEnvironmentVariable("OPENAI_API_KEY");
34
32
  }
35
33
  async embedDocuments(texts) {
36
34
  const subPrompts = (0, utils_1.chunkArray)(this.stripNewLines ? texts.map((t) => t.replace(/\n/g, " ")) : texts, this.batchSize);
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["embedding/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"src/","sources":["embedding/openai.ts"],"names":[],"mappings":";;;AAAA,mCAA2D;AAC3D,iCAAuC;AACvC,6DAA8C;AAG9C,MAAa,eAAgB,SAAQ,oBAAa;IAKhD,YAAY,MAAW,EAAE,OAA2B;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QALzB;;;;;WAAsB;QAEtB;;;;;WAAyB;QACzB;;;;;WAA8B;QAI5B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,mFAAmF;IACrF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAe;QAClC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAC3B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EACpE,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACpC;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAO,EAC5B,GAAG,EAAE,CACH,IAAA,4BAAoB,EAClB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;SACT,CAAC,EACF,IAAI,CAAC,OAAO,CACb,EACH;YACE,aAAa,EAAE,CAAC;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CACF,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA9DD,0CA8DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-exe",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Simplify building LLM-powered apps with easy-to-use base components, supporting text and chat-based prompts with handlebars template engine, output parsers, and flexible function calling capabilities.",
5
5
  "keywords": [
6
6
  "ai",
@@ -39,12 +39,12 @@
39
39
  "handlebars-async-helpers": "^1.0.6",
40
40
  "json-schema-to-ts": "^2.8.2",
41
41
  "jsonschema": "1.4.1",
42
- "lodash.camelcase": "^4.3.0",
43
- "lodash.escape": "^4.0.1",
44
- "lodash.get": "^4.4.2",
45
- "lodash.pick": "^4.4.0",
46
- "lodash.set": "^4.3.2",
47
- "lodash.unescape": "^4.0.1",
42
+ "lodash.camelcase": "4.3.0",
43
+ "lodash.escape": "4.0.1",
44
+ "lodash.get": "4.4.2",
45
+ "lodash.pick": "4.4.0",
46
+ "lodash.set": "4.3.2",
47
+ "lodash.unescape": "4.0.1",
48
48
  "object-assign-deep": "0.4.0",
49
49
  "uuid": "^9.0.0"
50
50
  },
@@ -52,12 +52,12 @@
52
52
  "@tsconfig/recommended": "^1.0.2",
53
53
  "@types/jest": "^29.5.2",
54
54
  "@types/json-schema": "^7.0.11",
55
- "@types/lodash.camelcase": "^4.3.7",
56
- "@types/lodash.escape": "^4.0.7",
57
- "@types/lodash.get": "^4.4.7",
58
- "@types/lodash.pick": "^4.4.7",
59
- "@types/lodash.set": "^4.3.7",
60
- "@types/lodash.unescape": "^4.0.7",
55
+ "@types/lodash.camelcase": "4.3.9",
56
+ "@types/lodash.escape": "4.0.9",
57
+ "@types/lodash.get": "4.4.9",
58
+ "@types/lodash.pick": "4.4.9",
59
+ "@types/lodash.set": "4.3.9",
60
+ "@types/lodash.unescape": "4.0.9",
61
61
  "@types/node": "17.0.23",
62
62
  "@types/prettier": "2.6.0",
63
63
  "@types/uuid": "^9.0.1",
@@ -1,95 +0,0 @@
1
- import { IChatMessages, OpenAIModelName, OpenAIOptions } from "../types";
2
- import { BaseLlm } from "./_base";
3
- import { OutputOpenAICompletion } from "./output/openai";
4
- interface BedrockClient {
5
- client: {
6
- send: any;
7
- };
8
- invoke: any;
9
- }
10
- /**
11
- * Create a new instance of the OpenAI API wrapper.
12
- * @param options - Configuration options for the OpenAI API wrapper.
13
- * @returns - A new instance of the OpenAI API wrapper class.
14
- */
15
- export declare function createLlmBedrock(options: OpenAIOptions, client: BedrockClient): LlmBedrock;
16
- /**
17
- * A class that extends BaseLlm and provides functionality for the OpenAI API.
18
- */
19
- export declare class LlmBedrock extends BaseLlm<BedrockClient> {
20
- private model;
21
- private temperature;
22
- private maxTokens;
23
- private topP;
24
- private n;
25
- private stream;
26
- private stop;
27
- private presencePenalty;
28
- private frequencyPenalty;
29
- private logitBias;
30
- private user;
31
- /**
32
- * Constructor for the OpenAI class.
33
- * @param {OpenAIOptions} options - Configuration options for the OpenAI API wrapper.
34
- */
35
- constructor(options: OpenAIOptions, client: BedrockClient);
36
- /**
37
- * Get the total prompt and completion tokens across all calls to the API.
38
- * @returns - An object with total prompt and completion tokens.
39
- */
40
- getMetrics(): {
41
- total_completionTokens: number;
42
- total_promptTokens: number;
43
- total_totalTokens: number;
44
- };
45
- /**
46
- * Calculate the API call cost based on input and output tokens.
47
- * @param input_tokens - The number of input tokens.
48
- * @param output_tokens=0 - The number of output tokens (defaults to 0).
49
- * @returns An object for input/output tokens and cost.
50
- */
51
- calculatePrice(input_tokens: number, output_tokens?: number): {
52
- input_cost: number;
53
- output_cost: number;
54
- total_cost: number;
55
- };
56
- /**
57
- * Log a table containing usage metrics for the OpenAI API.
58
- */
59
- logMetrics(): void;
60
- /**
61
- * Wrapper function to call chat/completion with the specified input.
62
- * @private
63
- * @param input - The input for the chat/completion API.
64
- * @returns The chat/completion response from the API.
65
- */
66
- _call(input: string | IChatMessages): Promise<OutputOpenAICompletion>;
67
- /**
68
- * Communicate with the OpenAI Completion API.
69
- * @param messages - A list of message objects for the API call.
70
- * @returns The chat response from the API.
71
- */
72
- completion(prompt: string): Promise<OutputOpenAICompletion>;
73
- getMetadata(): {
74
- traceId: string | null;
75
- promptType: import("../types").PromptType;
76
- timeout: number;
77
- jitter: "none" | "full";
78
- maxDelay: number;
79
- numOfAttempts: number;
80
- metrics: any;
81
- } & {
82
- model: OpenAIModelName;
83
- temperature: number;
84
- max_tokens: number;
85
- topP: number | null;
86
- n: number | null;
87
- stream: boolean | null;
88
- stop: any;
89
- presencePenalty: number | null;
90
- frequencyPenalty: number | null;
91
- logitBias: object | null;
92
- user: string;
93
- };
94
- }
95
- export {};
@@ -1,194 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LlmBedrock = exports.createLlmBedrock = void 0;
4
- const _base_1 = require("./_base");
5
- const utils_1 = require("../utils");
6
- const openai_1 = require("./output/openai");
7
- /**
8
- * Create a new instance of the OpenAI API wrapper.
9
- * @param options - Configuration options for the OpenAI API wrapper.
10
- * @returns - A new instance of the OpenAI API wrapper class.
11
- */
12
- function createLlmBedrock(options, client) {
13
- return new LlmBedrock(options, client);
14
- }
15
- exports.createLlmBedrock = createLlmBedrock;
16
- /**
17
- * A class that extends BaseLlm and provides functionality for the OpenAI API.
18
- */
19
- class LlmBedrock extends _base_1.BaseLlm {
20
- /**
21
- * Constructor for the OpenAI class.
22
- * @param {OpenAIOptions} options - Configuration options for the OpenAI API wrapper.
23
- */
24
- constructor(options, client) {
25
- const { openAIApiKey = (0, utils_1.getEnvironmentVariable)("OPEN_AI_API_KEY"), modelName, temperature, maxTokens, topP = null, n = null, stream = null, stop, presencePenalty = null, frequencyPenalty = null, logitBias = null, user = "", ...restOfOptions } = options;
26
- super(restOfOptions, client);
27
- Object.defineProperty(this, "model", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: void 0
32
- });
33
- Object.defineProperty(this, "temperature", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: void 0
38
- });
39
- Object.defineProperty(this, "maxTokens", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, "topP", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: void 0
50
- });
51
- Object.defineProperty(this, "n", {
52
- enumerable: true,
53
- configurable: true,
54
- writable: true,
55
- value: null
56
- });
57
- Object.defineProperty(this, "stream", {
58
- enumerable: true,
59
- configurable: true,
60
- writable: true,
61
- value: void 0
62
- });
63
- Object.defineProperty(this, "stop", {
64
- enumerable: true,
65
- configurable: true,
66
- writable: true,
67
- value: null
68
- });
69
- Object.defineProperty(this, "presencePenalty", {
70
- enumerable: true,
71
- configurable: true,
72
- writable: true,
73
- value: void 0
74
- });
75
- Object.defineProperty(this, "frequencyPenalty", {
76
- enumerable: true,
77
- configurable: true,
78
- writable: true,
79
- value: void 0
80
- });
81
- Object.defineProperty(this, "logitBias", {
82
- enumerable: true,
83
- configurable: true,
84
- writable: true,
85
- value: void 0
86
- });
87
- Object.defineProperty(this, "user", {
88
- enumerable: true,
89
- configurable: true,
90
- writable: true,
91
- value: void 0
92
- });
93
- this.model = modelName || "gpt-3.5-turbo";
94
- this.temperature = temperature || 0;
95
- this.maxTokens = maxTokens || 500;
96
- this.topP = topP;
97
- this.n = n;
98
- this.stream = stream;
99
- this.stop = stop;
100
- this.presencePenalty = presencePenalty;
101
- this.frequencyPenalty = frequencyPenalty;
102
- this.logitBias = logitBias;
103
- this.user = user;
104
- this.promptType = "text";
105
- }
106
- /**
107
- * Get the total prompt and completion tokens across all calls to the API.
108
- * @returns - An object with total prompt and completion tokens.
109
- */
110
- getMetrics() {
111
- let total_completionTokens = 0;
112
- let total_promptTokens = 0;
113
- let total_totalTokens = 0;
114
- for (const item of this.metrics.history) {
115
- /* istanbul ignore next */
116
- const { completion_tokens = 0, prompt_tokens = 0, total_tokens = 0, } = item.usage;
117
- total_completionTokens = total_completionTokens + completion_tokens;
118
- total_promptTokens = total_promptTokens + prompt_tokens;
119
- total_totalTokens = total_totalTokens + total_tokens;
120
- }
121
- return {
122
- total_completionTokens,
123
- total_promptTokens,
124
- total_totalTokens,
125
- };
126
- }
127
- /**
128
- * Calculate the API call cost based on input and output tokens.
129
- * @param input_tokens - The number of input tokens.
130
- * @param output_tokens=0 - The number of output tokens (defaults to 0).
131
- * @returns An object for input/output tokens and cost.
132
- */
133
- calculatePrice(input_tokens, output_tokens = 0) {
134
- return (0, utils_1.calculateOpenAiPrice)(this.model, input_tokens, output_tokens);
135
- }
136
- /**
137
- * Log a table containing usage metrics for the OpenAI API.
138
- */
139
- logMetrics() { }
140
- /**
141
- * Wrapper function to call chat/completion with the specified input.
142
- * @private
143
- * @param input - The input for the chat/completion API.
144
- * @returns The chat/completion response from the API.
145
- */
146
- async _call(input) {
147
- (0, utils_1.assert)(typeof input === "string");
148
- return await this.completion(input);
149
- }
150
- /**
151
- * Communicate with the OpenAI Completion API.
152
- * @param messages - A list of message objects for the API call.
153
- * @returns The chat response from the API.
154
- */
155
- async completion(prompt) {
156
- (0, utils_1.assert)(typeof prompt === "string" && prompt !== "", "Missing prompt.");
157
- const options = (0, utils_1.removeEmptyFromObject)({
158
- prompt,
159
- model: this.model,
160
- temperature: this.temperature,
161
- max_tokens: this.maxTokens,
162
- topP: this.topP,
163
- n: this.n,
164
- stream: this.stream,
165
- stop: this.stop,
166
- presencePenalty: this.presencePenalty,
167
- frequencyPenalty: this.frequencyPenalty,
168
- logitBias: this.logitBias,
169
- user: this.user,
170
- });
171
- console.log("!!response", options);
172
- throw new Error("you got here?");
173
- const response = await this.client.client.send(new this.client.invoke(options));
174
- this.metrics.history.push(response);
175
- return new openai_1.OutputOpenAICompletion(response);
176
- }
177
- getMetadata() {
178
- return Object.assign({}, super.getMetadata(), (0, utils_1.removeEmptyFromObject)({
179
- model: this.model,
180
- temperature: this.temperature,
181
- max_tokens: this.maxTokens,
182
- topP: this.topP,
183
- n: this.n,
184
- stream: this.stream,
185
- stop: this.stop,
186
- presencePenalty: this.presencePenalty,
187
- frequencyPenalty: this.frequencyPenalty,
188
- logitBias: this.logitBias,
189
- user: this.user,
190
- }));
191
- }
192
- }
193
- exports.LlmBedrock = LlmBedrock;
194
- //# sourceMappingURL=bedrock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"src/","sources":["llm/bedrock.ts"],"names":[],"mappings":"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"}