llm-proxy 1.7.2 → 1.8.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.
package/dist/index.js CHANGED
@@ -140,6 +140,15 @@ async function generateLLMStreamResponse(params) {
140
140
  });
141
141
  // Step 4: Create and return the async generator
142
142
  async function* streamGenerator() {
143
+ const isOpenAIFormat = provider === types_1.Providers.OPENAI ||
144
+ provider === types_1.Providers.OPENAI_COMPATIBLE_PROVIDER;
145
+ if (isOpenAIFormat) {
146
+ for await (const chunk of stream) {
147
+ yield chunk;
148
+ }
149
+ return;
150
+ }
151
+ // Buffering logic for Bedrock providers
143
152
  const buffer = []; // Buffer to hold the first three chunks
144
153
  let isFunctionCall = false;
145
154
  const accumulatedChunks = []; // Accumulate chunks for function calls
@@ -161,14 +170,12 @@ async function generateLLMStreamResponse(params) {
161
170
  }
162
171
  else {
163
172
  // Yield the first chunk
164
- yield provider === types_1.Providers.OPENAI
165
- ? first
166
- : (await OutputFormatAdapter_1.default.adaptResponse({
167
- response: first,
168
- provider,
169
- isStream: true,
170
- isFunctionCall: false,
171
- }));
173
+ yield (await OutputFormatAdapter_1.default.adaptResponse({
174
+ response: first,
175
+ provider,
176
+ isStream: true,
177
+ isFunctionCall: false,
178
+ }));
172
179
  buffer.shift(); // Remove the first chunk from the buffer
173
180
  }
174
181
  }
@@ -184,27 +191,23 @@ async function generateLLMStreamResponse(params) {
184
191
  acc.generation += cur.generation;
185
192
  return acc;
186
193
  });
187
- const response = provider === types_1.Providers.OPENAI
188
- ? { ...fullResponse, isFunctionCall: true }
189
- : (await OutputFormatAdapter_1.default.adaptResponse({
190
- response: fullResponse,
191
- provider,
192
- isStream: false,
193
- isFunctionCall: true,
194
- }));
194
+ const response = (await OutputFormatAdapter_1.default.adaptResponse({
195
+ response: fullResponse,
196
+ provider,
197
+ isStream: false,
198
+ isFunctionCall: true,
199
+ }));
195
200
  yield response;
196
201
  }
197
202
  else {
198
203
  // Handle any remaining chunks in the buffer for non-function calls
199
204
  while (buffer.length > 0) {
200
205
  const chunk = buffer.shift();
201
- const response = provider === types_1.Providers.OPENAI
202
- ? chunk
203
- : (await OutputFormatAdapter_1.default.adaptResponse({
204
- response: chunk,
205
- provider,
206
- isStream: true,
207
- }));
206
+ const response = (await OutputFormatAdapter_1.default.adaptResponse({
207
+ response: chunk,
208
+ provider,
209
+ isStream: true,
210
+ }));
208
211
  yield response;
209
212
  }
210
213
  }
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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"}
@@ -4,6 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const openai_1 = __importDefault(require("openai"));
7
+ function normalizeTools(tools) {
8
+ if (!Array.isArray(tools))
9
+ return undefined;
10
+ return tools.map((tool) => {
11
+ // Already correct
12
+ if ((tool === null || tool === void 0 ? void 0 : tool.type) === "function" && tool.function) {
13
+ return tool;
14
+ }
15
+ // Needs reformatting
16
+ if ((tool === null || tool === void 0 ? void 0 : tool.type) === "function" && tool.name && tool.parameters) {
17
+ return {
18
+ type: "function",
19
+ function: {
20
+ name: tool.name,
21
+ description: tool.description,
22
+ parameters: tool.parameters,
23
+ },
24
+ };
25
+ }
26
+ // Unknown / unsupported tool shape
27
+ throw new Error(`Invalid tool definition encountered: ${JSON.stringify(tool, null, 2)}`);
28
+ });
29
+ }
7
30
  class OpenAICompatibleService {
8
31
  constructor(apiKey, baseUrl) {
9
32
  this.openai = new openai_1.default({
@@ -31,15 +54,16 @@ class OpenAICompatibleService {
31
54
  }
32
55
  async *generateStreamCompletion({ messages, model, max_tokens, temperature, tools, }) {
33
56
  if (!model) {
34
- return Promise.reject(new Error("Model ID is required for OpenAIService."));
57
+ throw new Error("Model ID is required for OpenAIService.");
35
58
  }
59
+ const normalizedTools = normalizeTools(tools);
36
60
  try {
37
61
  const stream = await this.openai.chat.completions.create({
38
62
  model,
39
63
  messages,
40
64
  max_tokens,
41
65
  temperature,
42
- functions: tools,
66
+ ...(normalizedTools && { tools: normalizedTools }),
43
67
  stream: true,
44
68
  stream_options: {
45
69
  include_usage: true,
@@ -50,7 +74,7 @@ class OpenAICompatibleService {
50
74
  }
51
75
  }
52
76
  catch (error) {
53
- return Promise.reject(error);
77
+ throw error;
54
78
  }
55
79
  }
56
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAI5B,MAAqB,uBAAuB;IAG1C,YAAY,MAAc,EAAE,OAAgB;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC;YACvB,MAAM;YACN,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GAQN;QACC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACzD,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,OAAO,QAA0B,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,wBAAwB,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,GAQN;QACC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,yCAAyC,CAAC,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE;oBACd,aAAa,EAAE,IAAI;iBACpB;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AApFD,0CAoFC"}
1
+ {"version":3,"file":"OpenAICompatibleService.js","sourceRoot":"","sources":["../../src/services/OpenAICompatibleService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-proxy",
3
- "version": "1.7.2",
3
+ "version": "1.8.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",