@llumiverse/drivers 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/lib/cjs/azure/azure_foundry.js +9 -0
  2. package/lib/cjs/azure/azure_foundry.js.map +1 -1
  3. package/lib/cjs/bedrock/index.js +35 -22
  4. package/lib/cjs/bedrock/index.js.map +1 -1
  5. package/lib/cjs/vertexai/index.js +26 -18
  6. package/lib/cjs/vertexai/index.js.map +1 -1
  7. package/lib/cjs/vertexai/models/gemini.js +39 -12
  8. package/lib/cjs/vertexai/models/gemini.js.map +1 -1
  9. package/lib/esm/azure/azure_foundry.js +9 -0
  10. package/lib/esm/azure/azure_foundry.js.map +1 -1
  11. package/lib/esm/bedrock/index.js +35 -22
  12. package/lib/esm/bedrock/index.js.map +1 -1
  13. package/lib/esm/vertexai/index.js +26 -18
  14. package/lib/esm/vertexai/index.js.map +1 -1
  15. package/lib/esm/vertexai/models/gemini.js +39 -12
  16. package/lib/esm/vertexai/models/gemini.js.map +1 -1
  17. package/lib/types/azure/azure_foundry.d.ts.map +1 -1
  18. package/lib/types/bedrock/index.d.ts +2 -2
  19. package/lib/types/bedrock/index.d.ts.map +1 -1
  20. package/lib/types/vertexai/index.d.ts.map +1 -1
  21. package/lib/types/vertexai/models/gemini.d.ts +3 -2
  22. package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
  23. package/package.json +14 -14
  24. package/src/azure/azure_foundry.ts +9 -1
  25. package/src/bedrock/index.ts +36 -23
  26. package/src/vertexai/index.ts +29 -22
  27. package/src/vertexai/models/gemini.ts +50 -12
  28. package/lib/cjs/openai/azure.js +0 -31
  29. package/lib/cjs/openai/azure.js.map +0 -1
  30. package/lib/esm/openai/azure.js +0 -27
  31. package/lib/esm/openai/azure.js.map +0 -1
  32. package/lib/esm/src/adobe/firefly.js +0 -115
  33. package/lib/esm/src/adobe/firefly.js.map +0 -1
  34. package/lib/esm/src/bedrock/converse.js +0 -278
  35. package/lib/esm/src/bedrock/converse.js.map +0 -1
  36. package/lib/esm/src/bedrock/index.js +0 -797
  37. package/lib/esm/src/bedrock/index.js.map +0 -1
  38. package/lib/esm/src/bedrock/nova-image-payload.js +0 -203
  39. package/lib/esm/src/bedrock/nova-image-payload.js.map +0 -1
  40. package/lib/esm/src/bedrock/payloads.js +0 -2
  41. package/lib/esm/src/bedrock/payloads.js.map +0 -1
  42. package/lib/esm/src/bedrock/s3.js +0 -99
  43. package/lib/esm/src/bedrock/s3.js.map +0 -1
  44. package/lib/esm/src/groq/index.js +0 -130
  45. package/lib/esm/src/groq/index.js.map +0 -1
  46. package/lib/esm/src/huggingface_ie.js +0 -196
  47. package/lib/esm/src/huggingface_ie.js.map +0 -1
  48. package/lib/esm/src/index.js +0 -13
  49. package/lib/esm/src/index.js.map +0 -1
  50. package/lib/esm/src/mistral/index.js +0 -167
  51. package/lib/esm/src/mistral/index.js.map +0 -1
  52. package/lib/esm/src/mistral/types.js +0 -80
  53. package/lib/esm/src/mistral/types.js.map +0 -1
  54. package/lib/esm/src/openai/azure.js +0 -27
  55. package/lib/esm/src/openai/azure.js.map +0 -1
  56. package/lib/esm/src/openai/index.js +0 -463
  57. package/lib/esm/src/openai/index.js.map +0 -1
  58. package/lib/esm/src/openai/openai.js +0 -14
  59. package/lib/esm/src/openai/openai.js.map +0 -1
  60. package/lib/esm/src/replicate.js +0 -268
  61. package/lib/esm/src/replicate.js.map +0 -1
  62. package/lib/esm/src/test/TestErrorCompletionStream.js +0 -16
  63. package/lib/esm/src/test/TestErrorCompletionStream.js.map +0 -1
  64. package/lib/esm/src/test/TestValidationErrorCompletionStream.js +0 -20
  65. package/lib/esm/src/test/TestValidationErrorCompletionStream.js.map +0 -1
  66. package/lib/esm/src/test/index.js +0 -91
  67. package/lib/esm/src/test/index.js.map +0 -1
  68. package/lib/esm/src/test/utils.js +0 -25
  69. package/lib/esm/src/test/utils.js.map +0 -1
  70. package/lib/esm/src/togetherai/index.js +0 -122
  71. package/lib/esm/src/togetherai/index.js.map +0 -1
  72. package/lib/esm/src/togetherai/interfaces.js +0 -2
  73. package/lib/esm/src/togetherai/interfaces.js.map +0 -1
  74. package/lib/esm/src/vertexai/debug.js +0 -6
  75. package/lib/esm/src/vertexai/debug.js.map +0 -1
  76. package/lib/esm/src/vertexai/embeddings/embeddings-image.js +0 -24
  77. package/lib/esm/src/vertexai/embeddings/embeddings-image.js.map +0 -1
  78. package/lib/esm/src/vertexai/embeddings/embeddings-text.js +0 -20
  79. package/lib/esm/src/vertexai/embeddings/embeddings-text.js.map +0 -1
  80. package/lib/esm/src/vertexai/index.js +0 -270
  81. package/lib/esm/src/vertexai/index.js.map +0 -1
  82. package/lib/esm/src/vertexai/models/claude.js +0 -370
  83. package/lib/esm/src/vertexai/models/claude.js.map +0 -1
  84. package/lib/esm/src/vertexai/models/gemini.js +0 -700
  85. package/lib/esm/src/vertexai/models/gemini.js.map +0 -1
  86. package/lib/esm/src/vertexai/models/imagen.js +0 -310
  87. package/lib/esm/src/vertexai/models/imagen.js.map +0 -1
  88. package/lib/esm/src/vertexai/models/llama.js +0 -178
  89. package/lib/esm/src/vertexai/models/llama.js.map +0 -1
  90. package/lib/esm/src/vertexai/models.js +0 -21
  91. package/lib/esm/src/vertexai/models.js.map +0 -1
  92. package/lib/esm/src/watsonx/index.js +0 -157
  93. package/lib/esm/src/watsonx/index.js.map +0 -1
  94. package/lib/esm/src/watsonx/interfaces.js +0 -2
  95. package/lib/esm/src/watsonx/interfaces.js.map +0 -1
  96. package/lib/esm/src/xai/index.js +0 -64
  97. package/lib/esm/src/xai/index.js.map +0 -1
  98. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  99. package/lib/types/openai/azure.d.ts +0 -20
  100. package/lib/types/openai/azure.d.ts.map +0 -1
  101. package/lib/types/src/adobe/firefly.d.ts +0 -29
  102. package/lib/types/src/bedrock/converse.d.ts +0 -8
  103. package/lib/types/src/bedrock/index.d.ts +0 -57
  104. package/lib/types/src/bedrock/nova-image-payload.d.ts +0 -73
  105. package/lib/types/src/bedrock/payloads.d.ts +0 -11
  106. package/lib/types/src/bedrock/s3.d.ts +0 -22
  107. package/lib/types/src/groq/index.d.ts +0 -23
  108. package/lib/types/src/huggingface_ie.d.ts +0 -31
  109. package/lib/types/src/index.d.ts +0 -12
  110. package/lib/types/src/mistral/index.d.ts +0 -24
  111. package/lib/types/src/mistral/types.d.ts +0 -131
  112. package/lib/types/src/openai/azure.d.ts +0 -19
  113. package/lib/types/src/openai/index.d.ts +0 -25
  114. package/lib/types/src/openai/openai.d.ts +0 -14
  115. package/lib/types/src/replicate.d.ts +0 -44
  116. package/lib/types/src/test/TestErrorCompletionStream.d.ts +0 -8
  117. package/lib/types/src/test/TestValidationErrorCompletionStream.d.ts +0 -8
  118. package/lib/types/src/test/index.d.ts +0 -23
  119. package/lib/types/src/test/utils.d.ts +0 -4
  120. package/lib/types/src/togetherai/index.d.ts +0 -22
  121. package/lib/types/src/togetherai/interfaces.d.ts +0 -95
  122. package/lib/types/src/vertexai/debug.d.ts +0 -1
  123. package/lib/types/src/vertexai/embeddings/embeddings-image.d.ts +0 -10
  124. package/lib/types/src/vertexai/embeddings/embeddings-text.d.ts +0 -9
  125. package/lib/types/src/vertexai/index.d.ts +0 -49
  126. package/lib/types/src/vertexai/models/claude.d.ts +0 -17
  127. package/lib/types/src/vertexai/models/gemini.d.ts +0 -16
  128. package/lib/types/src/vertexai/models/imagen.d.ts +0 -74
  129. package/lib/types/src/vertexai/models/llama.d.ts +0 -19
  130. package/lib/types/src/vertexai/models.d.ts +0 -14
  131. package/lib/types/src/watsonx/index.d.ts +0 -26
  132. package/lib/types/src/watsonx/interfaces.d.ts +0 -64
  133. package/lib/types/src/xai/index.d.ts +0 -18
@@ -1,268 +0,0 @@
1
- import { AbstractDriver, TrainingJobStatus, } from "@llumiverse/core";
2
- import { EventStream } from "@llumiverse/core/async";
3
- import { EventSource } from "eventsource";
4
- import Replicate from "replicate";
5
- let cachedTrainableModels;
6
- let cachedTrainableModelsTimestamp = 0;
7
- const supportFineTunning = new Set([
8
- "meta/llama-2-70b-chat",
9
- "meta/llama-2-13b-chat",
10
- "meta/llama-2-7b-chat",
11
- "meta/llama-2-7b",
12
- "meta/llama-2-70b",
13
- "meta/llama-2-13b",
14
- "mistralai/mistral-7b-v0.1"
15
- ]);
16
- export class ReplicateDriver extends AbstractDriver {
17
- static PROVIDER = "replicate";
18
- provider = ReplicateDriver.PROVIDER;
19
- service;
20
- static parseModelId(modelId) {
21
- const [owner, modelPart] = modelId.split("/");
22
- const i = modelPart.indexOf(':');
23
- if (i === -1) {
24
- throw new Error("Invalid model id. Expected format: owner/model:version");
25
- }
26
- return {
27
- owner, model: modelPart.slice(0, i), version: modelPart.slice(i + 1)
28
- };
29
- }
30
- constructor(options) {
31
- super(options);
32
- this.service = new Replicate({
33
- auth: options.apiKey,
34
- });
35
- }
36
- extractDataFromResponse(response) {
37
- const text = response.output.join("");
38
- return {
39
- result: text,
40
- };
41
- }
42
- async requestTextCompletionStream(prompt, options) {
43
- if (options.model_options?._option_id !== "text-fallback") {
44
- this.logger.warn("Invalid model options", { options: options.model_options });
45
- }
46
- options.model_options = options.model_options;
47
- const model = ReplicateDriver.parseModelId(options.model);
48
- const predictionData = {
49
- input: {
50
- prompt: prompt,
51
- max_new_tokens: options.model_options?.max_tokens,
52
- temperature: options.model_options?.temperature,
53
- },
54
- version: model.version,
55
- stream: true, //streaming described here https://replicate.com/blog/streaming
56
- };
57
- const prediction = await this.service.predictions.create(predictionData);
58
- const stream = new EventStream();
59
- const source = new EventSource(prediction.urls.stream);
60
- source.addEventListener("output", (e) => {
61
- stream.push(e.data);
62
- });
63
- source.addEventListener("error", (e) => {
64
- let error;
65
- try {
66
- error = JSON.parse(e.data);
67
- }
68
- catch (error) {
69
- error = JSON.stringify(e);
70
- }
71
- this.logger?.error("Error in SSE stream", { e, error });
72
- });
73
- source.addEventListener("done", () => {
74
- try {
75
- stream.close(""); // not using e.data which is {}
76
- }
77
- finally {
78
- source.close();
79
- }
80
- });
81
- return stream;
82
- }
83
- async requestTextCompletion(prompt, options) {
84
- if (options.model_options?._option_id !== "text-fallback") {
85
- this.logger.warn("Invalid model options", { options: options.model_options });
86
- }
87
- options.model_options = options.model_options;
88
- const model = ReplicateDriver.parseModelId(options.model);
89
- const predictionData = {
90
- input: {
91
- prompt: prompt,
92
- max_new_tokens: options.model_options?.max_tokens,
93
- temperature: options.model_options?.temperature,
94
- },
95
- version: model.version,
96
- //TODO stream
97
- //stream: stream, //streaming described here https://replicate.com/blog/streaming
98
- };
99
- const prediction = await this.service.predictions.create(predictionData);
100
- //TODO stream
101
- //if we're streaming, return right away for the stream handler to handle
102
- // if (stream) return prediction;
103
- //not streaming, wait for the result
104
- const res = await this.service.wait(prediction, {});
105
- const text = res.output.join("");
106
- return {
107
- result: text,
108
- original_response: options.include_original_response ? res : undefined,
109
- };
110
- }
111
- async startTraining(dataset, options) {
112
- if (options.name.indexOf("/") === -1) {
113
- throw new Error("Invalid target model name. Expected format: owner/model");
114
- }
115
- const { owner, model, version } = ReplicateDriver.parseModelId(options.model);
116
- const job = await this.service.trainings.create(owner, model, version, {
117
- destination: options.name,
118
- input: {
119
- train_data: await dataset.getURL(),
120
- },
121
- });
122
- return jobInfo(job, options.name);
123
- }
124
- /**
125
- * This method is not returning a consistent TrainingJob like the one returned by startTraining
126
- * Instead of returning the full model name `owner/model:version` it returns only the version `version
127
- * @param jobId
128
- * @returns
129
- */
130
- async cancelTraining(jobId) {
131
- const job = await this.service.trainings.cancel(jobId);
132
- return jobInfo(job);
133
- }
134
- /**
135
- * This method is not returning a consistent TrainingJob like the one returned by startTraining
136
- * Instead of returning the full model name `owner/model:version` it returns only the version `version
137
- * @param jobId
138
- * @returns
139
- */
140
- async getTrainingJob(jobId) {
141
- const job = await this.service.trainings.get(jobId);
142
- return jobInfo(job);
143
- }
144
- // ========= management API =============
145
- async validateConnection() {
146
- try {
147
- await this.service.predictions.list();
148
- return true;
149
- }
150
- catch (error) {
151
- return false;
152
- }
153
- }
154
- async _listTrainableModels() {
155
- const promises = Array.from(supportFineTunning).map(id => {
156
- const [owner, model] = id.split('/');
157
- return this.service.models.get(owner, model);
158
- });
159
- const results = await Promise.all(promises);
160
- return results.filter(m => !!m.latest_version).map(m => {
161
- const fullName = m.owner + '/' + m.name;
162
- const v = m.latest_version;
163
- return {
164
- id: fullName + ':' + v.id,
165
- name: fullName + "@" + v.cog_version + ":" + v.id.slice(0, 6),
166
- provider: this.provider,
167
- owner: m.owner,
168
- description: m.description,
169
- };
170
- });
171
- }
172
- async listTrainableModels() {
173
- if (!cachedTrainableModels || Date.now() > cachedTrainableModelsTimestamp + 12 * 3600 * 1000) { // 12 hours
174
- cachedTrainableModels = await this._listTrainableModels();
175
- cachedTrainableModelsTimestamp = Date.now();
176
- }
177
- return cachedTrainableModels;
178
- }
179
- async listModels(params = { text: '' }) {
180
- if (!params.text) {
181
- return this.listTrainableModels();
182
- }
183
- const [owner, model] = params.text.split("/");
184
- if (!owner || !model) {
185
- throw new Error("Invalid model name. Expected format: owner/model");
186
- }
187
- return this.listModelVersions(owner, model);
188
- }
189
- async listModelVersions(owner, model) {
190
- const [rModel, versions] = await Promise.all([
191
- this.service.models.get(owner, model),
192
- this.service.models.versions.list(owner, model),
193
- ]);
194
- if (!rModel || !versions || versions.length === 0) {
195
- throw new Error("Model not found or no versions available");
196
- }
197
- const models = versions.results.map((v) => {
198
- const fullName = rModel.owner + '/' + rModel.name;
199
- return {
200
- id: fullName + ':' + v.id,
201
- name: fullName + "@" + v.cog_version + ":" + v.id.slice(0, 6),
202
- provider: this.provider,
203
- owner: rModel.owner,
204
- description: rModel.description,
205
- canTrain: supportFineTunning.has(fullName),
206
- };
207
- });
208
- //set latest version
209
- //const idx = models.findIndex(m => m.id === rModel.latest_version?.id);
210
- //models[idx].name = rModel.name + "@latest"
211
- return models;
212
- }
213
- async searchModels(params) {
214
- const res = await this.service.request("models/search", {
215
- params: {
216
- query: params.text,
217
- },
218
- });
219
- const rModels = (await res.json()).models;
220
- const models = rModels.map((v) => {
221
- return {
222
- id: v.name,
223
- name: v.name,
224
- provider: this.provider,
225
- owner: v.username,
226
- description: v.description,
227
- has_versions: true,
228
- };
229
- });
230
- return models;
231
- }
232
- async generateEmbeddings() {
233
- throw new Error("Method not implemented.");
234
- }
235
- }
236
- function jobInfo(job, modelName) {
237
- // 'starting' | 'processing' | 'succeeded' | 'failed' | 'canceled'
238
- const jobStatus = job.status;
239
- let details;
240
- let status = TrainingJobStatus.running;
241
- if (jobStatus === 'succeeded') {
242
- status = TrainingJobStatus.succeeded;
243
- }
244
- else if (jobStatus === 'failed') {
245
- status = TrainingJobStatus.failed;
246
- const error = job.error;
247
- if (typeof error === 'string') {
248
- details = error;
249
- }
250
- else {
251
- details = JSON.stringify(error);
252
- }
253
- }
254
- else if (jobStatus === 'canceled') {
255
- status = TrainingJobStatus.cancelled;
256
- }
257
- else {
258
- status = TrainingJobStatus.running;
259
- details = job.status;
260
- }
261
- return {
262
- id: job.id,
263
- status,
264
- details,
265
- model: modelName ? modelName + ':' + job.version : job.version
266
- };
267
- }
268
- //# sourceMappingURL=replicate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replicate.js","sourceRoot":"","sources":["../../../src/replicate.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { sleep, throwError } from "./utils.js";
2
- export class TestErrorCompletionStream {
3
- segments;
4
- options;
5
- completion;
6
- constructor(segments, options) {
7
- this.segments = segments;
8
- this.options = options;
9
- }
10
- async *[Symbol.asyncIterator]() {
11
- yield "Started TestError. Next we will thrown an error.\n";
12
- sleep(1000);
13
- throwError("Testing stream completion error.", this.segments);
14
- }
15
- }
16
- //# sourceMappingURL=TestErrorCompletionStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestErrorCompletionStream.js","sourceRoot":"","sources":["../../../../src/test/TestErrorCompletionStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,OAAO,yBAAyB;IAIf;IACR;IAHX,UAAU,CAAiD;IAE3D,YAAmB,QAAyB,EACjC,OAAyB;QADjB,aAAQ,GAAR,QAAQ,CAAiB;QACjC,YAAO,GAAP,OAAO,CAAkB;IACpC,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,oDAAoD,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,UAAU,CAAC,kCAAkC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;CACJ"}
@@ -1,20 +0,0 @@
1
- import { createValidationErrorCompletion, sleep } from "./utils.js";
2
- export class TestValidationErrorCompletionStream {
3
- segments;
4
- options;
5
- completion;
6
- constructor(segments, options) {
7
- this.segments = segments;
8
- this.options = options;
9
- }
10
- async *[Symbol.asyncIterator]() {
11
- yield "Started TestValidationError.\n";
12
- await sleep(1000);
13
- yield "chunk1\n";
14
- await sleep(1000);
15
- yield "chunk2\n";
16
- await sleep(1000);
17
- this.completion = createValidationErrorCompletion(this.segments);
18
- }
19
- }
20
- //# sourceMappingURL=TestValidationErrorCompletionStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestValidationErrorCompletionStream.js","sourceRoot":"","sources":["../../../../src/test/TestValidationErrorCompletionStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGpE,MAAM,OAAO,mCAAmC;IAIzB;IACR;IAHX,UAAU,CAAiD;IAE3D,YAAmB,QAAyB,EACjC,OAAyB;QADjB,aAAQ,GAAR,QAAQ,CAAiB;QACjC,YAAO,GAAP,OAAO,CAAkB;IACpC,CAAC;IACD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,MAAM,gCAAgC,CAAC;QACvC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,UAAU,CAAC;QACjB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,UAAU,CAAC;QACjB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;CACJ"}
@@ -1,91 +0,0 @@
1
- import { AIModelStatus, ModelType } from "@llumiverse/core";
2
- import { TestErrorCompletionStream } from "./TestErrorCompletionStream.js";
3
- import { TestValidationErrorCompletionStream } from "./TestValidationErrorCompletionStream.js";
4
- import { createValidationErrorCompletion, sleep, throwError } from "./utils.js";
5
- export * from "./TestErrorCompletionStream.js";
6
- export * from "./TestValidationErrorCompletionStream.js";
7
- export var TestDriverModels;
8
- (function (TestDriverModels) {
9
- TestDriverModels["executionError"] = "execution-error";
10
- TestDriverModels["validationError"] = "validation-error";
11
- })(TestDriverModels || (TestDriverModels = {}));
12
- export class TestDriver {
13
- provider = "test";
14
- createTrainingPrompt() {
15
- throw new Error("Method not implemented.");
16
- }
17
- startTraining() {
18
- throw new Error("Method not implemented.");
19
- }
20
- cancelTraining() {
21
- throw new Error("Method not implemented.");
22
- }
23
- getTrainingJob(_jobId) {
24
- throw new Error("Method not implemented.");
25
- }
26
- async createPrompt(segments, _opts) {
27
- return segments;
28
- }
29
- execute(segments, options) {
30
- switch (options.model) {
31
- case TestDriverModels.executionError:
32
- return this.executeError(segments, options);
33
- case TestDriverModels.validationError:
34
- return this.executeValidationError(segments, options);
35
- default:
36
- throwError("[test driver] Unknown model: " + options.model, segments);
37
- }
38
- }
39
- async stream(segments, options) {
40
- switch (options.model) {
41
- case TestDriverModels.executionError:
42
- return new TestErrorCompletionStream(segments, options);
43
- case TestDriverModels.validationError:
44
- return new TestValidationErrorCompletionStream(segments, options);
45
- default:
46
- throwError("[test driver] Unknown model: " + options.model, segments);
47
- }
48
- }
49
- async listTrainableModels() {
50
- return [];
51
- }
52
- async listModels() {
53
- return [
54
- {
55
- id: TestDriverModels.executionError,
56
- name: "Execution Error",
57
- type: ModelType.Test,
58
- provider: this.provider,
59
- status: AIModelStatus.Available,
60
- description: "Test execution errors",
61
- tags: [],
62
- },
63
- {
64
- id: TestDriverModels.validationError,
65
- name: "Validation Error",
66
- type: ModelType.Test,
67
- provider: this.provider,
68
- status: AIModelStatus.Available,
69
- description: "Test validation errors",
70
- tags: [],
71
- },
72
- ];
73
- }
74
- validateConnection() {
75
- throw new Error("Method not implemented.");
76
- }
77
- generateEmbeddings() {
78
- throw new Error("Method not implemented.");
79
- }
80
- // ============== execution error ==================
81
- async executeError(segments, _options) {
82
- await sleep(1000);
83
- throwError("Testing stream completion error.", segments);
84
- }
85
- // ============== validation error ==================
86
- async executeValidationError(segments, _options) {
87
- await sleep(3000);
88
- return createValidationErrorCompletion(segments);
89
- }
90
- }
91
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test/index.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- export function throwError(message, prompt) {
2
- const err = new Error(message);
3
- err.prompt = prompt;
4
- throw err;
5
- }
6
- export function createValidationErrorCompletion(segments) {
7
- return {
8
- result: "An invalid result",
9
- prompt: segments,
10
- execution_time: 3000,
11
- error: {
12
- code: "validation_error",
13
- message: "Result cannot be validated!",
14
- },
15
- token_usage: {
16
- result: 10,
17
- prompt: 10,
18
- total: 20,
19
- },
20
- };
21
- }
22
- export function sleep(ms) {
23
- return new Promise(resolve => setTimeout(resolve, ms));
24
- }
25
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/test/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,MAAuB;IAC/D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,GAAW,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,CAAC;AACd,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAyB;IACrE,OAAO;QACH,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE;YACH,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,6BAA6B;SACzC;QACD,WAAW,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACZ;KACkC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,122 +0,0 @@
1
- import { AbstractDriver } from "@llumiverse/core";
2
- import { transformSSEStream } from "@llumiverse/core/async";
3
- import { FetchClient } from "@vertesia/api-fetch-client";
4
- export class TogetherAIDriver extends AbstractDriver {
5
- static PROVIDER = "togetherai";
6
- provider = TogetherAIDriver.PROVIDER;
7
- apiKey;
8
- fetchClient;
9
- constructor(options) {
10
- super(options);
11
- this.apiKey = options.apiKey;
12
- this.fetchClient = new FetchClient('https://api.together.xyz').withHeaders({
13
- authorization: `Bearer ${this.apiKey}`
14
- });
15
- }
16
- getResponseFormat = (options) => {
17
- return options.result_schema ?
18
- {
19
- type: "json_object",
20
- schema: options.result_schema
21
- } : undefined;
22
- };
23
- async requestTextCompletion(prompt, options) {
24
- if (options.model_options?._option_id !== "text-fallback") {
25
- this.logger.warn("Invalid model options", { options: options.model_options });
26
- }
27
- options.model_options = options.model_options;
28
- const stop_seq = options.model_options?.stop_sequence ?? [];
29
- const res = await this.fetchClient.post('/v1/completions', {
30
- payload: {
31
- model: options.model,
32
- prompt: prompt,
33
- response_format: this.getResponseFormat(options),
34
- max_tokens: options.model_options?.max_tokens,
35
- temperature: options.model_options?.temperature,
36
- top_p: options.model_options?.top_p,
37
- top_k: options.model_options?.top_k,
38
- //logprobs: options.top_logprobs, //Logprobs output currently not supported
39
- frequency_penalty: options.model_options?.frequency_penalty,
40
- presence_penalty: options.model_options?.presence_penalty,
41
- stop: [
42
- "</s>",
43
- "[/INST]",
44
- ...stop_seq,
45
- ],
46
- }
47
- });
48
- const choice = res.choices[0];
49
- const text = choice.text ?? '';
50
- const usage = res.usage || {};
51
- return {
52
- result: text,
53
- token_usage: {
54
- prompt: usage.prompt_tokens,
55
- result: usage.completion_tokens,
56
- total: usage.total_tokens,
57
- },
58
- finish_reason: choice.finish_reason, //Uses expected "stop" , "length" format
59
- original_response: options.include_original_response ? res : undefined,
60
- };
61
- }
62
- async requestTextCompletionStream(prompt, options) {
63
- if (options.model_options?._option_id !== "text-fallback") {
64
- this.logger.warn("Invalid model options", { options: options.model_options });
65
- }
66
- options.model_options = options.model_options;
67
- const stop_seq = options.model_options?.stop_sequence ?? [];
68
- const stream = await this.fetchClient.post('/v1/completions', {
69
- payload: {
70
- model: options.model,
71
- prompt: prompt,
72
- max_tokens: options.model_options?.max_tokens,
73
- temperature: options.model_options?.temperature,
74
- response_format: this.getResponseFormat(options),
75
- top_p: options.model_options?.top_p,
76
- top_k: options.model_options?.top_k,
77
- //logprobs: options.top_logprobs, //Logprobs output currently not supported
78
- frequency_penalty: options.model_options?.frequency_penalty,
79
- presence_penalty: options.model_options?.presence_penalty,
80
- stream: true,
81
- stop: [
82
- "</s>",
83
- "[/INST]",
84
- ...stop_seq,
85
- ],
86
- },
87
- reader: 'sse'
88
- });
89
- return transformSSEStream(stream, (data) => {
90
- const json = JSON.parse(data);
91
- return {
92
- result: json.choices[0]?.text ?? '',
93
- finish_reason: json.choices[0]?.finish_reason, //Uses expected "stop" , "length" format
94
- token_usage: {
95
- prompt: json.usage?.prompt_tokens,
96
- result: json.usage?.completion_tokens,
97
- total: json.usage?.prompt_tokens + json.usage?.completion_tokens,
98
- }
99
- };
100
- });
101
- }
102
- async listModels() {
103
- const models = await this.fetchClient.get("/models/info");
104
- // logObject('#### LIST MODELS RESULT IS', models[0]);
105
- const aiModels = models.map(m => {
106
- return {
107
- id: m.name,
108
- name: m.display_name,
109
- description: m.description,
110
- provider: this.provider,
111
- };
112
- });
113
- return aiModels;
114
- }
115
- validateConnection() {
116
- throw new Error("Method not implemented.");
117
- }
118
- generateEmbeddings() {
119
- throw new Error("Method not implemented.");
120
- }
121
- }
122
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/togetherai/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/togetherai/interfaces.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import util from 'util';
2
- export function logObject(prefix, obj) {
3
- const fullObj = util.inspect(obj, { showHidden: false, depth: null, colors: true });
4
- console.log(prefix, fullObj);
5
- }
6
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/vertexai/debug.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,GAAQ;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAChC,CAAC"}
@@ -1,24 +0,0 @@
1
- //Currently we are only supporting either text or images sent to the multimodal model.
2
- export async function getEmbeddingsForImages(driver, options) {
3
- // API is returns a 400 Error if a property is empty, so you undefined and "as" to remove the property entirely.
4
- const prompt = {
5
- instances: [{
6
- text: options.image ? undefined : options.text,
7
- image: options.image ?
8
- {
9
- bytesBase64Encoded: options.image
10
- }
11
- : undefined,
12
- }]
13
- };
14
- const model = options.model || "multimodalembedding@001";
15
- const client = driver.getFetchClient();
16
- const result = await client.post(`/publishers/google/models/${model}:predict`, {
17
- payload: prompt
18
- });
19
- return {
20
- values: result.predictions[0].imageEmbedding ?? result.predictions[0].textEmbedding,
21
- model: model,
22
- };
23
- }
24
- //# sourceMappingURL=embeddings-image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embeddings-image.js","sourceRoot":"","sources":["../../../../../src/vertexai/embeddings/embeddings-image.ts"],"names":[],"mappings":"AAwBA,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAsB,EAAE,OAA0B;IAE3F,gHAAgH;IAChH,MAAM,MAAM,GAAG;QACX,SAAS,EAAE,CAAC;gBACR,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;gBAC9C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAClB;wBACI,kBAAkB,EAAE,OAAO,CAAC,KAAK;qBACpC;oBACD,CAAC,CAAC,SAAS;aAClB,CAAC;KACuB,CAAC;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,yBAAyB,CAAC;IAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,6BAA6B,KAAK,UAAU,EAAE;QAC3E,OAAO,EAAE,MAAM;KAClB,CAA0B,CAAC;IAE5B,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa;QACnF,KAAK,EAAE,KAAK;KACf,CAAC;AACN,CAAC"}