@llumiverse/drivers 0.24.0 → 1.0.0-dev.20260202.145450Z

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 (227) hide show
  1. package/package.json +3 -3
  2. package/src/bedrock/index.ts +109 -2
  3. package/src/vertexai/index.ts +37 -18
  4. package/src/vertexai/models/claude.ts +146 -2
  5. package/lib/cjs/adobe/firefly.js +0 -120
  6. package/lib/cjs/adobe/firefly.js.map +0 -1
  7. package/lib/cjs/azure/azure_foundry.js +0 -432
  8. package/lib/cjs/azure/azure_foundry.js.map +0 -1
  9. package/lib/cjs/bedrock/converse.js +0 -285
  10. package/lib/cjs/bedrock/converse.js.map +0 -1
  11. package/lib/cjs/bedrock/index.js +0 -1091
  12. package/lib/cjs/bedrock/index.js.map +0 -1
  13. package/lib/cjs/bedrock/nova-image-payload.js +0 -207
  14. package/lib/cjs/bedrock/nova-image-payload.js.map +0 -1
  15. package/lib/cjs/bedrock/payloads.js +0 -3
  16. package/lib/cjs/bedrock/payloads.js.map +0 -1
  17. package/lib/cjs/bedrock/s3.js +0 -107
  18. package/lib/cjs/bedrock/s3.js.map +0 -1
  19. package/lib/cjs/bedrock/twelvelabs.js +0 -87
  20. package/lib/cjs/bedrock/twelvelabs.js.map +0 -1
  21. package/lib/cjs/groq/index.js +0 -323
  22. package/lib/cjs/groq/index.js.map +0 -1
  23. package/lib/cjs/huggingface_ie.js +0 -201
  24. package/lib/cjs/huggingface_ie.js.map +0 -1
  25. package/lib/cjs/index.js +0 -31
  26. package/lib/cjs/index.js.map +0 -1
  27. package/lib/cjs/mistral/index.js +0 -173
  28. package/lib/cjs/mistral/index.js.map +0 -1
  29. package/lib/cjs/mistral/types.js +0 -83
  30. package/lib/cjs/mistral/types.js.map +0 -1
  31. package/lib/cjs/openai/azure_openai.js +0 -72
  32. package/lib/cjs/openai/azure_openai.js.map +0 -1
  33. package/lib/cjs/openai/index.js +0 -665
  34. package/lib/cjs/openai/index.js.map +0 -1
  35. package/lib/cjs/openai/openai.js +0 -21
  36. package/lib/cjs/openai/openai.js.map +0 -1
  37. package/lib/cjs/openai/openai_compatible.js +0 -62
  38. package/lib/cjs/openai/openai_compatible.js.map +0 -1
  39. package/lib/cjs/openai/openai_format.js +0 -131
  40. package/lib/cjs/openai/openai_format.js.map +0 -1
  41. package/lib/cjs/package.json +0 -3
  42. package/lib/cjs/replicate.js +0 -275
  43. package/lib/cjs/replicate.js.map +0 -1
  44. package/lib/cjs/test-driver/TestErrorCompletionStream.js +0 -20
  45. package/lib/cjs/test-driver/TestErrorCompletionStream.js.map +0 -1
  46. package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js +0 -24
  47. package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
  48. package/lib/cjs/test-driver/index.js +0 -109
  49. package/lib/cjs/test-driver/index.js.map +0 -1
  50. package/lib/cjs/test-driver/utils.js +0 -30
  51. package/lib/cjs/test-driver/utils.js.map +0 -1
  52. package/lib/cjs/togetherai/index.js +0 -126
  53. package/lib/cjs/togetherai/index.js.map +0 -1
  54. package/lib/cjs/togetherai/interfaces.js +0 -3
  55. package/lib/cjs/togetherai/interfaces.js.map +0 -1
  56. package/lib/cjs/vertexai/debug.js +0 -12
  57. package/lib/cjs/vertexai/debug.js.map +0 -1
  58. package/lib/cjs/vertexai/embeddings/embeddings-image.js +0 -27
  59. package/lib/cjs/vertexai/embeddings/embeddings-image.js.map +0 -1
  60. package/lib/cjs/vertexai/embeddings/embeddings-text.js +0 -23
  61. package/lib/cjs/vertexai/embeddings/embeddings-text.js.map +0 -1
  62. package/lib/cjs/vertexai/index.js +0 -576
  63. package/lib/cjs/vertexai/index.js.map +0 -1
  64. package/lib/cjs/vertexai/models/claude.js +0 -485
  65. package/lib/cjs/vertexai/models/claude.js.map +0 -1
  66. package/lib/cjs/vertexai/models/gemini.js +0 -871
  67. package/lib/cjs/vertexai/models/gemini.js.map +0 -1
  68. package/lib/cjs/vertexai/models/imagen.js +0 -303
  69. package/lib/cjs/vertexai/models/imagen.js.map +0 -1
  70. package/lib/cjs/vertexai/models/llama.js +0 -183
  71. package/lib/cjs/vertexai/models/llama.js.map +0 -1
  72. package/lib/cjs/vertexai/models.js +0 -35
  73. package/lib/cjs/vertexai/models.js.map +0 -1
  74. package/lib/cjs/watsonx/index.js +0 -161
  75. package/lib/cjs/watsonx/index.js.map +0 -1
  76. package/lib/cjs/watsonx/interfaces.js +0 -3
  77. package/lib/cjs/watsonx/interfaces.js.map +0 -1
  78. package/lib/cjs/xai/index.js +0 -65
  79. package/lib/cjs/xai/index.js.map +0 -1
  80. package/lib/esm/adobe/firefly.js +0 -116
  81. package/lib/esm/adobe/firefly.js.map +0 -1
  82. package/lib/esm/azure/azure_foundry.js +0 -426
  83. package/lib/esm/azure/azure_foundry.js.map +0 -1
  84. package/lib/esm/bedrock/converse.js +0 -278
  85. package/lib/esm/bedrock/converse.js.map +0 -1
  86. package/lib/esm/bedrock/index.js +0 -1087
  87. package/lib/esm/bedrock/index.js.map +0 -1
  88. package/lib/esm/bedrock/nova-image-payload.js +0 -203
  89. package/lib/esm/bedrock/nova-image-payload.js.map +0 -1
  90. package/lib/esm/bedrock/payloads.js +0 -2
  91. package/lib/esm/bedrock/payloads.js.map +0 -1
  92. package/lib/esm/bedrock/s3.js +0 -99
  93. package/lib/esm/bedrock/s3.js.map +0 -1
  94. package/lib/esm/bedrock/twelvelabs.js +0 -84
  95. package/lib/esm/bedrock/twelvelabs.js.map +0 -1
  96. package/lib/esm/groq/index.js +0 -316
  97. package/lib/esm/groq/index.js.map +0 -1
  98. package/lib/esm/huggingface_ie.js +0 -197
  99. package/lib/esm/huggingface_ie.js.map +0 -1
  100. package/lib/esm/index.js +0 -15
  101. package/lib/esm/index.js.map +0 -1
  102. package/lib/esm/mistral/index.js +0 -169
  103. package/lib/esm/mistral/index.js.map +0 -1
  104. package/lib/esm/mistral/types.js +0 -80
  105. package/lib/esm/mistral/types.js.map +0 -1
  106. package/lib/esm/openai/azure_openai.js +0 -68
  107. package/lib/esm/openai/azure_openai.js.map +0 -1
  108. package/lib/esm/openai/index.js +0 -660
  109. package/lib/esm/openai/index.js.map +0 -1
  110. package/lib/esm/openai/openai.js +0 -14
  111. package/lib/esm/openai/openai.js.map +0 -1
  112. package/lib/esm/openai/openai_compatible.js +0 -55
  113. package/lib/esm/openai/openai_compatible.js.map +0 -1
  114. package/lib/esm/openai/openai_format.js +0 -127
  115. package/lib/esm/openai/openai_format.js.map +0 -1
  116. package/lib/esm/replicate.js +0 -268
  117. package/lib/esm/replicate.js.map +0 -1
  118. package/lib/esm/test-driver/TestErrorCompletionStream.js +0 -16
  119. package/lib/esm/test-driver/TestErrorCompletionStream.js.map +0 -1
  120. package/lib/esm/test-driver/TestValidationErrorCompletionStream.js +0 -20
  121. package/lib/esm/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
  122. package/lib/esm/test-driver/index.js +0 -91
  123. package/lib/esm/test-driver/index.js.map +0 -1
  124. package/lib/esm/test-driver/utils.js +0 -25
  125. package/lib/esm/test-driver/utils.js.map +0 -1
  126. package/lib/esm/togetherai/index.js +0 -122
  127. package/lib/esm/togetherai/index.js.map +0 -1
  128. package/lib/esm/togetherai/interfaces.js +0 -2
  129. package/lib/esm/togetherai/interfaces.js.map +0 -1
  130. package/lib/esm/vertexai/debug.js +0 -6
  131. package/lib/esm/vertexai/debug.js.map +0 -1
  132. package/lib/esm/vertexai/embeddings/embeddings-image.js +0 -24
  133. package/lib/esm/vertexai/embeddings/embeddings-image.js.map +0 -1
  134. package/lib/esm/vertexai/embeddings/embeddings-text.js +0 -20
  135. package/lib/esm/vertexai/embeddings/embeddings-text.js.map +0 -1
  136. package/lib/esm/vertexai/index.js +0 -571
  137. package/lib/esm/vertexai/index.js.map +0 -1
  138. package/lib/esm/vertexai/models/claude.js +0 -479
  139. package/lib/esm/vertexai/models/claude.js.map +0 -1
  140. package/lib/esm/vertexai/models/gemini.js +0 -866
  141. package/lib/esm/vertexai/models/gemini.js.map +0 -1
  142. package/lib/esm/vertexai/models/imagen.js +0 -299
  143. package/lib/esm/vertexai/models/imagen.js.map +0 -1
  144. package/lib/esm/vertexai/models/llama.js +0 -179
  145. package/lib/esm/vertexai/models/llama.js.map +0 -1
  146. package/lib/esm/vertexai/models.js +0 -32
  147. package/lib/esm/vertexai/models.js.map +0 -1
  148. package/lib/esm/watsonx/index.js +0 -157
  149. package/lib/esm/watsonx/index.js.map +0 -1
  150. package/lib/esm/watsonx/interfaces.js +0 -2
  151. package/lib/esm/watsonx/interfaces.js.map +0 -1
  152. package/lib/esm/xai/index.js +0 -58
  153. package/lib/esm/xai/index.js.map +0 -1
  154. package/lib/types/adobe/firefly.d.ts +0 -30
  155. package/lib/types/adobe/firefly.d.ts.map +0 -1
  156. package/lib/types/azure/azure_foundry.d.ts +0 -52
  157. package/lib/types/azure/azure_foundry.d.ts.map +0 -1
  158. package/lib/types/bedrock/converse.d.ts +0 -9
  159. package/lib/types/bedrock/converse.d.ts.map +0 -1
  160. package/lib/types/bedrock/index.d.ts +0 -68
  161. package/lib/types/bedrock/index.d.ts.map +0 -1
  162. package/lib/types/bedrock/nova-image-payload.d.ts +0 -74
  163. package/lib/types/bedrock/nova-image-payload.d.ts.map +0 -1
  164. package/lib/types/bedrock/payloads.d.ts +0 -12
  165. package/lib/types/bedrock/payloads.d.ts.map +0 -1
  166. package/lib/types/bedrock/s3.d.ts +0 -23
  167. package/lib/types/bedrock/s3.d.ts.map +0 -1
  168. package/lib/types/bedrock/twelvelabs.d.ts +0 -50
  169. package/lib/types/bedrock/twelvelabs.d.ts.map +0 -1
  170. package/lib/types/groq/index.d.ts +0 -27
  171. package/lib/types/groq/index.d.ts.map +0 -1
  172. package/lib/types/huggingface_ie.d.ts +0 -35
  173. package/lib/types/huggingface_ie.d.ts.map +0 -1
  174. package/lib/types/index.d.ts +0 -15
  175. package/lib/types/index.d.ts.map +0 -1
  176. package/lib/types/mistral/index.d.ts +0 -25
  177. package/lib/types/mistral/index.d.ts.map +0 -1
  178. package/lib/types/mistral/types.d.ts +0 -132
  179. package/lib/types/mistral/types.d.ts.map +0 -1
  180. package/lib/types/openai/azure_openai.d.ts +0 -25
  181. package/lib/types/openai/azure_openai.d.ts.map +0 -1
  182. package/lib/types/openai/index.d.ts +0 -31
  183. package/lib/types/openai/index.d.ts.map +0 -1
  184. package/lib/types/openai/openai.d.ts +0 -15
  185. package/lib/types/openai/openai.d.ts.map +0 -1
  186. package/lib/types/openai/openai_compatible.d.ts +0 -26
  187. package/lib/types/openai/openai_compatible.d.ts.map +0 -1
  188. package/lib/types/openai/openai_format.d.ts +0 -21
  189. package/lib/types/openai/openai_format.d.ts.map +0 -1
  190. package/lib/types/replicate.d.ts +0 -48
  191. package/lib/types/replicate.d.ts.map +0 -1
  192. package/lib/types/test-driver/TestErrorCompletionStream.d.ts +0 -9
  193. package/lib/types/test-driver/TestErrorCompletionStream.d.ts.map +0 -1
  194. package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts +0 -9
  195. package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts.map +0 -1
  196. package/lib/types/test-driver/index.d.ts +0 -24
  197. package/lib/types/test-driver/index.d.ts.map +0 -1
  198. package/lib/types/test-driver/utils.d.ts +0 -5
  199. package/lib/types/test-driver/utils.d.ts.map +0 -1
  200. package/lib/types/togetherai/index.d.ts +0 -23
  201. package/lib/types/togetherai/index.d.ts.map +0 -1
  202. package/lib/types/togetherai/interfaces.d.ts +0 -96
  203. package/lib/types/togetherai/interfaces.d.ts.map +0 -1
  204. package/lib/types/vertexai/debug.d.ts +0 -2
  205. package/lib/types/vertexai/debug.d.ts.map +0 -1
  206. package/lib/types/vertexai/embeddings/embeddings-image.d.ts +0 -11
  207. package/lib/types/vertexai/embeddings/embeddings-image.d.ts.map +0 -1
  208. package/lib/types/vertexai/embeddings/embeddings-text.d.ts +0 -10
  209. package/lib/types/vertexai/embeddings/embeddings-text.d.ts.map +0 -1
  210. package/lib/types/vertexai/index.d.ts +0 -65
  211. package/lib/types/vertexai/index.d.ts.map +0 -1
  212. package/lib/types/vertexai/models/claude.d.ts +0 -28
  213. package/lib/types/vertexai/models/claude.d.ts.map +0 -1
  214. package/lib/types/vertexai/models/gemini.d.ts +0 -18
  215. package/lib/types/vertexai/models/gemini.d.ts.map +0 -1
  216. package/lib/types/vertexai/models/imagen.d.ts +0 -75
  217. package/lib/types/vertexai/models/imagen.d.ts.map +0 -1
  218. package/lib/types/vertexai/models/llama.d.ts +0 -20
  219. package/lib/types/vertexai/models/llama.d.ts.map +0 -1
  220. package/lib/types/vertexai/models.d.ts +0 -15
  221. package/lib/types/vertexai/models.d.ts.map +0 -1
  222. package/lib/types/watsonx/index.d.ts +0 -27
  223. package/lib/types/watsonx/index.d.ts.map +0 -1
  224. package/lib/types/watsonx/interfaces.d.ts +0 -65
  225. package/lib/types/watsonx/interfaces.d.ts.map +0 -1
  226. package/lib/types/xai/index.d.ts +0 -18
  227. package/lib/types/xai/index.d.ts.map +0 -1
@@ -1,323 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GroqDriver = void 0;
7
- const core_1 = require("@llumiverse/core");
8
- const async_1 = require("@llumiverse/core/async");
9
- const openai_format_js_1 = require("../openai/openai_format.js");
10
- const groq_sdk_1 = __importDefault(require("groq-sdk"));
11
- class GroqDriver extends core_1.AbstractDriver {
12
- static PROVIDER = "groq";
13
- provider = GroqDriver.PROVIDER;
14
- apiKey;
15
- client;
16
- endpointUrl;
17
- constructor(options) {
18
- super(options);
19
- this.apiKey = options.apiKey;
20
- this.client = new groq_sdk_1.default({
21
- apiKey: options.apiKey,
22
- baseURL: options.endpoint_url
23
- });
24
- }
25
- // protected canStream(options: ExecutionOptions): Promise<boolean> {
26
- // if (options.result_schema) {
27
- // // not yet streaming json responses
28
- // return Promise.resolve(false);
29
- // } else {
30
- // return Promise.resolve(true);
31
- // }
32
- // }
33
- getResponseFormat(_options) {
34
- //TODO: when forcing json_object type the streaming is not supported.
35
- // either implement canStream as above or comment the code below:
36
- // const responseFormatJson: Groq.Chat.Completions.CompletionCreateParams.ResponseFormat = {
37
- // type: "json_object",
38
- // }
39
- // return _options.result_schema ? responseFormatJson : undefined;
40
- return undefined;
41
- }
42
- async formatPrompt(segments, opts) {
43
- // Use OpenAI's multimodal formatter as base then convert to Groq types
44
- const responseItems = await (0, openai_format_js_1.formatOpenAILikeMultimodalPrompt)(segments, {
45
- ...opts,
46
- multimodal: true,
47
- });
48
- // Convert ResponseInputItem[] to Groq ChatCompletionMessageParam[]
49
- return convertResponseItemsToGroqMessages(responseItems);
50
- }
51
- getToolDefinitions(tools) {
52
- if (!tools || tools.length === 0) {
53
- return undefined;
54
- }
55
- return tools.map(tool => ({
56
- type: 'function',
57
- function: {
58
- name: tool.name,
59
- description: tool.description,
60
- parameters: tool.input_schema,
61
- }
62
- }));
63
- }
64
- extractToolUse(message) {
65
- if (!message.tool_calls || message.tool_calls.length === 0) {
66
- return undefined;
67
- }
68
- return message.tool_calls.map((toolCall) => ({
69
- id: toolCall.id,
70
- tool_name: toolCall.function.name,
71
- tool_input: JSON.parse(toolCall.function.arguments || '{}'),
72
- }));
73
- }
74
- sanitizeMessagesForGroq(messages) {
75
- return messages.map(message => {
76
- // Remove any reasoning field from message objects
77
- const { reasoning, ...sanitizedMessage } = message;
78
- // If message has content array, filter out reasoning content types
79
- if (Array.isArray(sanitizedMessage.content)) {
80
- sanitizedMessage.content = sanitizedMessage.content.filter((part) => {
81
- // Filter out any reasoning-related content parts
82
- return part.type !== 'reasoning' && !('reasoning' in part);
83
- });
84
- }
85
- return sanitizedMessage;
86
- });
87
- }
88
- async requestTextCompletion(messages, options) {
89
- if (options.model_options?._option_id !== "text-fallback" && options.model_options?._option_id !== "groq-deepseek-thinking") {
90
- this.logger.warn({ options: options.model_options }, "Invalid model options");
91
- }
92
- options.model_options = options.model_options;
93
- // Update conversation with current messages
94
- let conversation = updateConversation(options.conversation, messages);
95
- // Filter out any reasoning content that Groq doesn't support
96
- conversation = this.sanitizeMessagesForGroq(conversation);
97
- const tools = this.getToolDefinitions(options.tools);
98
- const res = await this.client.chat.completions.create({
99
- model: options.model,
100
- messages: conversation,
101
- max_completion_tokens: options.model_options?.max_tokens,
102
- temperature: options.model_options?.temperature,
103
- top_p: options.model_options?.top_p,
104
- //top_logprobs: options.top_logprobs, //Logprobs output currently not supported
105
- //logprobs: options.top_logprobs ? true : false,
106
- presence_penalty: options.model_options?.presence_penalty,
107
- frequency_penalty: options.model_options?.frequency_penalty,
108
- response_format: this.getResponseFormat(options),
109
- tools: tools,
110
- });
111
- const choice = res.choices[0];
112
- const result = choice.message.content;
113
- // Extract tool use from the response
114
- const tool_use = this.extractToolUse(choice.message);
115
- // Update conversation with the response
116
- conversation = updateConversation(conversation, [choice.message]);
117
- let finish_reason = choice.finish_reason;
118
- if (tool_use && tool_use.length > 0) {
119
- finish_reason = "tool_calls";
120
- }
121
- return {
122
- result: result ? [{ type: "text", value: result }] : [],
123
- token_usage: {
124
- prompt: res.usage?.prompt_tokens,
125
- result: res.usage?.completion_tokens,
126
- total: res.usage?.total_tokens,
127
- },
128
- finish_reason: finish_reason,
129
- original_response: options.include_original_response ? res : undefined,
130
- conversation,
131
- tool_use,
132
- };
133
- }
134
- async requestTextCompletionStream(messages, options) {
135
- if (options.model_options?._option_id !== "text-fallback") {
136
- this.logger.warn({ options: options.model_options }, "Invalid model options");
137
- }
138
- options.model_options = options.model_options;
139
- // Update conversation with current messages
140
- let conversation = updateConversation(options.conversation, messages);
141
- // Filter out any reasoning content that Groq doesn't support
142
- conversation = this.sanitizeMessagesForGroq(conversation);
143
- const tools = this.getToolDefinitions(options.tools);
144
- const res = await this.client.chat.completions.create({
145
- model: options.model,
146
- messages: conversation,
147
- max_completion_tokens: options.model_options?.max_tokens,
148
- temperature: options.model_options?.temperature,
149
- top_p: options.model_options?.top_p,
150
- //top_logprobs: options.top_logprobs, //Logprobs output currently not supported
151
- //logprobs: options.top_logprobs ? true : false,
152
- presence_penalty: options.model_options?.presence_penalty,
153
- frequency_penalty: options.model_options?.frequency_penalty,
154
- stream: true,
155
- tools: tools,
156
- });
157
- return (0, async_1.transformAsyncIterator)(res, (chunk) => {
158
- const choice = chunk.choices[0];
159
- let finish_reason = choice.finish_reason;
160
- // Check for tool calls in the delta
161
- if (choice.delta.tool_calls && choice.delta.tool_calls.length > 0) {
162
- finish_reason = "tool_calls";
163
- }
164
- return {
165
- result: choice.delta.content ? [{ type: "text", value: choice.delta.content }] : [],
166
- finish_reason: finish_reason ?? undefined,
167
- token_usage: {
168
- prompt: chunk.x_groq?.usage?.prompt_tokens,
169
- result: chunk.x_groq?.usage?.completion_tokens,
170
- total: chunk.x_groq?.usage?.total_tokens,
171
- },
172
- };
173
- });
174
- }
175
- async listModels() {
176
- const models = await this.client.models.list();
177
- if (!models.data) {
178
- throw new Error("No models found");
179
- }
180
- const aiModels = models.data?.map(m => {
181
- if (!m.id) {
182
- throw new Error("Model id is missing");
183
- }
184
- return {
185
- id: m.id,
186
- name: m.id,
187
- description: undefined,
188
- provider: this.provider,
189
- owner: m.owned_by || '',
190
- };
191
- });
192
- return aiModels;
193
- }
194
- validateConnection() {
195
- throw new Error("Method not implemented.");
196
- }
197
- async generateEmbeddings({}) {
198
- throw new Error("Method not implemented.");
199
- }
200
- }
201
- exports.GroqDriver = GroqDriver;
202
- /**
203
- * Update the conversation messages by combining existing conversation with new messages
204
- * @param conversation Existing conversation messages
205
- * @param messages New messages to add
206
- * @returns Combined conversation
207
- */
208
- function updateConversation(conversation, messages) {
209
- return (conversation || []).concat(messages);
210
- }
211
- /**
212
- * Convert ResponseInputItem[] to Groq ChatCompletionMessageParam[]
213
- */
214
- function convertResponseItemsToGroqMessages(items) {
215
- const messages = [];
216
- for (const item of items) {
217
- // Handle EasyInputMessage (has role and content)
218
- if ('role' in item && 'content' in item) {
219
- const msg = item;
220
- const role = msg.role;
221
- // Handle system/developer messages
222
- if (role === 'system' || role === 'developer') {
223
- let content;
224
- if (typeof msg.content === 'string') {
225
- content = msg.content;
226
- }
227
- else if (Array.isArray(msg.content)) {
228
- content = msg.content
229
- .filter((part) => part.type === 'input_text')
230
- .map(part => part.text)
231
- .join('\n');
232
- }
233
- else {
234
- content = '';
235
- }
236
- messages.push({ role: 'system', content });
237
- continue;
238
- }
239
- // Handle user messages
240
- if (role === 'user') {
241
- let content;
242
- if (typeof msg.content === 'string') {
243
- content = msg.content;
244
- }
245
- else if (Array.isArray(msg.content)) {
246
- const parts = [];
247
- for (const part of msg.content) {
248
- if (part.type === 'input_text') {
249
- parts.push({ type: 'text', text: part.text });
250
- }
251
- else if (part.type === 'input_image') {
252
- const imgPart = part;
253
- if (imgPart.image_url) {
254
- parts.push({
255
- type: 'image_url',
256
- image_url: {
257
- url: imgPart.image_url,
258
- ...(imgPart.detail && { detail: imgPart.detail })
259
- }
260
- });
261
- }
262
- }
263
- }
264
- content = parts.length > 0 ? parts : '';
265
- }
266
- else {
267
- content = '';
268
- }
269
- messages.push({ role: 'user', content });
270
- continue;
271
- }
272
- // Handle assistant messages
273
- if (role === 'assistant') {
274
- let content;
275
- if (typeof msg.content === 'string') {
276
- content = msg.content;
277
- }
278
- else if (Array.isArray(msg.content)) {
279
- content = msg.content
280
- .filter((part) => part.type === 'input_text')
281
- .map(part => part.text)
282
- .join('\n') || null;
283
- }
284
- else {
285
- content = null;
286
- }
287
- messages.push({ role: 'assistant', content });
288
- continue;
289
- }
290
- }
291
- // Handle function_call_output (tool response)
292
- if ('type' in item && item.type === 'function_call_output') {
293
- const output = item;
294
- messages.push({
295
- role: 'tool',
296
- tool_call_id: output.call_id,
297
- content: typeof output.output === 'string' ? output.output : JSON.stringify(output.output),
298
- });
299
- continue;
300
- }
301
- // Handle function_call (assistant tool call)
302
- if ('type' in item && item.type === 'function_call') {
303
- const call = item;
304
- // Groq expects tool_calls in assistant message, but we handle them separately
305
- // This is a simplification - in practice tool_calls come from model responses
306
- messages.push({
307
- role: 'assistant',
308
- content: null,
309
- tool_calls: [{
310
- id: call.call_id,
311
- type: 'function',
312
- function: {
313
- name: call.name,
314
- arguments: call.arguments,
315
- }
316
- }]
317
- });
318
- continue;
319
- }
320
- }
321
- return messages;
322
- }
323
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/groq/index.ts"],"names":[],"mappings":"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"}
@@ -1,201 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HuggingFaceIEDriver = void 0;
4
- const inference_1 = require("@huggingface/inference");
5
- const core_1 = require("@llumiverse/core");
6
- const async_1 = require("@llumiverse/core/async");
7
- const api_fetch_client_1 = require("@vertesia/api-fetch-client");
8
- class HuggingFaceIEDriver extends core_1.AbstractDriver {
9
- static PROVIDER = "huggingface_ie";
10
- provider = HuggingFaceIEDriver.PROVIDER;
11
- service;
12
- _executor;
13
- constructor(options) {
14
- super(options);
15
- if (!options.endpoint_url) {
16
- throw new Error(`Endpoint URL is required for ${this.provider}`);
17
- }
18
- this.service = new api_fetch_client_1.FetchClient(this.options.endpoint_url);
19
- this.service.headers["Authorization"] = `Bearer ${this.options.apiKey}`;
20
- }
21
- async getModelURLEndpoint(modelId) {
22
- const res = (await this.service.get(`/${modelId}`));
23
- return {
24
- url: res.status.url,
25
- status: getStatus(res),
26
- };
27
- }
28
- async getExecutor(model) {
29
- if (!this._executor) {
30
- const endpoint = await this.getModelURLEndpoint(model);
31
- if (!endpoint.url)
32
- throw new Error(`Endpoint URL not found for model ${model}`);
33
- if (endpoint.status !== core_1.AIModelStatus.Available)
34
- throw new Error(`Endpoint ${model} is not running - current status: ${endpoint.status}`);
35
- // Use the new InferenceClient and bind it to the endpoint URL
36
- this._executor = new inference_1.InferenceClient(this.options.apiKey).endpoint(endpoint.url);
37
- }
38
- return this._executor;
39
- }
40
- async requestTextCompletionStream(prompt, options) {
41
- if (options.model_options?._option_id !== "text-fallback") {
42
- this.logger.warn({ options: options.model_options }, "Invalid model options");
43
- }
44
- options.model_options = options.model_options;
45
- const executor = await this.getExecutor(options.model);
46
- const req = executor.textGenerationStream({
47
- inputs: prompt,
48
- parameters: {
49
- temperature: options.model_options?.temperature,
50
- max_new_tokens: options.model_options?.max_tokens,
51
- },
52
- });
53
- return (0, async_1.transformAsyncIterator)(req, (val) => {
54
- //special like <s> are not part of the result
55
- if (val.token.special)
56
- return { result: [] };
57
- let finish_reason = val.details?.finish_reason;
58
- if (finish_reason === "eos_token") {
59
- finish_reason = "stop";
60
- }
61
- return {
62
- result: val.token.text ? [{ type: "text", value: val.token.text }] : [],
63
- finish_reason: finish_reason,
64
- token_usage: {
65
- result: val.details?.generated_tokens ?? 0,
66
- }
67
- };
68
- });
69
- }
70
- async requestTextCompletion(prompt, options) {
71
- if (options.model_options?._option_id !== "text-fallback") {
72
- this.logger.warn({ options: options.model_options }, "Invalid model options");
73
- }
74
- options.model_options = options.model_options;
75
- const executor = await this.getExecutor(options.model);
76
- const res = await executor.textGeneration({
77
- inputs: prompt,
78
- parameters: {
79
- temperature: options.model_options?.temperature,
80
- max_new_tokens: options.model_options?.max_tokens,
81
- },
82
- });
83
- let finish_reason = res.details?.finish_reason;
84
- if (finish_reason === "eos_token") {
85
- finish_reason = "stop";
86
- }
87
- return {
88
- result: [{ type: "text", value: res.generated_text }],
89
- finish_reason: finish_reason,
90
- token_usage: {
91
- result: res.details?.generated_tokens
92
- },
93
- original_response: options.include_original_response ? res : undefined,
94
- };
95
- }
96
- // ============== management API ==============
97
- async listModels() {
98
- const res = await this.service.get("/");
99
- const hfModels = res.items;
100
- if (!hfModels || !hfModels.length)
101
- return [];
102
- const models = hfModels.map((model) => ({
103
- id: model.name,
104
- name: `${model.name} [${model.model.repository}:${model.model.task}]`,
105
- provider: this.provider,
106
- tags: [model.model.task],
107
- status: getStatus(model),
108
- }));
109
- return models;
110
- }
111
- async validateConnection() {
112
- try {
113
- await this.service.get("/models");
114
- return true;
115
- }
116
- catch (error) {
117
- return false;
118
- }
119
- }
120
- async generateEmbeddings() {
121
- throw new Error("Method not implemented.");
122
- }
123
- }
124
- exports.HuggingFaceIEDriver = HuggingFaceIEDriver;
125
- //get status from HF status
126
- function getStatus(hfModel) {
127
- //[ pending, initializing, updating, updateFailed, running, paused, failed, scaledToZero ]
128
- switch (hfModel.status.state) {
129
- case "running":
130
- return core_1.AIModelStatus.Available;
131
- case "initializing":
132
- return core_1.AIModelStatus.Pending;
133
- case "updating":
134
- return core_1.AIModelStatus.Pending;
135
- case "updateFailed":
136
- return core_1.AIModelStatus.Unavailable;
137
- case "paused":
138
- return core_1.AIModelStatus.Stopped;
139
- case "failed":
140
- return core_1.AIModelStatus.Unavailable;
141
- case "scaledToZero":
142
- return core_1.AIModelStatus.Available;
143
- default:
144
- return core_1.AIModelStatus.Unknown;
145
- }
146
- }
147
- /*
148
- Example of model returned by the API
149
- {
150
- "items": [
151
- {
152
- "accountId": "string",
153
- "compute": {
154
- "accelerator": "cpu",
155
- "instanceSize": "large",
156
- "instanceType": "c6i",
157
- "scaling": {
158
- "maxReplica": 8,
159
- "minReplica": 2
160
- }
161
- },
162
- "model": {
163
- "framework": "custom",
164
- "image": {
165
- "huggingface": {}
166
- },
167
- "repository": "gpt2",
168
- "revision": "6c0e6080953db56375760c0471a8c5f2929baf11",
169
- "task": "text-classification"
170
- },
171
- "name": "my-endpoint",
172
- "provider": {
173
- "region": "us-east-1",
174
- "vendor": "aws"
175
- },
176
- "status": {
177
- "createdAt": "2023-10-19T05:04:17.305Z",
178
- "createdBy": {
179
- "id": "string",
180
- "name": "string"
181
- },
182
- "message": "Endpoint is ready",
183
- "private": {
184
- "serviceName": "string"
185
- },
186
- "readyReplica": 2,
187
- "state": "pending",
188
- "targetReplica": 4,
189
- "updatedAt": "2023-10-19T05:04:17.305Z",
190
- "updatedBy": {
191
- "id": "string",
192
- "name": "string"
193
- },
194
- "url": "https://endpoint-id.region.vendor.endpoints.huggingface.cloud"
195
- },
196
- "type": "public"
197
- }
198
- ]
199
- }
200
- */
201
- //# sourceMappingURL=huggingface_ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"huggingface_ie.js","sourceRoot":"","sources":["../../src/huggingface_ie.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js DELETED
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./azure/azure_foundry.js"), exports);
18
- __exportStar(require("./bedrock/index.js"), exports);
19
- __exportStar(require("./groq/index.js"), exports);
20
- __exportStar(require("./huggingface_ie.js"), exports);
21
- __exportStar(require("./mistral/index.js"), exports);
22
- __exportStar(require("./openai/azure_openai.js"), exports);
23
- __exportStar(require("./openai/openai.js"), exports);
24
- __exportStar(require("./openai/openai_compatible.js"), exports);
25
- __exportStar(require("./replicate.js"), exports);
26
- __exportStar(require("./test-driver/index.js"), exports);
27
- __exportStar(require("./togetherai/index.js"), exports);
28
- __exportStar(require("./vertexai/index.js"), exports);
29
- __exportStar(require("./watsonx/index.js"), exports);
30
- __exportStar(require("./xai/index.js"), exports);
31
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,qDAAmC;AACnC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,2DAAyC;AACzC,qDAAmC;AACnC,gEAA8C;AAC9C,iDAA+B;AAC/B,yDAAuC;AACvC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B"}