llm-proxy 1.4.18 → 1.5.0

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 (31) hide show
  1. package/dist/index.js +91 -6
  2. package/dist/index.js.map +1 -1
  3. package/dist/middleware/InputFormatAdapter.d.ts +1 -1
  4. package/dist/middleware/InputFormatAdapter.js +13 -3
  5. package/dist/middleware/InputFormatAdapter.js.map +1 -1
  6. package/dist/middleware/OutputFormatAdapter.d.ts +7 -2
  7. package/dist/middleware/OutputFormatAdapter.js +37 -22
  8. package/dist/middleware/OutputFormatAdapter.js.map +1 -1
  9. package/dist/middleware/ProviderFinder.js +3 -0
  10. package/dist/middleware/ProviderFinder.js.map +1 -1
  11. package/dist/services/AwsBedrockAnthropicService.js +7 -7
  12. package/dist/services/AwsBedrockAnthropicService.js.map +1 -1
  13. package/dist/services/AwsBedrockLlama3Service.d.ts +17 -0
  14. package/dist/services/AwsBedrockLlama3Service.js +126 -0
  15. package/dist/services/AwsBedrockLlama3Service.js.map +1 -0
  16. package/dist/types/index.d.ts +15 -7
  17. package/dist/types/index.js +22 -8
  18. package/dist/types/index.js.map +1 -1
  19. package/dist/utils/inputFormatAdapterUtils/openAIToLlamaMessage.d.ts +3 -0
  20. package/dist/utils/inputFormatAdapterUtils/openAIToLlamaMessage.js +35 -0
  21. package/dist/utils/inputFormatAdapterUtils/openAIToLlamaMessage.js.map +1 -0
  22. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAINonStream.d.ts +28 -0
  23. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAINonStream.js +32 -0
  24. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAINonStream.js.map +1 -0
  25. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStream.d.ts +2 -0
  26. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStream.js +40 -0
  27. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStream.js.map +1 -0
  28. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStreamToolCall.d.ts +23 -0
  29. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStreamToolCall.js +42 -0
  30. package/dist/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStreamToolCall.js.map +1 -0
  31. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ const AwsBedrockAnthropicService_1 = __importDefault(require("./services/AwsBedr
25
25
  const ProviderFinder_1 = __importDefault(require("./middleware/ProviderFinder"));
26
26
  const InputFormatAdapter_1 = __importDefault(require("./middleware/InputFormatAdapter"));
27
27
  const OutputFormatAdapter_1 = __importDefault(require("./middleware/OutputFormatAdapter"));
28
+ const AwsBedrockLlama3Service_1 = __importDefault(require("./services/AwsBedrockLlama3Service"));
28
29
  // Main function for non-streaming requests
29
30
  async function generateLLMResponse(params) {
30
31
  const { messages, model, functions, max_tokens, temperature, credentials } = params;
@@ -45,8 +46,15 @@ async function generateLLMResponse(params) {
45
46
  }
46
47
  service = new AwsBedrockAnthropicService_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
47
48
  }
49
+ else if (provider === types_1.Providers.LLAMA_3_1_BEDROCK) {
50
+ const { awsConfig } = credentials;
51
+ if (!awsConfig) {
52
+ return Promise.reject(new Error("AWS credentials are required for Bedrock models."));
53
+ }
54
+ service = new AwsBedrockLlama3Service_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
55
+ }
48
56
  else {
49
- return Promise.reject(new Error("Unsupported provider"));
57
+ return Promise.reject(new Error("Unsupported provider 4"));
50
58
  }
51
59
  // Step 2: Adapt messages and extract the system prompt
52
60
  const { adaptedMessages, systemPrompt } = InputFormatAdapter_1.default.adaptMessages(messages, provider);
@@ -60,11 +68,18 @@ async function generateLLMResponse(params) {
60
68
  systemPrompt: systemPrompt || "",
61
69
  });
62
70
  // Step 4: Adapt the response if needed
63
- return provider === types_1.Providers.OPENAI
71
+ const adaptedResponse = provider === types_1.Providers.OPENAI
64
72
  ? response
65
- : OutputFormatAdapter_1.default.adaptResponse(response, provider);
73
+ : OutputFormatAdapter_1.default.adaptResponse({
74
+ response,
75
+ provider,
76
+ isStream: false,
77
+ });
78
+ return adaptedResponse;
66
79
  }
67
80
  // Main function for streaming requests
81
+ // Main function for streaming requests
82
+ // Main function for streaming requests
68
83
  async function generateLLMStreamResponse(params) {
69
84
  const { messages, model, functions, max_tokens, temperature, credentials } = params;
70
85
  // Step 1: Identify the provider based on the model
@@ -84,6 +99,13 @@ async function generateLLMStreamResponse(params) {
84
99
  }
85
100
  service = new AwsBedrockAnthropicService_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
86
101
  }
102
+ else if (provider === types_1.Providers.LLAMA_3_1_BEDROCK) {
103
+ const { awsConfig } = credentials;
104
+ if (!awsConfig) {
105
+ return Promise.reject(new Error("AWS credentials are required for Bedrock models."));
106
+ }
107
+ service = new AwsBedrockLlama3Service_1.default(awsConfig.accessKeyId, awsConfig.secretAccessKey, awsConfig.region);
108
+ }
87
109
  else {
88
110
  return Promise.reject(new Error("Unsupported provider"));
89
111
  }
@@ -100,10 +122,73 @@ async function generateLLMStreamResponse(params) {
100
122
  });
101
123
  // Step 4: Create and return the async generator
102
124
  async function* streamGenerator() {
125
+ const buffer = []; // Buffer to hold the first three chunks
126
+ let isFunctionCall = false;
127
+ const accumulatedChunks = []; // Accumulate chunks for function calls
103
128
  for await (const chunk of stream) {
104
- yield provider === types_1.Providers.OPENAI
105
- ? chunk
106
- : OutputFormatAdapter_1.default.adaptResponse(chunk, provider);
129
+ if (!isFunctionCall) {
130
+ // Push the chunk to the buffer
131
+ buffer.push(chunk);
132
+ // Check condition if we have the first three chunks
133
+ if (buffer.length === 3) {
134
+ const [first, second, third] = buffer;
135
+ // Evaluate the condition
136
+ if (second.generation === "<" && third.generation === "function") {
137
+ isFunctionCall = true;
138
+ }
139
+ // Clear the buffer if condition met, else continue streaming
140
+ if (isFunctionCall) {
141
+ accumulatedChunks.push(...buffer);
142
+ buffer.length = 0;
143
+ }
144
+ else {
145
+ // Yield the first chunk
146
+ yield provider === types_1.Providers.OPENAI
147
+ ? first
148
+ : (await OutputFormatAdapter_1.default.adaptResponse({
149
+ response: first,
150
+ provider,
151
+ isStream: true,
152
+ isFunctionCall: false,
153
+ }));
154
+ buffer.shift(); // Remove the first chunk from the buffer
155
+ }
156
+ }
157
+ }
158
+ else {
159
+ // Accumulate chunks for function call
160
+ accumulatedChunks.push(chunk);
161
+ }
162
+ }
163
+ if (isFunctionCall) {
164
+ // Pass the entire accumulated response to adaptResponse
165
+ const fullResponse = accumulatedChunks.reduce((acc, cur) => {
166
+ acc.generation += cur.generation;
167
+ return acc;
168
+ });
169
+ const response = provider === types_1.Providers.OPENAI
170
+ ? { ...fullResponse, isFunctionCall: true }
171
+ : (await OutputFormatAdapter_1.default.adaptResponse({
172
+ response: fullResponse,
173
+ provider,
174
+ isStream: false,
175
+ isFunctionCall: true,
176
+ }));
177
+ yield response;
178
+ }
179
+ else {
180
+ // Handle any remaining chunks in the buffer for non-function calls
181
+ while (buffer.length > 0) {
182
+ const chunk = buffer.shift();
183
+ const response = provider === types_1.Providers.OPENAI
184
+ ? chunk
185
+ : (await OutputFormatAdapter_1.default.adaptResponse({
186
+ response: chunk,
187
+ provider,
188
+ isStream: true,
189
+ }));
190
+ yield response;
191
+ }
107
192
  }
108
193
  }
109
194
  return streamGenerator();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BedrockAnthropicMessage, OpenAIMessages, Providers } from "../types";
2
2
  export default class InputFormatAdapter {
3
3
  static adaptMessages(messages: any, provider: Providers): {
4
- adaptedMessages: OpenAIMessages | BedrockAnthropicMessage[];
4
+ adaptedMessages: OpenAIMessages | BedrockAnthropicMessage[] | any;
5
5
  systemPrompt?: string;
6
6
  };
7
7
  }
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const types_1 = require("../types");
7
+ const openAIToLlamaMessage_1 = __importDefault(require("../utils/inputFormatAdapterUtils/openAIToLlamaMessage"));
4
8
  class InputFormatAdapter {
5
9
  static adaptMessages(messages, provider) {
6
10
  var _a;
7
11
  switch (provider) {
8
12
  case types_1.Providers.OPENAI:
9
13
  return {
10
- // @ts-ignore
14
+ // @ts-ignore: Ignore the any type in the msg
11
15
  adaptedMessages: messages.map((msg) => {
12
16
  var _a, _b;
13
17
  if (msg.role === "function") {
@@ -34,7 +38,7 @@ class InputFormatAdapter {
34
38
  }
35
39
  const systemPrompt = (_a = firstMessage.content) !== null && _a !== void 0 ? _a : "";
36
40
  const adaptedMessages = [];
37
- // @ts-ignore
41
+ // @ts-ignore: Ignore the any type in the msg
38
42
  restMessages.forEach((msg) => {
39
43
  var _a, _b;
40
44
  if (msg.role !== "user" && msg.role !== "assistant") {
@@ -90,8 +94,14 @@ class InputFormatAdapter {
90
94
  }
91
95
  return { adaptedMessages, systemPrompt };
92
96
  }
97
+ case types_1.Providers.LLAMA_3_1_BEDROCK: {
98
+ const adaptedMessages = (0, openAIToLlamaMessage_1.default)(messages);
99
+ return {
100
+ adaptedMessages,
101
+ };
102
+ }
93
103
  default:
94
- throw new Error(`Unsupported provider: ${provider}`);
104
+ throw new Error(`Unsupported provider 1: ${provider}`);
95
105
  }
96
106
  }
97
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/InputFormatAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
- import { LLMResponse, Providers } from "../types";
1
+ import { Providers } from "../types";
2
2
  export default class OutputFormatAdapter {
3
3
  private static isToolUseStream;
4
4
  private static toolArguments;
5
5
  private static model;
6
6
  private static toolName;
7
- static adaptResponse(response: any, provider: Providers): LLMResponse;
7
+ static adaptResponse({ response, provider, isStream, isFunctionCall, }: {
8
+ response: any;
9
+ provider: Providers;
10
+ isStream: boolean;
11
+ isFunctionCall?: boolean;
12
+ }): Promise<any>;
8
13
  private static adaptCompleteResponse;
9
14
  private static mapRole;
10
15
  private static extractContent;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const types_1 = require("../types");
7
+ const convertLlamaToOpenAINonStream_1 = __importDefault(require("../utils/outputFormatAdapterUtils/convertLlamaToOpenAINonStream"));
8
+ const convertLlamaToOpenAIStream_1 = __importDefault(require("../utils/outputFormatAdapterUtils/convertLlamaToOpenAIStream"));
9
+ const convertLlamaToOpenAIStreamToolCall_1 = __importDefault(require("../utils/outputFormatAdapterUtils/convertLlamaToOpenAIStreamToolCall"));
4
10
  class OutputFormatAdapter {
5
- static adaptResponse(response, provider) {
11
+ static async adaptResponse({ response, provider, isStream, isFunctionCall, }) {
6
12
  if (!response) {
7
13
  throw new Error("Response object is null or undefined");
8
14
  }
@@ -11,12 +17,21 @@ class OutputFormatAdapter {
11
17
  case types_1.Providers.OPENAI:
12
18
  return response;
13
19
  case types_1.Providers.ANTHROPIC_BEDROCK:
14
- if (response.type === "message" && !response.delta) {
20
+ if (!isStream) {
15
21
  return this.adaptCompleteResponse(response);
16
22
  }
17
23
  return this.adaptStreamingResponse(response);
24
+ case types_1.Providers.LLAMA_3_1_BEDROCK: {
25
+ if (!isStream && !isFunctionCall) {
26
+ return (0, convertLlamaToOpenAINonStream_1.default)(response);
27
+ }
28
+ if (isFunctionCall) {
29
+ return (0, convertLlamaToOpenAIStreamToolCall_1.default)(response);
30
+ }
31
+ return (0, convertLlamaToOpenAIStream_1.default)(response);
32
+ }
18
33
  default:
19
- throw new Error(`Unsupported provider: ${provider}`);
34
+ throw new Error(`Unsupported provider 2: ${provider}`);
20
35
  }
21
36
  }
22
37
  catch (error) {
@@ -34,10 +49,10 @@ class OutputFormatAdapter {
34
49
  index,
35
50
  message: {
36
51
  role: this.mapRole(contentBlock),
37
- content: this.extractContent(contentBlock)
52
+ content: this.extractContent(contentBlock),
38
53
  },
39
54
  logprobs: null,
40
- finish_reason: response.stop_reason || null
55
+ finish_reason: response.stop_reason || null,
41
56
  })),
42
57
  usage: {
43
58
  prompt_tokens: ((_a = response.usage) === null || _a === void 0 ? void 0 : _a.input_tokens) || 0,
@@ -45,9 +60,9 @@ class OutputFormatAdapter {
45
60
  total_tokens: (((_c = response.usage) === null || _c === void 0 ? void 0 : _c.input_tokens) || 0) +
46
61
  (((_d = response.usage) === null || _d === void 0 ? void 0 : _d.output_tokens) || 0),
47
62
  prompt_tokens_details: { cached_tokens: 0 },
48
- completion_tokens_details: { reasoning_tokens: 0 }
63
+ completion_tokens_details: { reasoning_tokens: 0 },
49
64
  },
50
- system_fingerprint: response.system_fingerprint || "default_fingerprint"
65
+ system_fingerprint: response.system_fingerprint || "default_fingerprint",
51
66
  };
52
67
  }
53
68
  static mapRole(content) {
@@ -130,12 +145,12 @@ class OutputFormatAdapter {
130
145
  chunk.type === "content_block_delta" &&
131
146
  ((_a = chunk.delta) === null || _a === void 0 ? void 0 : _a.type) === "input_json_delta"
132
147
  ? (_b = chunk.delta) === null || _b === void 0 ? void 0 : _b.partial_json
133
- : this.toolArguments.join(", ")
134
- }
148
+ : this.toolArguments.join(", "),
149
+ },
135
150
  },
136
151
  logprobs: null,
137
- finish_reason: isStop ? "stop" : null
138
- }
152
+ finish_reason: isStop ? "stop" : null,
153
+ },
139
154
  ],
140
155
  usage: isStop
141
156
  ? {
@@ -144,13 +159,13 @@ class OutputFormatAdapter {
144
159
  total_tokens: ((metrics === null || metrics === void 0 ? void 0 : metrics.inputTokenCount) || 0) +
145
160
  ((metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0),
146
161
  prompt_tokens_details: {
147
- cached_tokens: 0
162
+ cached_tokens: 0,
148
163
  },
149
164
  completion_tokens_details: {
150
- reasoning_tokens: 0
151
- }
165
+ reasoning_tokens: 0,
166
+ },
152
167
  }
153
- : null
168
+ : null,
154
169
  };
155
170
  }
156
171
  static createNonToolUseResponse(metrics, isStop, chunk) {
@@ -165,11 +180,11 @@ class OutputFormatAdapter {
165
180
  {
166
181
  index: 0,
167
182
  delta: {
168
- content
183
+ content,
169
184
  },
170
185
  logprobs: null,
171
- finish_reason: isStop ? "stop" : null
172
- }
186
+ finish_reason: isStop ? "stop" : null,
187
+ },
173
188
  ],
174
189
  usage: isStop
175
190
  ? {
@@ -178,13 +193,13 @@ class OutputFormatAdapter {
178
193
  total_tokens: ((metrics === null || metrics === void 0 ? void 0 : metrics.inputTokenCount) || 0) +
179
194
  ((metrics === null || metrics === void 0 ? void 0 : metrics.outputTokenCount) || 0),
180
195
  prompt_tokens_details: {
181
- cached_tokens: 0
196
+ cached_tokens: 0,
182
197
  },
183
198
  completion_tokens_details: {
184
- reasoning_tokens: 0
185
- }
199
+ reasoning_tokens: 0,
200
+ },
186
201
  }
187
- : null
202
+ : null,
188
203
  };
189
204
  }
190
205
  static resetState() {
@@ -1 +1 @@
1
- {"version":3,"file":"OutputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/OutputFormatAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputFormatAdapter.js","sourceRoot":"","sources":["../../src/middleware/OutputFormatAdapter.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ class ProviderFinder {
11
11
  if (Object.values(types_1.BedrockAnthropicSupportedLLMs).includes(model)) {
12
12
  return types_1.Providers.ANTHROPIC_BEDROCK;
13
13
  }
14
+ if (Object.values(types_1.Llama3_1SupportedLLMs).includes(model)) {
15
+ return types_1.Providers.LLAMA_3_1_BEDROCK;
16
+ }
14
17
  // Throw an error for unsupported models
15
18
  throw new Error(`Unsupported model: ${model}`);
16
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderFinder.js","sourceRoot":"","sources":["../../src/middleware/ProviderFinder.ts"],"names":[],"mappings":";;AAAA,oCAIkB;AAElB,MAAqB,cAAc;IACjC,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,sDAAsD;QACtD,IACE,MAAM,CAAC,MAAM,CAAC,2BAAmB,CAAC,CAAC,QAAQ,CAAC,KAA4B,CAAC,EACzE,CAAC;YACD,OAAO,iBAAS,CAAC,MAAM,CAAC;QAC1B,CAAC;QACD,iEAAiE;QACjE,IACE,MAAM,CAAC,MAAM,CAAC,qCAA6B,CAAC,CAAC,QAAQ,CACnD,KAAsC,CACvC,EACD,CAAC;YACD,OAAO,iBAAS,CAAC,iBAAiB,CAAC;QACrC,CAAC;QACD,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAnBD,iCAmBC"}
1
+ {"version":3,"file":"ProviderFinder.js","sourceRoot":"","sources":["../../src/middleware/ProviderFinder.ts"],"names":[],"mappings":";;AAAA,oCAKkB;AAElB,MAAqB,cAAc;IACjC,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,sDAAsD;QACtD,IACE,MAAM,CAAC,MAAM,CAAC,2BAAmB,CAAC,CAAC,QAAQ,CAAC,KAA4B,CAAC,EACzE,CAAC;YACD,OAAO,iBAAS,CAAC,MAAM,CAAC;QAC1B,CAAC;QACD,iEAAiE;QACjE,IACE,MAAM,CAAC,MAAM,CAAC,qCAA6B,CAAC,CAAC,QAAQ,CACnD,KAAsC,CACvC,EACD,CAAC;YACD,OAAO,iBAAS,CAAC,iBAAiB,CAAC;QACrC,CAAC;QACD,IACE,MAAM,CAAC,MAAM,CAAC,6BAAqB,CAAC,CAAC,QAAQ,CAC3C,KAA8B,CAC/B,EACD,CAAC;YACD,OAAO,iBAAS,CAAC,iBAAiB,CAAC;QACrC,CAAC;QACD,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AA1BD,iCA0BC"}
@@ -7,8 +7,8 @@ class AwsBedrockAnthropicService {
7
7
  region,
8
8
  credentials: {
9
9
  accessKeyId: awsAccessKey,
10
- secretAccessKey: awsSecretKey
11
- }
10
+ secretAccessKey: awsSecretKey,
11
+ },
12
12
  });
13
13
  }
14
14
  async generateCompletion(params) {
@@ -22,13 +22,13 @@ class AwsBedrockAnthropicService {
22
22
  temperature,
23
23
  messages,
24
24
  system: systemPrompt,
25
- ...(tools && Array.isArray(tools) && tools.length ? { tools } : {})
25
+ ...(tools && Array.isArray(tools) && tools.length ? { tools } : {}),
26
26
  });
27
27
  const command = new client_bedrock_runtime_1.InvokeModelCommand({
28
28
  modelId: model,
29
29
  body,
30
30
  contentType: "application/json",
31
- accept: "application/json"
31
+ accept: "application/json",
32
32
  });
33
33
  const response = await this.bedrock.send(command);
34
34
  return JSON.parse(new TextDecoder().decode(response.body));
@@ -46,20 +46,20 @@ class AwsBedrockAnthropicService {
46
46
  temperature,
47
47
  messages,
48
48
  system: systemPrompt,
49
- ...(tools && Array.isArray(tools) && tools.length ? { tools } : {})
49
+ ...(tools && Array.isArray(tools) && tools.length ? { tools } : {}),
50
50
  });
51
51
  const command = new client_bedrock_runtime_1.InvokeModelWithResponseStreamCommand({
52
52
  modelId: model,
53
53
  body,
54
54
  contentType: "application/json",
55
- accept: "application/json"
55
+ accept: "application/json",
56
56
  });
57
57
  const response = await this.bedrock.send(command);
58
58
  if (response.body) {
59
59
  const decoder = new TextDecoder("utf-8");
60
60
  for await (const payload of response.body) {
61
61
  const decodedString = decoder.decode((_a = payload.chunk) === null || _a === void 0 ? void 0 : _a.bytes, {
62
- stream: true
62
+ stream: true,
63
63
  });
64
64
  try {
65
65
  const jsonObject = JSON.parse(decodedString);
@@ -1 +1 @@
1
- {"version":3,"file":"AwsBedrockAnthropicService.js","sourceRoot":"","sources":["../../src/services/AwsBedrockAnthropicService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AwsBedrockAnthropicService.js","sourceRoot":"","sources":["../../src/services/AwsBedrockAnthropicService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export default class AwsBedrockLlama3Service {
2
+ private bedrock;
3
+ constructor(awsAccessKey: string, awsSecretKey: string, region: string);
4
+ generateCompletion(params: {
5
+ model?: string;
6
+ max_tokens?: number;
7
+ temperature?: number;
8
+ messages: any;
9
+ }): Promise<any>;
10
+ generateStreamCompletion(params: {
11
+ model?: string;
12
+ max_tokens?: number;
13
+ temperature?: number;
14
+ messages: any;
15
+ tools?: any;
16
+ }): AsyncGenerator<any, void, unknown>;
17
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const client_bedrock_runtime_1 = require("@aws-sdk/client-bedrock-runtime");
4
+ class AwsBedrockLlama3Service {
5
+ constructor(awsAccessKey, awsSecretKey, region) {
6
+ this.bedrock = new client_bedrock_runtime_1.BedrockRuntimeClient({
7
+ region,
8
+ credentials: {
9
+ accessKeyId: awsAccessKey,
10
+ secretAccessKey: awsSecretKey,
11
+ },
12
+ });
13
+ }
14
+ async generateCompletion(params) {
15
+ const { messages, model, max_tokens, temperature } = params;
16
+ if (!model) {
17
+ throw new Error("Model ID is required.");
18
+ }
19
+ const body = {
20
+ prompt: messages,
21
+ max_gen_len: max_tokens || 100,
22
+ temperature: temperature || 0.7,
23
+ top_p: 0.9,
24
+ };
25
+ const command = new client_bedrock_runtime_1.InvokeModelCommand({
26
+ modelId: model,
27
+ body: JSON.stringify(body),
28
+ contentType: "application/json",
29
+ });
30
+ try {
31
+ const response = await this.bedrock.send(command);
32
+ return JSON.parse(new TextDecoder().decode(response.body));
33
+ }
34
+ catch (error) {
35
+ console.error("Error invoking the Llama model:", error);
36
+ throw error;
37
+ }
38
+ }
39
+ async *generateStreamCompletion(params) {
40
+ var _a;
41
+ const { messages, model, max_tokens, temperature, tools } = params;
42
+ if (!model) {
43
+ throw new Error("Model ID is required.");
44
+ }
45
+ const toolPrompt = `
46
+ You have access to the following functions:
47
+
48
+ ${JSON.stringify(tools, null, 2)}
49
+
50
+ If you choose to call a function ONLY reply in the following format with no prefix or suffix:
51
+
52
+ <function>
53
+ {
54
+ "function_name": "the name of the function you want to call"
55
+ "parameters": {
56
+ "parameter_key": "the value of the parameter"
57
+ }
58
+ }
59
+ </function>
60
+
61
+ Example:
62
+ <function>
63
+ {
64
+ "function_name": "get_current_weather"
65
+ "parameters": {
66
+ "location": "Miami"
67
+ }
68
+ }
69
+
70
+ </function>
71
+
72
+ Reminder:
73
+ - Function calls MUST follow the specified format, start with <function> and end with </function>
74
+ - Required parameters MUST be specified
75
+ - Only call one function at a time
76
+ - Put the entire function call reply on one line
77
+ - If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls
78
+ `;
79
+ const systemMessageRegex = /(<\|start_header_id\|>system<\|end_header_id\|>\n+)([\s\S]*?)(<\|eot_id\|>)/;
80
+ let updatedMessages = messages;
81
+ const match = messages.match(systemMessageRegex);
82
+ if (match) {
83
+ updatedMessages = messages.replace(systemMessageRegex,
84
+ // @ts-ignore: Ignore the any type in the msg
85
+ (_, start, systemMessage, end) => `${start}${systemMessage}\n${toolPrompt}${end}`);
86
+ }
87
+ else {
88
+ console.error("Regex did not match the expected structure. Please verify the messages content.");
89
+ }
90
+ const body = JSON.stringify({
91
+ prompt: updatedMessages,
92
+ max_gen_len: max_tokens || 100,
93
+ temperature: temperature || 0.7,
94
+ top_p: 0.9,
95
+ });
96
+ const command = new client_bedrock_runtime_1.InvokeModelWithResponseStreamCommand({
97
+ modelId: model,
98
+ body,
99
+ contentType: "application/json",
100
+ });
101
+ try {
102
+ const response = await this.bedrock.send(command);
103
+ if (response.body) {
104
+ const decoder = new TextDecoder("utf-8");
105
+ for await (const payload of response.body) {
106
+ const decodedString = decoder.decode((_a = payload.chunk) === null || _a === void 0 ? void 0 : _a.bytes, {
107
+ stream: true,
108
+ });
109
+ try {
110
+ const jsonObject = JSON.parse(decodedString);
111
+ yield jsonObject;
112
+ }
113
+ catch (error) {
114
+ throw new Error("Failed to parse the streaming response.");
115
+ }
116
+ }
117
+ }
118
+ }
119
+ catch (error) {
120
+ console.error("Error invoking the Llama model with stream:", error);
121
+ throw error;
122
+ }
123
+ }
124
+ }
125
+ exports.default = AwsBedrockLlama3Service;
126
+ //# sourceMappingURL=AwsBedrockLlama3Service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsBedrockLlama3Service.js","sourceRoot":"","sources":["../../src/services/AwsBedrockLlama3Service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export declare enum Providers {
2
2
  OPENAI = "OpenAI",
3
3
  ANTHROPIC_BEDROCK = "AnthropicBedrock",
4
- COHERE_BEDROCK = "CohereBedrock"
4
+ LLAMA_3_1_BEDROCK = "Llama3.1"
5
5
  }
6
6
  export type OpenAIMessagesRoles = "system" | "user" | "assistant" | "tool" | "function";
7
7
  export interface OpenAIStreamResponse {
@@ -144,15 +144,18 @@ export interface OpenAIResponse {
144
144
  system_fingerprint: string;
145
145
  }
146
146
  export declare enum BedrockAnthropicSupportedLLMs {
147
- CLAUDE_3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0",
148
- CLAUDE_3_5_SONNET_V_1 = "anthropic.claude-3-5-sonnet-20240620-v1:0",
149
- CLAUDE_3_5_SONNET_V_2 = "anthropic.claude-3-5-sonnet-20241022-v2:0",
150
147
  CLAUDE_3_OPUS = "anthropic.claude-3-opus-20240229-v1:0",
151
- CLAUDE_V_2_1 = "anthropic.claude-v2:1",
152
- CLAUDE_V_2 = "anthropic.claude-v2\t",
148
+ CLAUDE_3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0",
153
149
  CLAUDE_3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0",
150
+ CLAUDE_3_5_SONNET_V1 = "anthropic.claude-3-5-sonnet-20240620-v1:0",
151
+ CLAUDE_3_5_SONNET_V2 = "anthropic.claude-3-5-sonnet-20241022-v2:0",
154
152
  CLAUDE_3_5_HAIKU = "anthropic.claude-3-5-haiku-20241022-v1:0",
155
- CLAUDE_INSTANT = "anthropic.claude-instant-v1"
153
+ CLAUDE_V2_1 = "anthropic.claude-v2:1",
154
+ CLAUDE_V2 = "anthropic.claude-v2",
155
+ CLAUDE_INSTANT_V1 = "anthropic.claude-instant-v1",
156
+ US_CLAUDE_3_HAIKU = "us.anthropic.claude-3-haiku-20240307-v1:0",
157
+ US_CLAUDE_3_5_HAIKU = "us.anthropic.claude-3-5-haiku-20241022-v1:0",
158
+ US_CLAUDE_3_5_SONNET = "us.anthropic.claude-3-5-sonnet-20240620-v1:0"
156
159
  }
157
160
  export declare enum BedrockAnthropicContentType {
158
161
  TEXT = "text",
@@ -245,6 +248,11 @@ export type BedrockAnthropicParsedChunk = {
245
248
  delta?: BedrockAnthropicContentBlock;
246
249
  "amazon-bedrock-invocationMetrics"?: BedrockAnthropicMetrics;
247
250
  };
251
+ export declare enum Llama3_1SupportedLLMs {
252
+ LLAMA_3_1_8B = "meta.llama3-1-8b-instruct-v1:0",
253
+ LLAMA_3_1_70B_2 = "meta.llama3-1-70b-instruct-v1:0",
254
+ LLAMA_3_1_405B = "meta.llama3-1-405b-instruct-v1:0"
255
+ }
248
256
  export type Messages = OpenAIMessages | BedrockAnthropicMessages;
249
257
  export type LLMResponse = OpenAIResponse | BedrockAnthropicResponse;
250
258
  export {};
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BedrockAnthropicContentType = exports.BedrockAnthropicSupportedLLMs = exports.OpenAISupportedLLMs = exports.Providers = void 0;
3
+ exports.Llama3_1SupportedLLMs = exports.BedrockAnthropicContentType = exports.BedrockAnthropicSupportedLLMs = exports.OpenAISupportedLLMs = exports.Providers = void 0;
4
4
  // GENERAL
5
5
  var Providers;
6
6
  (function (Providers) {
7
7
  Providers["OPENAI"] = "OpenAI";
8
8
  Providers["ANTHROPIC_BEDROCK"] = "AnthropicBedrock";
9
- Providers["COHERE_BEDROCK"] = "CohereBedrock";
9
+ Providers["LLAMA_3_1_BEDROCK"] = "Llama3.1";
10
10
  })(Providers || (exports.Providers = Providers = {}));
11
11
  var OpenAISupportedLLMs;
12
12
  (function (OpenAISupportedLLMs) {
@@ -50,15 +50,22 @@ var OpenAISupportedLLMs;
50
50
  // https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html
51
51
  var BedrockAnthropicSupportedLLMs;
52
52
  (function (BedrockAnthropicSupportedLLMs) {
53
- BedrockAnthropicSupportedLLMs["CLAUDE_3_SONNET"] = "anthropic.claude-3-sonnet-20240229-v1:0";
54
- BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V_1"] = "anthropic.claude-3-5-sonnet-20240620-v1:0";
55
- BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V_2"] = "anthropic.claude-3-5-sonnet-20241022-v2:0";
53
+ // Claude 3 Family
56
54
  BedrockAnthropicSupportedLLMs["CLAUDE_3_OPUS"] = "anthropic.claude-3-opus-20240229-v1:0";
57
- BedrockAnthropicSupportedLLMs["CLAUDE_V_2_1"] = "anthropic.claude-v2:1";
58
- BedrockAnthropicSupportedLLMs["CLAUDE_V_2"] = "anthropic.claude-v2\t";
55
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_SONNET"] = "anthropic.claude-3-sonnet-20240229-v1:0";
59
56
  BedrockAnthropicSupportedLLMs["CLAUDE_3_HAIKU"] = "anthropic.claude-3-haiku-20240307-v1:0";
57
+ // Claude 3.5 Family
58
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V1"] = "anthropic.claude-3-5-sonnet-20240620-v1:0";
59
+ BedrockAnthropicSupportedLLMs["CLAUDE_3_5_SONNET_V2"] = "anthropic.claude-3-5-sonnet-20241022-v2:0";
60
60
  BedrockAnthropicSupportedLLMs["CLAUDE_3_5_HAIKU"] = "anthropic.claude-3-5-haiku-20241022-v1:0";
61
- BedrockAnthropicSupportedLLMs["CLAUDE_INSTANT"] = "anthropic.claude-instant-v1";
61
+ // Claude 2 Family
62
+ BedrockAnthropicSupportedLLMs["CLAUDE_V2_1"] = "anthropic.claude-v2:1";
63
+ BedrockAnthropicSupportedLLMs["CLAUDE_V2"] = "anthropic.claude-v2";
64
+ BedrockAnthropicSupportedLLMs["CLAUDE_INSTANT_V1"] = "anthropic.claude-instant-v1";
65
+ // US Region Specific
66
+ BedrockAnthropicSupportedLLMs["US_CLAUDE_3_HAIKU"] = "us.anthropic.claude-3-haiku-20240307-v1:0";
67
+ BedrockAnthropicSupportedLLMs["US_CLAUDE_3_5_HAIKU"] = "us.anthropic.claude-3-5-haiku-20241022-v1:0";
68
+ BedrockAnthropicSupportedLLMs["US_CLAUDE_3_5_SONNET"] = "us.anthropic.claude-3-5-sonnet-20240620-v1:0";
62
69
  })(BedrockAnthropicSupportedLLMs || (exports.BedrockAnthropicSupportedLLMs = BedrockAnthropicSupportedLLMs = {}));
63
70
  var BedrockAnthropicContentType;
64
71
  (function (BedrockAnthropicContentType) {
@@ -67,4 +74,11 @@ var BedrockAnthropicContentType;
67
74
  BedrockAnthropicContentType["TOOL_USE"] = "tool_use";
68
75
  BedrockAnthropicContentType["TOOL_RESULT"] = "tool_result";
69
76
  })(BedrockAnthropicContentType || (exports.BedrockAnthropicContentType = BedrockAnthropicContentType = {}));
77
+ // LLAMA 3.1
78
+ var Llama3_1SupportedLLMs;
79
+ (function (Llama3_1SupportedLLMs) {
80
+ Llama3_1SupportedLLMs["LLAMA_3_1_8B"] = "meta.llama3-1-8b-instruct-v1:0";
81
+ Llama3_1SupportedLLMs["LLAMA_3_1_70B_2"] = "meta.llama3-1-70b-instruct-v1:0";
82
+ Llama3_1SupportedLLMs["LLAMA_3_1_405B"] = "meta.llama3-1-405b-instruct-v1:0";
83
+ })(Llama3_1SupportedLLMs || (exports.Llama3_1SupportedLLMs = Llama3_1SupportedLLMs = {}));
70
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,6CAAgC,CAAA;AAClC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AA8ED,IAAY,mBAmCX;AAnCD,WAAY,mBAAmB;IAC7B,2DAAoC,CAAA;IACpC,yCAAkB,CAAA;IAClB,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,2EAAoD,CAAA;IACpD,iGAA0E,CAAA;IAC1E,qEAA8C,CAAA;IAC9C,2FAAoE,CAAA;IACpE,mDAA4B,CAAA;IAC5B,yEAAkD,CAAA;IAClD,gDAAyB,CAAA;IACzB,sEAA+C,CAAA;IAC/C,0CAAmB,CAAA;IACnB,gEAAyC,CAAA;IACzC,kDAA2B,CAAA;IAC3B,wEAAiD,CAAA;IACjD,kEAA2C,CAAA;IAC3C,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,oEAA6C,CAAA;IAC7C,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;IACvB,wDAAiC,CAAA;IACjC,wDAAiC,CAAA;IACjC,sDAA+B,CAAA;IAC/B,8DAAuC,CAAA;IACvC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,wEAAiD,CAAA;AACnD,CAAC,EAnCW,mBAAmB,mCAAnB,mBAAmB,QAmC9B;AA6CD,cAAc;AAEd,wBAAwB;AAExB,6EAA6E;AAC7E,IAAY,6BAUX;AAVD,WAAY,6BAA6B;IACvC,4FAA2D,CAAA;IAC3D,oGAAmE,CAAA;IACnE,oGAAmE,CAAA;IACnE,wFAAuD,CAAA;IACvD,uEAAsC,CAAA;IACtC,qEAAmC,CAAA;IACnC,0FAAyD,CAAA;IACzD,8FAA6D,CAAA;IAC7D,+EAA8C,CAAA;AAChD,CAAC,EAVW,6BAA6B,6CAA7B,6BAA6B,QAUxC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;IACf,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,mDAAsC,CAAA;IACtC,2CAA8B,CAAA;AAChC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AA8ED,IAAY,mBAmCX;AAnCD,WAAY,mBAAmB;IAC7B,2DAAoC,CAAA;IACpC,yCAAkB,CAAA;IAClB,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,+DAAwC,CAAA;IACxC,2EAAoD,CAAA;IACpD,iGAA0E,CAAA;IAC1E,qEAA8C,CAAA;IAC9C,2FAAoE,CAAA;IACpE,mDAA4B,CAAA;IAC5B,yEAAkD,CAAA;IAClD,gDAAyB,CAAA;IACzB,sEAA+C,CAAA;IAC/C,0CAAmB,CAAA;IACnB,gEAAyC,CAAA;IACzC,kDAA2B,CAAA;IAC3B,wEAAiD,CAAA;IACjD,kEAA2C,CAAA;IAC3C,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,oEAA6C,CAAA;IAC7C,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;IACvB,wDAAiC,CAAA;IACjC,wDAAiC,CAAA;IACjC,sDAA+B,CAAA;IAC/B,8DAAuC,CAAA;IACvC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,gEAAyC,CAAA;IACzC,wEAAiD,CAAA;AACnD,CAAC,EAnCW,mBAAmB,mCAAnB,mBAAmB,QAmC9B;AA6CD,cAAc;AAEd,wBAAwB;AAExB,6EAA6E;AAC7E,IAAY,6BAoBX;AApBD,WAAY,6BAA6B;IACvC,kBAAkB;IAClB,wFAAuD,CAAA;IACvD,4FAA2D,CAAA;IAC3D,0FAAyD,CAAA;IAEzD,oBAAoB;IACpB,mGAAkE,CAAA;IAClE,mGAAkE,CAAA;IAClE,8FAA6D,CAAA;IAE7D,kBAAkB;IAClB,sEAAqC,CAAA;IACrC,kEAAiC,CAAA;IACjC,kFAAiD,CAAA;IAEjD,qBAAqB;IACrB,gGAA+D,CAAA;IAC/D,oGAAmE,CAAA;IACnE,sGAAqE,CAAA;AACvE,CAAC,EApBW,6BAA6B,6CAA7B,6BAA6B,QAoBxC;AAED,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,8CAAe,CAAA;IACf,oDAAqB,CAAA;IACrB,0DAA2B,CAAA;AAC7B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AA0GD,YAAY;AAEZ,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,wEAA+C,CAAA;IAC/C,4EAAmD,CAAA;IACnD,4EAAmD,CAAA;AACrD,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
@@ -0,0 +1,3 @@
1
+ import { OpenAIMessages } from "llm-proxy";
2
+ declare const openaiToLlamaMessage: (openaiMessages: OpenAIMessages) => string;
3
+ export default openaiToLlamaMessage;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const openaiToLlamaMessage = (openaiMessages) => {
4
+ let llamaPrompt = "<|begin_of_text|>";
5
+ // Explicitly type updatedMessages as an array of OpenAIMessage
6
+ const updatedMessages = [];
7
+ openaiMessages.forEach((msg) => {
8
+ const { role, content } = msg;
9
+ if (role === "function") {
10
+ // Add a user message with empty content
11
+ updatedMessages.push({ role: "user", content: "" });
12
+ // Add an assistant message with the content of the function message
13
+ updatedMessages.push({ role: "assistant", content });
14
+ }
15
+ else {
16
+ // Add the original message for other roles
17
+ updatedMessages.push(msg);
18
+ }
19
+ });
20
+ updatedMessages.forEach((msg) => {
21
+ const { role, content } = msg;
22
+ const validRoles = ["system", "user", "assistant"];
23
+ if (!validRoles.includes(role)) {
24
+ throw new Error(`Invalid role: ${role}`);
25
+ }
26
+ llamaPrompt += `\n<|start_header_id|>${role}<|end_header_id|>\n${content}\n<|eot_id|>`;
27
+ });
28
+ const lastMessage = updatedMessages[updatedMessages.length - 1];
29
+ if ((lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.role) === "user") {
30
+ llamaPrompt += `\n<|start_header_id|>assistant<|end_header_id|>`;
31
+ }
32
+ return llamaPrompt;
33
+ };
34
+ exports.default = openaiToLlamaMessage;
35
+ //# sourceMappingURL=openAIToLlamaMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openAIToLlamaMessage.js","sourceRoot":"","sources":["../../../src/utils/inputFormatAdapterUtils/openAIToLlamaMessage.ts"],"names":[],"mappings":";;AAEA,MAAM,oBAAoB,GAAG,CAAC,cAA8B,EAAU,EAAE;IACtE,IAAI,WAAW,GAAG,mBAAmB,CAAC;IAEtC,+DAA+D;IAC/D,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE9B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,wCAAwC;YACxC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAEpD,oEAAoE;YACpE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAE9B,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,WAAW,IAAI,wBAAwB,IAAI,sBAAsB,OAAO,cAAc,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QACjC,WAAW,IAAI,iDAAiD,CAAC;IACnE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,28 @@
1
+ declare function convertLlamaToOpenAINonStream(chunk: any): {
2
+ id: any;
3
+ object: string;
4
+ created: number;
5
+ model: string;
6
+ choices: {
7
+ index: number;
8
+ message: {
9
+ role: string;
10
+ content: any;
11
+ };
12
+ logprobs: null;
13
+ finish_reason: any;
14
+ }[];
15
+ usage: {
16
+ prompt_tokens: any;
17
+ completion_tokens: any;
18
+ total_tokens: any;
19
+ prompt_tokens_details: {
20
+ cached_tokens: number;
21
+ };
22
+ completion_tokens_details: {
23
+ reasoning_tokens: number;
24
+ };
25
+ };
26
+ system_fingerprint: any;
27
+ };
28
+ export default convertLlamaToOpenAINonStream;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-ignore: Ignore the any type in the msg
4
+ function convertLlamaToOpenAINonStream(chunk) {
5
+ return {
6
+ id: chunk.id || "default_id",
7
+ object: "text_completion",
8
+ created: Date.now(),
9
+ model: "aws-bedrock-llama",
10
+ choices: [
11
+ {
12
+ index: 0,
13
+ message: {
14
+ role: "assistant", // Default role since it's not provided in the input
15
+ content: chunk.generation.trim(), // Extract content from 'generation'
16
+ },
17
+ logprobs: null,
18
+ finish_reason: chunk.stop_reason || null, // Use stop reason from input if available
19
+ },
20
+ ],
21
+ usage: {
22
+ prompt_tokens: chunk.prompt_token_count || 0, // Extract prompt tokens
23
+ completion_tokens: chunk.generation_token_count || 0, // Extract generation tokens
24
+ total_tokens: (chunk.prompt_token_count || 0) + (chunk.generation_token_count || 0), // Calculate total tokens
25
+ prompt_tokens_details: { cached_tokens: 0 }, // Placeholder details
26
+ completion_tokens_details: { reasoning_tokens: 0 }, // Placeholder details
27
+ },
28
+ system_fingerprint: chunk.system_fingerprint || "default_fingerprint", // Default fingerprint if not provided
29
+ };
30
+ }
31
+ exports.default = convertLlamaToOpenAINonStream;
32
+ //# sourceMappingURL=convertLlamaToOpenAINonStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLlamaToOpenAINonStream.js","sourceRoot":"","sources":["../../../src/utils/outputFormatAdapterUtils/convertLlamaToOpenAINonStream.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAC7C,SAAS,6BAA6B,CAAC,KAAK;IAC1C,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,YAAY;QAC5B,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;QACnB,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW,EAAE,oDAAoD;oBACvE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,oCAAoC;iBACvE;gBACD,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,0CAA0C;aACrF;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,KAAK,CAAC,kBAAkB,IAAI,CAAC,EAAE,wBAAwB;YACtE,iBAAiB,EAAE,KAAK,CAAC,sBAAsB,IAAI,CAAC,EAAE,4BAA4B;YAClF,YAAY,EACV,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC,EAAE,yBAAyB;YAClG,qBAAqB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,sBAAsB;YACnE,yBAAyB,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,sBAAsB;SAC3E;QACD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,qBAAqB,EAAE,sCAAsC;KAC9G,CAAC;AACJ,CAAC;AAED,kBAAe,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function convertLlamaToOpenAIStream(chunk: any): any;
2
+ export default convertLlamaToOpenAIStream;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function convertLlamaToOpenAIStream(chunk) {
4
+ var _a;
5
+ const isStop = chunk.stop_reason !== null;
6
+ return {
7
+ id: chunk.id, // Use input chunk's ID
8
+ object: "chat.completion.chunk",
9
+ created: chunk.created || Math.floor(Date.now() / 1000),
10
+ model: "aws-bedrock-llama",
11
+ choices: [
12
+ {
13
+ index: 0,
14
+ delta: {
15
+ content: chunk.generation || ((_a = chunk.delta) === null || _a === void 0 ? void 0 : _a.content) || "",
16
+ },
17
+ logprobs: null,
18
+ finish_reason: isStop ? "stop" : null,
19
+ },
20
+ ],
21
+ logprobs: null,
22
+ finish_reason: chunk.stop_reason,
23
+ usage: isStop
24
+ ? {
25
+ prompt_tokens: chunk.prompt_token_count,
26
+ completion_tokens: chunk.generation_token_count,
27
+ total_tokens: chunk.prompt_token_count + chunk.generation_token_count,
28
+ prompt_tokens_details: { cached_tokens: 0, audio_tokens: 0 },
29
+ completion_tokens_details: {
30
+ reasoning_tokens: 0,
31
+ audio_tokens: 0,
32
+ accepted_prediction_tokens: 0,
33
+ rejected_prediction_tokens: 0,
34
+ },
35
+ }
36
+ : null,
37
+ };
38
+ }
39
+ exports.default = convertLlamaToOpenAIStream;
40
+ //# sourceMappingURL=convertLlamaToOpenAIStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLlamaToOpenAIStream.js","sourceRoot":"","sources":["../../../src/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStream.ts"],"names":[],"mappings":";;AAAA,SAAS,0BAA0B,CAAC,KAAU;;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC1C,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,uBAAuB;QACrC,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACvD,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK,CAAC,UAAU,KAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,OAAO,CAAA,IAAI,EAAE;iBACxD;gBACD,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;aACtC;SACF;QACD,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,KAAK,CAAC,WAAW;QAChC,KAAK,EAAE,MAAM;YACX,CAAC,CAAC;gBACE,aAAa,EAAE,KAAK,CAAC,kBAAkB;gBACvC,iBAAiB,EAAE,KAAK,CAAC,sBAAsB;gBAC/C,YAAY,EAAE,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,sBAAsB;gBACrE,qBAAqB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;gBAC5D,yBAAyB,EAAE;oBACzB,gBAAgB,EAAE,CAAC;oBACnB,YAAY,EAAE,CAAC;oBACf,0BAA0B,EAAE,CAAC;oBAC7B,0BAA0B,EAAE,CAAC;iBAC9B;aACF;YACH,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
@@ -0,0 +1,23 @@
1
+ declare function convertLlamaToOpenAIStreamToolCall(chunk: any): {
2
+ id: string;
3
+ object: string;
4
+ created: number;
5
+ model: string;
6
+ system_fingerprint: null;
7
+ choices: {
8
+ index: number;
9
+ delta: {
10
+ role: string;
11
+ content: null;
12
+ function_call: {
13
+ name: any;
14
+ arguments: string;
15
+ };
16
+ refusal: null;
17
+ };
18
+ logprobs: null;
19
+ finish_reason: any;
20
+ }[];
21
+ usage: null;
22
+ };
23
+ export default convertLlamaToOpenAIStreamToolCall;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-ignore: Ignore the any type in the msg
4
+ function convertLlamaToOpenAIStreamToolCall(chunk) {
5
+ // @ts-ignore: Ignore the any type in the msg
6
+ function parseFunctionCall(generation) {
7
+ const functionCallRegex = /<function>\s*\{\s*"function_name":\s*"([^"]+)",\s*"parameters":\s*(\{\s*\})?\s*\}<\/function>/;
8
+ const match = generation.match(functionCallRegex);
9
+ if (match) {
10
+ const functionCall = {
11
+ name: match[1],
12
+ arguments: match[2] ? JSON.stringify(JSON.parse(match[2])) : "{}",
13
+ };
14
+ return functionCall;
15
+ }
16
+ return null;
17
+ }
18
+ const functionCall = parseFunctionCall(chunk.generation);
19
+ return {
20
+ id: `stream-${Date.now()}`,
21
+ object: "chat.completion.chunk",
22
+ created: Math.floor(Date.now() / 1000),
23
+ model: "aws-bedrock-llama3x",
24
+ system_fingerprint: null,
25
+ choices: [
26
+ {
27
+ index: 0,
28
+ delta: {
29
+ role: "assistant",
30
+ content: null,
31
+ function_call: functionCall || { name: null, arguments: "{}" }, // Default empty arguments
32
+ refusal: null,
33
+ },
34
+ logprobs: null,
35
+ finish_reason: chunk.stop_reason || null,
36
+ },
37
+ ],
38
+ usage: null,
39
+ };
40
+ }
41
+ exports.default = convertLlamaToOpenAIStreamToolCall;
42
+ //# sourceMappingURL=convertLlamaToOpenAIStreamToolCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLlamaToOpenAIStreamToolCall.js","sourceRoot":"","sources":["../../../src/utils/outputFormatAdapterUtils/convertLlamaToOpenAIStreamToolCall.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAC7C,SAAS,kCAAkC,CAAC,KAAK;IAC/C,6CAA6C;IAC7C,SAAS,iBAAiB,CAAC,UAAU;QACnC,MAAM,iBAAiB,GACrB,+FAA+F,CAAC;QAClG,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aAClE,CAAC;YACF,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzD,OAAO;QACL,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,qBAAqB;QAC5B,kBAAkB,EAAE,IAAI;QACxB,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,YAAY,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,0BAA0B;oBAC1F,OAAO,EAAE,IAAI;iBACd;gBACD,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;aACzC;SACF;QACD,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAED,kBAAe,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-proxy",
3
- "version": "1.4.18",
3
+ "version": "1.5.0",
4
4
  "description": "An LLM Proxy that allows the user to interact with different language models from different providers using unified request and response formats.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",