@llumiverse/drivers 0.22.1 → 0.22.3

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