@llumiverse/common 1.3.0 → 1.4.0-dev.20260629.090753Z

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 (192) hide show
  1. package/lib/capability/anthropic.d.ts +3 -0
  2. package/lib/capability/anthropic.d.ts.map +1 -0
  3. package/lib/capability/anthropic.js +92 -0
  4. package/lib/capability/anthropic.js.map +1 -0
  5. package/lib/{types/capability → capability}/azure_foundry.d.ts +1 -1
  6. package/lib/capability/azure_foundry.d.ts.map +1 -0
  7. package/lib/capability/azure_foundry.js +394 -0
  8. package/lib/capability/azure_foundry.js.map +1 -0
  9. package/lib/{types/capability → capability}/bedrock.d.ts +1 -1
  10. package/lib/capability/bedrock.d.ts.map +1 -0
  11. package/lib/capability/bedrock.js +300 -0
  12. package/lib/capability/bedrock.js.map +1 -0
  13. package/lib/{types/capability → capability}/openai.d.ts +1 -1
  14. package/lib/capability/openai.d.ts.map +1 -0
  15. package/lib/capability/openai.js +179 -0
  16. package/lib/capability/openai.js.map +1 -0
  17. package/lib/{types/capability → capability}/vertexai.d.ts +1 -1
  18. package/lib/capability/vertexai.d.ts.map +1 -0
  19. package/lib/capability/vertexai.js +137 -0
  20. package/lib/capability/vertexai.js.map +1 -0
  21. package/lib/{types/capability.d.ts → capability.d.ts} +1 -1
  22. package/lib/capability.d.ts.map +1 -0
  23. package/lib/{esm/capability.js → capability.js} +17 -17
  24. package/lib/capability.js.map +1 -0
  25. package/lib/index.d.ts +14 -0
  26. package/lib/index.d.ts.map +1 -0
  27. package/lib/index.js +14 -0
  28. package/lib/index.js.map +1 -0
  29. package/lib/{types/options → options}/anthropic.d.ts +2 -2
  30. package/lib/options/anthropic.d.ts.map +1 -0
  31. package/lib/{esm/options → options}/anthropic.js +14 -11
  32. package/lib/options/anthropic.js.map +1 -0
  33. package/lib/{types/options → options}/azure_foundry.d.ts +14 -14
  34. package/lib/options/azure_foundry.d.ts.map +1 -0
  35. package/lib/{esm/options → options}/azure_foundry.js +126 -126
  36. package/lib/options/azure_foundry.js.map +1 -0
  37. package/lib/{types/options → options}/bedrock.d.ts +16 -16
  38. package/lib/{types/options → options}/bedrock.d.ts.map +1 -1
  39. package/lib/options/bedrock.js +489 -0
  40. package/lib/options/bedrock.js.map +1 -0
  41. package/lib/options/context-windows.d.ts.map +1 -0
  42. package/lib/options/context-windows.js.map +1 -0
  43. package/lib/options/embedding.d.ts +38 -0
  44. package/lib/options/embedding.d.ts.map +1 -0
  45. package/lib/options/embedding.js +77 -0
  46. package/lib/options/embedding.js.map +1 -0
  47. package/lib/{types/options → options}/fallback.d.ts +2 -2
  48. package/lib/options/fallback.d.ts.map +1 -0
  49. package/lib/options/fallback.js +65 -0
  50. package/lib/options/fallback.js.map +1 -0
  51. package/lib/{types/options → options}/groq.d.ts +2 -2
  52. package/lib/options/groq.d.ts.map +1 -0
  53. package/lib/options/groq.js +54 -0
  54. package/lib/options/groq.js.map +1 -0
  55. package/lib/options/openai.d.ts +40 -0
  56. package/lib/options/openai.d.ts.map +1 -0
  57. package/lib/options/openai.js +284 -0
  58. package/lib/options/openai.js.map +1 -0
  59. package/lib/{types/options → options}/shared-parsing.d.ts +1 -1
  60. package/lib/options/shared-parsing.d.ts.map +1 -0
  61. package/lib/{esm/options → options}/shared-parsing.js +14 -17
  62. package/lib/options/shared-parsing.js.map +1 -0
  63. package/lib/options/version-parsing.d.ts.map +1 -0
  64. package/lib/{esm/options → options}/version-parsing.js +15 -15
  65. package/lib/options/version-parsing.js.map +1 -0
  66. package/lib/{types/options → options}/vertexai.d.ts +15 -15
  67. package/lib/options/vertexai.d.ts.map +1 -0
  68. package/lib/options/vertexai.js +606 -0
  69. package/lib/options/vertexai.js.map +1 -0
  70. package/lib/{types/options.d.ts → options.d.ts} +1 -1
  71. package/lib/options.d.ts.map +1 -0
  72. package/lib/{esm/options.js → options.js} +8 -8
  73. package/lib/options.js.map +1 -0
  74. package/lib/{types/types.d.ts → types.d.ts} +143 -35
  75. package/lib/types.d.ts.map +1 -0
  76. package/lib/{esm/types.js → types.js} +21 -23
  77. package/lib/types.js.map +1 -0
  78. package/package.json +11 -34
  79. package/src/LlumiverseError.test.ts +18 -72
  80. package/src/capability/anthropic.ts +61 -11
  81. package/src/capability/azure_foundry.ts +303 -65
  82. package/src/capability/bedrock.ts +201 -56
  83. package/src/capability/openai.ts +135 -41
  84. package/src/capability/vertexai.ts +105 -35
  85. package/src/capability.ts +18 -18
  86. package/src/index.ts +13 -12
  87. package/src/options/anthropic.ts +16 -13
  88. package/src/options/azure_foundry.ts +157 -143
  89. package/src/options/bedrock.ts +247 -185
  90. package/src/options/context-windows.ts +2 -2
  91. package/src/options/embedding.ts +92 -0
  92. package/src/options/fallback.ts +50 -17
  93. package/src/options/groq.ts +48 -21
  94. package/src/options/openai.ts +228 -183
  95. package/src/options/shared-parsing.ts +16 -21
  96. package/src/options/version-parsing.ts +17 -17
  97. package/src/options/vertexai.ts +382 -288
  98. package/src/options.ts +8 -8
  99. package/src/types.ts +260 -155
  100. package/lib/cjs/capability/anthropic.js +0 -45
  101. package/lib/cjs/capability/anthropic.js.map +0 -1
  102. package/lib/cjs/capability/azure_foundry.js +0 -160
  103. package/lib/cjs/capability/azure_foundry.js.map +0 -1
  104. package/lib/cjs/capability/bedrock.js +0 -158
  105. package/lib/cjs/capability/bedrock.js.map +0 -1
  106. package/lib/cjs/capability/openai.js +0 -98
  107. package/lib/cjs/capability/openai.js.map +0 -1
  108. package/lib/cjs/capability/vertexai.js +0 -80
  109. package/lib/cjs/capability/vertexai.js.map +0 -1
  110. package/lib/cjs/capability.js +0 -115
  111. package/lib/cjs/capability.js.map +0 -1
  112. package/lib/cjs/index.js +0 -29
  113. package/lib/cjs/index.js.map +0 -1
  114. package/lib/cjs/options/anthropic.js +0 -34
  115. package/lib/cjs/options/anthropic.js.map +0 -1
  116. package/lib/cjs/options/azure_foundry.js +0 -423
  117. package/lib/cjs/options/azure_foundry.js.map +0 -1
  118. package/lib/cjs/options/bedrock.js +0 -427
  119. package/lib/cjs/options/bedrock.js.map +0 -1
  120. package/lib/cjs/options/context-windows.js +0 -138
  121. package/lib/cjs/options/context-windows.js.map +0 -1
  122. package/lib/cjs/options/fallback.js +0 -35
  123. package/lib/cjs/options/fallback.js.map +0 -1
  124. package/lib/cjs/options/groq.js +0 -37
  125. package/lib/cjs/options/groq.js.map +0 -1
  126. package/lib/cjs/options/openai.js +0 -246
  127. package/lib/cjs/options/openai.js.map +0 -1
  128. package/lib/cjs/options/shared-parsing.js +0 -144
  129. package/lib/cjs/options/shared-parsing.js.map +0 -1
  130. package/lib/cjs/options/version-parsing.js +0 -326
  131. package/lib/cjs/options/version-parsing.js.map +0 -1
  132. package/lib/cjs/options/vertexai.js +0 -525
  133. package/lib/cjs/options/vertexai.js.map +0 -1
  134. package/lib/cjs/options.js +0 -33
  135. package/lib/cjs/options.js.map +0 -1
  136. package/lib/cjs/package.json +0 -3
  137. package/lib/cjs/types.js +0 -307
  138. package/lib/cjs/types.js.map +0 -1
  139. package/lib/esm/capability/anthropic.js +0 -42
  140. package/lib/esm/capability/anthropic.js.map +0 -1
  141. package/lib/esm/capability/azure_foundry.js +0 -157
  142. package/lib/esm/capability/azure_foundry.js.map +0 -1
  143. package/lib/esm/capability/bedrock.js +0 -155
  144. package/lib/esm/capability/bedrock.js.map +0 -1
  145. package/lib/esm/capability/openai.js +0 -95
  146. package/lib/esm/capability/openai.js.map +0 -1
  147. package/lib/esm/capability/vertexai.js +0 -77
  148. package/lib/esm/capability/vertexai.js.map +0 -1
  149. package/lib/esm/capability.js.map +0 -1
  150. package/lib/esm/index.js +0 -13
  151. package/lib/esm/index.js.map +0 -1
  152. package/lib/esm/options/anthropic.js.map +0 -1
  153. package/lib/esm/options/azure_foundry.js.map +0 -1
  154. package/lib/esm/options/bedrock.js +0 -423
  155. package/lib/esm/options/bedrock.js.map +0 -1
  156. package/lib/esm/options/context-windows.js.map +0 -1
  157. package/lib/esm/options/fallback.js +0 -32
  158. package/lib/esm/options/fallback.js.map +0 -1
  159. package/lib/esm/options/groq.js +0 -34
  160. package/lib/esm/options/groq.js.map +0 -1
  161. package/lib/esm/options/openai.js +0 -243
  162. package/lib/esm/options/openai.js.map +0 -1
  163. package/lib/esm/options/shared-parsing.js.map +0 -1
  164. package/lib/esm/options/version-parsing.js.map +0 -1
  165. package/lib/esm/options/vertexai.js +0 -519
  166. package/lib/esm/options/vertexai.js.map +0 -1
  167. package/lib/esm/options.js.map +0 -1
  168. package/lib/esm/types.js.map +0 -1
  169. package/lib/types/capability/anthropic.d.ts +0 -3
  170. package/lib/types/capability/anthropic.d.ts.map +0 -1
  171. package/lib/types/capability/azure_foundry.d.ts.map +0 -1
  172. package/lib/types/capability/bedrock.d.ts.map +0 -1
  173. package/lib/types/capability/openai.d.ts.map +0 -1
  174. package/lib/types/capability/vertexai.d.ts.map +0 -1
  175. package/lib/types/capability.d.ts.map +0 -1
  176. package/lib/types/index.d.ts +0 -13
  177. package/lib/types/index.d.ts.map +0 -1
  178. package/lib/types/options/anthropic.d.ts.map +0 -1
  179. package/lib/types/options/azure_foundry.d.ts.map +0 -1
  180. package/lib/types/options/context-windows.d.ts.map +0 -1
  181. package/lib/types/options/fallback.d.ts.map +0 -1
  182. package/lib/types/options/groq.d.ts.map +0 -1
  183. package/lib/types/options/openai.d.ts +0 -40
  184. package/lib/types/options/openai.d.ts.map +0 -1
  185. package/lib/types/options/shared-parsing.d.ts.map +0 -1
  186. package/lib/types/options/version-parsing.d.ts.map +0 -1
  187. package/lib/types/options/vertexai.d.ts.map +0 -1
  188. package/lib/types/options.d.ts.map +0 -1
  189. package/lib/types/types.d.ts.map +0 -1
  190. /package/lib/{types/options → options}/context-windows.d.ts +0 -0
  191. /package/lib/{esm/options → options}/context-windows.js +0 -0
  192. /package/lib/{types/options → options}/version-parsing.d.ts +0 -0
@@ -1,423 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMaxTokensLimitAzureFoundry = getMaxTokensLimitAzureFoundry;
4
- exports.getAzureFoundryOptions = getAzureFoundryOptions;
5
- const types_js_1 = require("../types.js");
6
- const context_windows_js_1 = require("./context-windows.js");
7
- // Helper function to parse composite model IDs
8
- function parseAzureFoundryModelId(compositeId) {
9
- const parts = compositeId.split('::');
10
- if (parts.length === 2) {
11
- return {
12
- deploymentName: parts[0],
13
- baseModel: parts[1]
14
- };
15
- }
16
- // Backwards compatibility: if no delimiter found, treat as deployment name
17
- return {
18
- deploymentName: compositeId,
19
- baseModel: compositeId
20
- };
21
- }
22
- function getMaxTokensLimitAzureFoundry(model) {
23
- // Extract base model from composite ID (deployment::baseModel)
24
- const { baseModel } = parseAzureFoundryModelId(model);
25
- const modelLower = baseModel.toLowerCase();
26
- // GPT models
27
- if (modelLower.includes("gpt-4o")) {
28
- if (modelLower.includes("mini")) {
29
- return 16384;
30
- }
31
- return 16384;
32
- }
33
- if (modelLower.includes("gpt-4")) {
34
- if (modelLower.includes("turbo")) {
35
- return 4096;
36
- }
37
- if (modelLower.includes("32k")) {
38
- return 32768;
39
- }
40
- return 8192;
41
- }
42
- if (modelLower.includes("gpt-35") || modelLower.includes("gpt-3.5")) {
43
- return 4096;
44
- }
45
- if (model.includes("gpt-5")) {
46
- return 128000;
47
- }
48
- // O-series models
49
- if (modelLower.includes("o1")) {
50
- if (modelLower.includes("preview")) {
51
- return 32768;
52
- }
53
- if (modelLower.includes("mini")) {
54
- return 65536;
55
- }
56
- return 100000;
57
- }
58
- if (modelLower.includes("o3")) {
59
- if (modelLower.includes("mini")) {
60
- return 100000;
61
- }
62
- return 100000;
63
- }
64
- if (modelLower.includes("o4")) {
65
- return 100000;
66
- }
67
- // DeepSeek models
68
- if (modelLower.includes("deepseek")) {
69
- if (modelLower.includes("r1")) {
70
- return 163840;
71
- }
72
- if (modelLower.includes("v3")) {
73
- return 131072;
74
- }
75
- }
76
- // Claude models — delegate to provider-agnostic limits
77
- if (modelLower.includes("claude")) {
78
- return (0, context_windows_js_1.getMaxOutputTokens)(modelLower);
79
- }
80
- // Llama models
81
- if (modelLower.includes("llama")) {
82
- if (modelLower.includes("3.1") || modelLower.includes("3.3")) {
83
- return 8192;
84
- }
85
- if (modelLower.includes("4")) {
86
- return 1000000; // 1M context
87
- }
88
- return 8192;
89
- }
90
- // Mistral models
91
- if (modelLower.includes("mistral")) {
92
- if (modelLower.includes("large")) {
93
- return 4096;
94
- }
95
- if (modelLower.includes("small")) {
96
- return 4096;
97
- }
98
- return 4096;
99
- }
100
- // Phi models
101
- if (modelLower.includes("phi")) {
102
- return 4096;
103
- }
104
- // AI21 Jamba models
105
- if (modelLower.includes("jamba")) {
106
- return 4096;
107
- }
108
- // Cohere models
109
- if (modelLower.includes("cohere")) {
110
- if (modelLower.includes("command-a")) {
111
- return 8000;
112
- }
113
- return 4096;
114
- }
115
- // Grok models
116
- if (modelLower.includes("grok")) {
117
- return 131072;
118
- }
119
- return undefined;
120
- }
121
- function getAzureFoundryOptions(model, _option) {
122
- // Extract base model from composite ID (deployment::baseModel)
123
- const { baseModel } = parseAzureFoundryModelId(model);
124
- const modelLower = baseModel.toLowerCase();
125
- const max_tokens_limit = getMaxTokensLimitAzureFoundry(model);
126
- // Image generation models
127
- if (modelLower.includes("dall-e") || modelLower.includes("gpt-image")) {
128
- return {
129
- _option_id: "azure-foundry-image",
130
- options: [
131
- {
132
- name: "size",
133
- type: types_js_1.OptionType.enum,
134
- enum: {
135
- "256x256": "256x256",
136
- "512x512": "512x512",
137
- "1024x1024": "1024x1024",
138
- "1792x1024": "1792x1024",
139
- "1024x1792": "1024x1792"
140
- },
141
- default: "1024x1024",
142
- description: "The size of the generated image"
143
- },
144
- {
145
- name: "quality",
146
- type: types_js_1.OptionType.enum,
147
- enum: { "Standard": "standard", "HD": "hd" },
148
- default: "standard",
149
- description: "The quality of the generated image"
150
- },
151
- {
152
- name: "style",
153
- type: types_js_1.OptionType.enum,
154
- enum: { "Vivid": "vivid", "Natural": "natural" },
155
- default: "vivid",
156
- description: "The style of the generated image"
157
- },
158
- {
159
- name: "response_format",
160
- type: types_js_1.OptionType.enum,
161
- enum: { "URL": "url", "Base64 JSON": "b64_json" },
162
- default: "url",
163
- description: "The format of the response"
164
- }
165
- ]
166
- };
167
- }
168
- // Vision model options
169
- const visionOptions = isVisionModel(modelLower) ? [
170
- {
171
- name: "image_detail",
172
- type: types_js_1.OptionType.enum,
173
- enum: { "Low": "low", "High": "high", "Auto": "auto" },
174
- default: "auto",
175
- description: "Controls how the model processes input images"
176
- }
177
- ] : [];
178
- // O-series and thinking models
179
- if (modelLower.includes("o1") || modelLower.includes("o3") || modelLower.includes("o4")) {
180
- const reasoningOptions = (modelLower.includes("o3") || isO1Full(modelLower)) ? [
181
- {
182
- name: "reasoning_effort",
183
- type: types_js_1.OptionType.enum,
184
- enum: { "Low": "low", "Medium": "medium", "High": "high" },
185
- default: "medium",
186
- description: "How much effort the model should put into reasoning"
187
- }
188
- ] : [];
189
- return {
190
- _option_id: "azure-foundry-thinking",
191
- options: [
192
- {
193
- name: types_js_1.SharedOptions.max_tokens,
194
- type: types_js_1.OptionType.numeric,
195
- min: 1,
196
- max: max_tokens_limit,
197
- integer: true,
198
- description: "The maximum number of tokens to generate"
199
- },
200
- {
201
- name: types_js_1.SharedOptions.temperature,
202
- type: types_js_1.OptionType.numeric,
203
- min: 0.0,
204
- max: 2.0,
205
- default: 1.0,
206
- step: 0.1,
207
- description: "Controls randomness in the output"
208
- },
209
- {
210
- name: types_js_1.SharedOptions.top_p,
211
- type: types_js_1.OptionType.numeric,
212
- min: 0,
213
- max: 1,
214
- step: 0.1,
215
- description: "Nucleus sampling parameter"
216
- },
217
- {
218
- name: types_js_1.SharedOptions.stop_sequence,
219
- type: types_js_1.OptionType.string_list,
220
- value: [],
221
- description: "Sequences where the model will stop generating"
222
- },
223
- ...reasoningOptions,
224
- ...visionOptions
225
- ]
226
- };
227
- }
228
- // DeepSeek R1 models
229
- if (modelLower.includes("deepseek") && modelLower.includes("r1")) {
230
- return {
231
- _option_id: "azure-foundry-deepseek",
232
- options: [
233
- {
234
- name: types_js_1.SharedOptions.max_tokens,
235
- type: types_js_1.OptionType.numeric,
236
- min: 1,
237
- max: max_tokens_limit,
238
- integer: true,
239
- description: "The maximum number of tokens to generate"
240
- },
241
- {
242
- name: types_js_1.SharedOptions.temperature,
243
- type: types_js_1.OptionType.numeric,
244
- min: 0.0,
245
- max: 2.0,
246
- default: 0.7,
247
- step: 0.1,
248
- description: "Lower temperatures recommended for DeepSeek R1 (0.3-0.7)"
249
- },
250
- {
251
- name: types_js_1.SharedOptions.top_p,
252
- type: types_js_1.OptionType.numeric,
253
- min: 0,
254
- max: 1,
255
- step: 0.1,
256
- description: "Nucleus sampling parameter"
257
- },
258
- {
259
- name: types_js_1.SharedOptions.stop_sequence,
260
- type: types_js_1.OptionType.string_list,
261
- value: [],
262
- description: "Sequences where the model will stop generating"
263
- }
264
- ]
265
- };
266
- }
267
- // OpenAI models (GPT-4, GPT-4o, GPT-3.5)
268
- if (modelLower.includes("gpt-")) {
269
- return {
270
- _option_id: "azure-foundry-openai",
271
- options: [
272
- {
273
- name: types_js_1.SharedOptions.max_tokens,
274
- type: types_js_1.OptionType.numeric,
275
- min: 1,
276
- max: max_tokens_limit,
277
- integer: true,
278
- step: 200,
279
- description: "The maximum number of tokens to generate"
280
- },
281
- {
282
- name: types_js_1.SharedOptions.temperature,
283
- type: types_js_1.OptionType.numeric,
284
- min: 0.0,
285
- max: 2.0,
286
- default: 0.7,
287
- step: 0.1,
288
- description: "Controls randomness in the output"
289
- },
290
- {
291
- name: types_js_1.SharedOptions.top_p,
292
- type: types_js_1.OptionType.numeric,
293
- min: 0,
294
- max: 1,
295
- step: 0.1,
296
- description: "Nucleus sampling parameter"
297
- },
298
- {
299
- name: types_js_1.SharedOptions.presence_penalty,
300
- type: types_js_1.OptionType.numeric,
301
- min: -2.0,
302
- max: 2.0,
303
- step: 0.1,
304
- description: "Penalize new tokens based on their presence in the text"
305
- },
306
- {
307
- name: types_js_1.SharedOptions.frequency_penalty,
308
- type: types_js_1.OptionType.numeric,
309
- min: -2.0,
310
- max: 2.0,
311
- step: 0.1,
312
- description: "Penalize new tokens based on their frequency in the text"
313
- },
314
- {
315
- name: types_js_1.SharedOptions.stop_sequence,
316
- type: types_js_1.OptionType.string_list,
317
- value: [],
318
- description: "Sequences where the model will stop generating"
319
- },
320
- ...visionOptions
321
- ]
322
- };
323
- }
324
- // General text models (Claude, Llama, Mistral, Phi, etc.)
325
- const baseOptions = [
326
- {
327
- name: types_js_1.SharedOptions.max_tokens,
328
- type: types_js_1.OptionType.numeric,
329
- min: 1,
330
- max: max_tokens_limit,
331
- integer: true,
332
- step: 200,
333
- description: "The maximum number of tokens to generate"
334
- },
335
- {
336
- name: types_js_1.SharedOptions.temperature,
337
- type: types_js_1.OptionType.numeric,
338
- min: 0.0,
339
- max: 2.0,
340
- default: 0.7,
341
- step: 0.1,
342
- description: "Controls randomness in the output"
343
- },
344
- {
345
- name: types_js_1.SharedOptions.top_p,
346
- type: types_js_1.OptionType.numeric,
347
- min: 0,
348
- max: 1,
349
- step: 0.1,
350
- description: "Nucleus sampling parameter"
351
- },
352
- {
353
- name: types_js_1.SharedOptions.stop_sequence,
354
- type: types_js_1.OptionType.string_list,
355
- value: [],
356
- description: "Sequences where the model will stop generating"
357
- }
358
- ];
359
- // Add model-specific options
360
- const additionalOptions = [];
361
- // Add top_k for certain models
362
- if (modelLower.includes("claude") || modelLower.includes("mistral") || modelLower.includes("phi")) {
363
- additionalOptions.push({
364
- name: types_js_1.SharedOptions.top_k,
365
- type: types_js_1.OptionType.numeric,
366
- min: 1,
367
- integer: true,
368
- step: 1,
369
- description: "Limits token sampling to the top k tokens"
370
- });
371
- }
372
- // Add penalty options for certain models
373
- if (modelLower.includes("claude") || modelLower.includes("jamba") || modelLower.includes("cohere")) {
374
- additionalOptions.push({
375
- name: types_js_1.SharedOptions.presence_penalty,
376
- type: types_js_1.OptionType.numeric,
377
- min: -2.0,
378
- max: 2.0,
379
- step: 0.1,
380
- description: "Penalize new tokens based on their presence in the text"
381
- }, {
382
- name: types_js_1.SharedOptions.frequency_penalty,
383
- type: types_js_1.OptionType.numeric,
384
- min: -2.0,
385
- max: 2.0,
386
- step: 0.1,
387
- description: "Penalize new tokens based on their frequency in the text"
388
- });
389
- }
390
- // Add seed option for certain models
391
- if (modelLower.includes("mistral") || modelLower.includes("phi") || modelLower.includes("gemini")) {
392
- additionalOptions.push({
393
- name: types_js_1.SharedOptions.seed,
394
- type: types_js_1.OptionType.numeric,
395
- integer: true,
396
- description: "Random seed for reproducible generation"
397
- });
398
- }
399
- return {
400
- _option_id: "azure-foundry-text",
401
- options: [
402
- ...baseOptions,
403
- ...additionalOptions,
404
- ...visionOptions
405
- ]
406
- };
407
- }
408
- function isVisionModel(modelLower) {
409
- return modelLower.includes("gpt-4o") ||
410
- modelLower.includes("gpt-4-turbo") ||
411
- modelLower.includes("claude-3") ||
412
- modelLower.includes("llama-3.2") ||
413
- modelLower.includes("llama-4") ||
414
- modelLower.includes("gemini") ||
415
- isO1Full(modelLower);
416
- }
417
- function isO1Full(modelLower) {
418
- if (modelLower.includes("o1")) {
419
- return !modelLower.includes("mini") && !modelLower.includes("preview");
420
- }
421
- return false;
422
- }
423
- //# sourceMappingURL=azure_foundry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"azure_foundry.js","sourceRoot":"","sources":["../../../src/options/azure_foundry.ts"],"names":[],"mappings":"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"}