@llumiverse/drivers 0.22.0 → 0.23.0-dev-20251118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/cjs/adobe/firefly.js +8 -7
- package/lib/cjs/adobe/firefly.js.map +1 -1
- package/lib/cjs/azure/azure_foundry.js +12 -12
- package/lib/cjs/azure/azure_foundry.js.map +1 -1
- package/lib/cjs/bedrock/index.js +172 -22
- package/lib/cjs/bedrock/index.js.map +1 -1
- package/lib/cjs/bedrock/twelvelabs.js +87 -0
- package/lib/cjs/bedrock/twelvelabs.js.map +1 -0
- package/lib/cjs/groq/index.js +91 -16
- package/lib/cjs/groq/index.js.map +1 -1
- package/lib/cjs/huggingface_ie.js +7 -6
- package/lib/cjs/huggingface_ie.js.map +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/mistral/index.js +5 -4
- package/lib/cjs/mistral/index.js.map +1 -1
- package/lib/cjs/openai/azure_openai.js +1 -1
- package/lib/cjs/openai/azure_openai.js.map +1 -1
- package/lib/cjs/openai/index.js +16 -12
- package/lib/cjs/openai/index.js.map +1 -1
- package/lib/cjs/replicate.js +6 -6
- package/lib/cjs/replicate.js.map +1 -1
- package/lib/cjs/test/utils.js +1 -1
- package/lib/cjs/test/utils.js.map +1 -1
- package/lib/cjs/test-driver/TestErrorCompletionStream.js +20 -0
- package/lib/cjs/test-driver/TestErrorCompletionStream.js.map +1 -0
- package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js +24 -0
- package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/cjs/test-driver/index.js +109 -0
- package/lib/cjs/test-driver/index.js.map +1 -0
- package/lib/cjs/test-driver/utils.js +30 -0
- package/lib/cjs/test-driver/utils.js.map +1 -0
- package/lib/cjs/togetherai/index.js +4 -4
- package/lib/cjs/togetherai/index.js.map +1 -1
- package/lib/cjs/vertexai/embeddings/embeddings-text.js +1 -1
- package/lib/cjs/vertexai/embeddings/embeddings-text.js.map +1 -1
- package/lib/cjs/vertexai/index.js +136 -31
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/claude.js +38 -16
- package/lib/cjs/vertexai/models/claude.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +131 -41
- package/lib/cjs/vertexai/models/gemini.js.map +1 -1
- package/lib/cjs/vertexai/models/imagen.js +12 -23
- package/lib/cjs/vertexai/models/imagen.js.map +1 -1
- package/lib/cjs/vertexai/models/llama.js +4 -3
- package/lib/cjs/vertexai/models/llama.js.map +1 -1
- package/lib/cjs/vertexai/models.js +13 -2
- package/lib/cjs/vertexai/models.js.map +1 -1
- package/lib/cjs/watsonx/index.js +5 -5
- package/lib/cjs/watsonx/index.js.map +1 -1
- package/lib/cjs/xai/index.js +1 -1
- package/lib/cjs/xai/index.js.map +1 -1
- package/lib/esm/adobe/firefly.js +8 -7
- package/lib/esm/adobe/firefly.js.map +1 -1
- package/lib/esm/azure/azure_foundry.js +12 -12
- package/lib/esm/azure/azure_foundry.js.map +1 -1
- package/lib/esm/bedrock/index.js +172 -22
- package/lib/esm/bedrock/index.js.map +1 -1
- package/lib/esm/bedrock/twelvelabs.js +84 -0
- package/lib/esm/bedrock/twelvelabs.js.map +1 -0
- package/lib/esm/groq/index.js +91 -16
- package/lib/esm/groq/index.js.map +1 -1
- package/lib/esm/huggingface_ie.js +8 -7
- package/lib/esm/huggingface_ie.js.map +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/mistral/index.js +5 -4
- package/lib/esm/mistral/index.js.map +1 -1
- package/lib/esm/openai/azure_openai.js +1 -1
- package/lib/esm/openai/azure_openai.js.map +1 -1
- package/lib/esm/openai/index.js +16 -12
- package/lib/esm/openai/index.js.map +1 -1
- package/lib/esm/replicate.js +6 -6
- package/lib/esm/replicate.js.map +1 -1
- package/lib/esm/src/adobe/firefly.js +116 -0
- package/lib/esm/src/adobe/firefly.js.map +1 -0
- package/lib/esm/src/azure/azure_foundry.js +382 -0
- package/lib/esm/src/azure/azure_foundry.js.map +1 -0
- package/lib/esm/src/bedrock/converse.js +278 -0
- package/lib/esm/src/bedrock/converse.js.map +1 -0
- package/lib/esm/src/bedrock/index.js +962 -0
- package/lib/esm/src/bedrock/index.js.map +1 -0
- package/lib/esm/src/bedrock/nova-image-payload.js +203 -0
- package/lib/esm/src/bedrock/nova-image-payload.js.map +1 -0
- package/lib/esm/src/bedrock/payloads.js +2 -0
- package/lib/esm/src/bedrock/payloads.js.map +1 -0
- package/lib/esm/src/bedrock/s3.js +99 -0
- package/lib/esm/src/bedrock/s3.js.map +1 -0
- package/lib/esm/src/bedrock/twelvelabs.js +84 -0
- package/lib/esm/src/bedrock/twelvelabs.js.map +1 -0
- package/lib/esm/src/groq/index.js +286 -0
- package/lib/esm/src/groq/index.js.map +1 -0
- package/lib/esm/src/huggingface_ie.js +197 -0
- package/lib/esm/src/huggingface_ie.js.map +1 -0
- package/lib/esm/src/index.js +14 -0
- package/lib/esm/src/index.js.map +1 -0
- package/lib/esm/src/mistral/index.js +169 -0
- package/lib/esm/src/mistral/index.js.map +1 -0
- package/lib/esm/src/mistral/types.js +80 -0
- package/lib/esm/src/mistral/types.js.map +1 -0
- package/lib/esm/src/openai/azure_openai.js +68 -0
- package/lib/esm/src/openai/azure_openai.js.map +1 -0
- package/lib/esm/src/openai/index.js +464 -0
- package/lib/esm/src/openai/index.js.map +1 -0
- package/lib/esm/src/openai/openai.js +14 -0
- package/lib/esm/src/openai/openai.js.map +1 -0
- package/lib/esm/src/openai/openai_format.js +134 -0
- package/lib/esm/src/openai/openai_format.js.map +1 -0
- package/lib/esm/src/replicate.js +268 -0
- package/lib/esm/src/replicate.js.map +1 -0
- package/lib/esm/src/test/TestErrorCompletionStream.js +16 -0
- package/lib/esm/src/test/TestErrorCompletionStream.js.map +1 -0
- package/lib/esm/src/test/TestValidationErrorCompletionStream.js +20 -0
- package/lib/esm/src/test/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/esm/src/test/index.js +91 -0
- package/lib/esm/src/test/index.js.map +1 -0
- package/lib/esm/src/test/utils.js +25 -0
- package/lib/esm/src/test/utils.js.map +1 -0
- package/lib/esm/src/test-driver/TestErrorCompletionStream.js +16 -0
- package/lib/esm/src/test-driver/TestErrorCompletionStream.js.map +1 -0
- package/lib/esm/src/test-driver/TestValidationErrorCompletionStream.js +20 -0
- package/lib/esm/src/test-driver/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/esm/src/test-driver/index.js +91 -0
- package/lib/esm/src/test-driver/index.js.map +1 -0
- package/lib/esm/src/test-driver/utils.js +25 -0
- package/lib/esm/src/test-driver/utils.js.map +1 -0
- package/lib/esm/src/togetherai/index.js +122 -0
- package/lib/esm/src/togetherai/index.js.map +1 -0
- package/lib/esm/src/togetherai/interfaces.js +2 -0
- package/lib/esm/src/togetherai/interfaces.js.map +1 -0
- package/lib/esm/src/vertexai/debug.js +6 -0
- package/lib/esm/src/vertexai/debug.js.map +1 -0
- package/lib/esm/src/vertexai/embeddings/embeddings-image.js +24 -0
- package/lib/esm/src/vertexai/embeddings/embeddings-image.js.map +1 -0
- package/lib/esm/src/vertexai/embeddings/embeddings-text.js +20 -0
- package/lib/esm/src/vertexai/embeddings/embeddings-text.js.map +1 -0
- package/lib/esm/src/vertexai/index.js +383 -0
- package/lib/esm/src/vertexai/index.js.map +1 -0
- package/lib/esm/src/vertexai/models/claude.js +394 -0
- package/lib/esm/src/vertexai/models/claude.js.map +1 -0
- package/lib/esm/src/vertexai/models/gemini.js +817 -0
- package/lib/esm/src/vertexai/models/gemini.js.map +1 -0
- package/lib/esm/src/vertexai/models/imagen.js +302 -0
- package/lib/esm/src/vertexai/models/imagen.js.map +1 -0
- package/lib/esm/src/vertexai/models/llama.js +179 -0
- package/lib/esm/src/vertexai/models/llama.js.map +1 -0
- package/lib/esm/src/vertexai/models.js +32 -0
- package/lib/esm/src/vertexai/models.js.map +1 -0
- package/lib/esm/src/watsonx/index.js +157 -0
- package/lib/esm/src/watsonx/index.js.map +1 -0
- package/lib/esm/src/watsonx/interfaces.js +2 -0
- package/lib/esm/src/watsonx/interfaces.js.map +1 -0
- package/lib/esm/src/xai/index.js +64 -0
- package/lib/esm/src/xai/index.js.map +1 -0
- package/lib/esm/test/utils.js +1 -1
- package/lib/esm/test/utils.js.map +1 -1
- package/lib/esm/test-driver/TestErrorCompletionStream.js +16 -0
- package/lib/esm/test-driver/TestErrorCompletionStream.js.map +1 -0
- package/lib/esm/test-driver/TestValidationErrorCompletionStream.js +20 -0
- package/lib/esm/test-driver/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/esm/test-driver/index.js +91 -0
- package/lib/esm/test-driver/index.js.map +1 -0
- package/lib/esm/test-driver/utils.js +25 -0
- package/lib/esm/test-driver/utils.js.map +1 -0
- package/lib/esm/togetherai/index.js +4 -4
- package/lib/esm/togetherai/index.js.map +1 -1
- package/lib/esm/tsconfig.tsbuildinfo +1 -0
- package/lib/esm/vertexai/embeddings/embeddings-text.js +1 -1
- package/lib/esm/vertexai/embeddings/embeddings-text.js.map +1 -1
- package/lib/esm/vertexai/index.js +136 -31
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/claude.js +37 -15
- package/lib/esm/vertexai/models/claude.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +133 -43
- package/lib/esm/vertexai/models/gemini.js.map +1 -1
- package/lib/esm/vertexai/models/imagen.js +9 -17
- package/lib/esm/vertexai/models/imagen.js.map +1 -1
- package/lib/esm/vertexai/models/llama.js +4 -3
- package/lib/esm/vertexai/models/llama.js.map +1 -1
- package/lib/esm/vertexai/models.js +13 -2
- package/lib/esm/vertexai/models.js.map +1 -1
- package/lib/esm/watsonx/index.js +5 -5
- package/lib/esm/watsonx/index.js.map +1 -1
- package/lib/esm/xai/index.js +1 -1
- package/lib/esm/xai/index.js.map +1 -1
- package/lib/types/adobe/firefly.d.ts +3 -3
- package/lib/types/adobe/firefly.d.ts.map +1 -1
- package/lib/types/azure/azure_foundry.d.ts +2 -2
- package/lib/types/azure/azure_foundry.d.ts.map +1 -1
- package/lib/types/bedrock/index.d.ts +9 -5
- package/lib/types/bedrock/index.d.ts.map +1 -1
- package/lib/types/bedrock/twelvelabs.d.ts +50 -0
- package/lib/types/bedrock/twelvelabs.d.ts.map +1 -0
- package/lib/types/groq/index.d.ts +3 -0
- package/lib/types/groq/index.d.ts.map +1 -1
- package/lib/types/huggingface_ie.d.ts +8 -5
- package/lib/types/huggingface_ie.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -2
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/mistral/index.d.ts +2 -2
- package/lib/types/mistral/index.d.ts.map +1 -1
- package/lib/types/openai/index.d.ts +2 -2
- package/lib/types/openai/index.d.ts.map +1 -1
- package/lib/types/replicate.d.ts +6 -3
- package/lib/types/replicate.d.ts.map +1 -1
- package/lib/types/src/adobe/firefly.d.ts +29 -0
- package/lib/types/src/azure/azure_foundry.d.ts +49 -0
- package/lib/types/src/bedrock/converse.d.ts +8 -0
- package/lib/types/src/bedrock/index.d.ts +61 -0
- package/lib/types/src/bedrock/nova-image-payload.d.ts +73 -0
- package/lib/types/src/bedrock/payloads.d.ts +11 -0
- package/lib/types/src/bedrock/s3.d.ts +22 -0
- package/lib/types/src/bedrock/twelvelabs.d.ts +49 -0
- package/lib/types/src/groq/index.d.ts +26 -0
- package/lib/types/src/huggingface_ie.d.ts +34 -0
- package/lib/types/src/index.d.ts +13 -0
- package/lib/types/src/mistral/index.d.ts +24 -0
- package/lib/types/src/mistral/types.d.ts +131 -0
- package/lib/types/src/openai/azure_openai.d.ts +24 -0
- package/lib/types/src/openai/index.d.ts +24 -0
- package/lib/types/src/openai/openai.d.ts +14 -0
- package/lib/types/src/openai/openai_format.d.ts +18 -0
- package/lib/types/src/replicate.d.ts +47 -0
- package/lib/types/src/test/TestErrorCompletionStream.d.ts +8 -0
- package/lib/types/src/test/TestValidationErrorCompletionStream.d.ts +8 -0
- package/lib/types/src/test/index.d.ts +23 -0
- package/lib/types/src/test/utils.d.ts +4 -0
- package/lib/types/src/test-driver/TestErrorCompletionStream.d.ts +8 -0
- package/lib/types/src/test-driver/TestValidationErrorCompletionStream.d.ts +8 -0
- package/lib/types/src/test-driver/index.d.ts +23 -0
- package/lib/types/src/test-driver/utils.d.ts +4 -0
- package/lib/types/src/togetherai/index.d.ts +22 -0
- package/lib/types/src/togetherai/interfaces.d.ts +95 -0
- package/lib/types/src/vertexai/debug.d.ts +1 -0
- package/lib/types/src/vertexai/embeddings/embeddings-image.d.ts +10 -0
- package/lib/types/src/vertexai/embeddings/embeddings-text.d.ts +9 -0
- package/lib/types/src/vertexai/index.d.ts +52 -0
- package/lib/types/src/vertexai/models/claude.d.ts +19 -0
- package/lib/types/src/vertexai/models/gemini.d.ts +17 -0
- package/lib/types/src/vertexai/models/imagen.d.ts +74 -0
- package/lib/types/src/vertexai/models/llama.d.ts +19 -0
- package/lib/types/src/vertexai/models.d.ts +14 -0
- package/lib/types/src/watsonx/index.d.ts +26 -0
- package/lib/types/src/watsonx/interfaces.d.ts +64 -0
- package/lib/types/src/xai/index.d.ts +18 -0
- package/lib/types/test-driver/TestErrorCompletionStream.d.ts +9 -0
- package/lib/types/test-driver/TestErrorCompletionStream.d.ts.map +1 -0
- package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts +9 -0
- package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts.map +1 -0
- package/lib/types/test-driver/index.d.ts +24 -0
- package/lib/types/test-driver/index.d.ts.map +1 -0
- package/lib/types/test-driver/utils.d.ts +5 -0
- package/lib/types/test-driver/utils.d.ts.map +1 -0
- package/lib/types/togetherai/index.d.ts +3 -3
- package/lib/types/togetherai/index.d.ts.map +1 -1
- package/lib/types/vertexai/index.d.ts +17 -14
- package/lib/types/vertexai/index.d.ts.map +1 -1
- package/lib/types/vertexai/models/claude.d.ts +2 -0
- package/lib/types/vertexai/models/claude.d.ts.map +1 -1
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/vertexai/models/imagen.d.ts +2 -2
- package/lib/types/vertexai/models/imagen.d.ts.map +1 -1
- package/lib/types/vertexai/models/llama.d.ts +2 -2
- package/lib/types/vertexai/models/llama.d.ts.map +1 -1
- package/lib/types/vertexai/models.d.ts +2 -2
- package/lib/types/vertexai/models.d.ts.map +1 -1
- package/lib/types/watsonx/index.d.ts +3 -3
- package/lib/types/watsonx/index.d.ts.map +1 -1
- package/package.json +90 -85
- package/src/adobe/firefly.ts +14 -22
- package/src/azure/azure_foundry.ts +16 -16
- package/src/bedrock/index.ts +207 -28
- package/src/bedrock/twelvelabs.ts +150 -0
- package/src/groq/index.ts +134 -37
- package/src/huggingface_ie.ts +13 -14
- package/src/index.ts +2 -2
- package/src/mistral/index.ts +8 -7
- package/src/openai/azure_openai.ts +5 -5
- package/src/openai/index.ts +19 -13
- package/src/replicate.ts +14 -14
- package/src/{test → test-driver}/utils.ts +1 -1
- package/src/togetherai/index.ts +7 -7
- package/src/vertexai/embeddings/embeddings-text.ts +2 -2
- package/src/vertexai/index.ts +156 -40
- package/src/vertexai/models/claude.ts +45 -19
- package/src/vertexai/models/gemini.ts +161 -60
- package/src/vertexai/models/imagen.ts +15 -26
- package/src/vertexai/models/llama.ts +6 -5
- package/src/vertexai/models.ts +18 -6
- package/src/watsonx/index.ts +8 -8
- package/src/xai/index.ts +11 -12
- /package/src/{test → test-driver}/TestErrorCompletionStream.ts +0 -0
- /package/src/{test → test-driver}/TestValidationErrorCompletionStream.ts +0 -0
- /package/src/{test → test-driver}/index.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AIModel, Completion, ExecutionOptions,
|
|
1
|
+
import { AIModel, Completion, ExecutionOptions, PromptSegment } from "@llumiverse/core";
|
|
2
2
|
import { VertexAIDriver } from "../index.js";
|
|
3
3
|
interface ImagenBaseReference {
|
|
4
4
|
referenceType: "REFERENCE_TYPE_RAW" | "REFERENCE_TYPE_MASK" | "REFERENCE_TYPE_SUBJECT" | "REFERENCE_TYPE_CONTROL" | "REFERENCE_TYPE_STYLE";
|
|
@@ -69,7 +69,7 @@ export declare class ImagenModelDefinition {
|
|
|
69
69
|
model: AIModel;
|
|
70
70
|
constructor(modelId: string);
|
|
71
71
|
createPrompt(_driver: VertexAIDriver, segments: PromptSegment[], options: ExecutionOptions): Promise<ImagenPrompt>;
|
|
72
|
-
requestImageGeneration(driver: VertexAIDriver, prompt: ImagenPrompt, options: ExecutionOptions): Promise<Completion
|
|
72
|
+
requestImageGeneration(driver: VertexAIDriver, prompt: ImagenPrompt, options: ExecutionOptions): Promise<Completion>;
|
|
73
73
|
}
|
|
74
74
|
export {};
|
|
75
75
|
//# sourceMappingURL=imagen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imagen.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/imagen.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAAE,UAAU,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"imagen.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/imagen.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EACd,aAAa,EACvC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,UAAU,mBAAmB;IACzB,aAAa,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,wBAAwB,GACtF,wBAAwB,GAAG,sBAAsB,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE;QACZ,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAA;CACJ;AAED,oBAAY,cAAc;IACtB,UAAU,eAAe;IACzB,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;CACpD;AAED,oBAAY,cAAc;IACtB,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,kBAAkB,uBAAuB;CAC5C;AAED,UAAU,kBAAmB,SAAQ,mBAAmB;IACpD,aAAa,EAAE,oBAAoB,CAAC;CACvC;AAED,UAAU,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;IAC7E,aAAa,EAAE,qBAAqB,CAAC;IACrC,eAAe,EAAE;QACb,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAA;IACD,cAAc,CAAC,EAAE;QACb,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAA;CACJ;AAED,UAAU,sBAAuB,SAAQ,mBAAmB;IACxD,aAAa,EAAE,wBAAwB,CAAC;IACxC,kBAAkB,EAAE;QAChB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;KAChH,CAAA;CACJ;AAED,UAAU,sBAAuB,SAAQ,mBAAmB;IACxD,aAAa,EAAE,wBAAwB,CAAC;IACxC,kBAAkB,EAAE;QAChB,WAAW,EAAE,wBAAwB,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;QACvF,6BAA6B,CAAC,EAAE,OAAO,CAAC;KAC3C,CAAA;CACJ;AAED,UAAU,oBAAqB,SAAQ,mBAAmB;IACtD,aAAa,EAAE,sBAAsB,CAAC;IACtC,gBAAgB,EAAE;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAA;CACJ;AAED,KAAK,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAEvI,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkED,qBAAa,qBAAqB;IAE9B,KAAK,EAAE,OAAO,CAAA;gBAEF,OAAO,EAAE,MAAM;IAUrB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiKlH,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;CAkE7H"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AIModel, Completion,
|
|
1
|
+
import { AIModel, Completion, CompletionChunkObject, ExecutionOptions, PromptOptions, PromptSegment } from "@llumiverse/core";
|
|
2
2
|
import { VertexAIDriver } from "../index.js";
|
|
3
3
|
import { ModelDefinition } from "../models.js";
|
|
4
4
|
interface LLamaMessage {
|
|
@@ -14,7 +14,7 @@ export declare class LLamaModelDefinition implements ModelDefinition<LLamaPrompt
|
|
|
14
14
|
getLlamaModelRegion(modelName: string): string;
|
|
15
15
|
createPrompt(_driver: VertexAIDriver, segments: PromptSegment[], options: PromptOptions): Promise<LLamaPrompt>;
|
|
16
16
|
requestTextCompletion(driver: VertexAIDriver, prompt: LLamaPrompt, options: ExecutionOptions): Promise<Completion>;
|
|
17
|
-
requestTextCompletionStream(driver: VertexAIDriver, prompt: LLamaPrompt, options: ExecutionOptions): Promise<AsyncIterable<
|
|
17
|
+
requestTextCompletionStream(driver: VertexAIDriver, prompt: LLamaPrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
|
|
18
18
|
}
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=llama.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llama.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/llama.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"llama.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/llama.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAC5D,aAAa,EAAc,aAAa,EAE3C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,UAAU,YAAY;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACjB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAqED,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IAErE,KAAK,EAAE,OAAO,CAAA;gBAEF,OAAO,EAAE,MAAM;IAW3B,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IASxC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAwC9G,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA2DlH,2BAA2B,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;CAqD3J"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AIModel, Completion, PromptSegment, ExecutionOptions,
|
|
1
|
+
import { AIModel, Completion, PromptSegment, ExecutionOptions, CompletionChunkObject } from "@llumiverse/core";
|
|
2
2
|
import { VertexAIDriver } from "./index.js";
|
|
3
3
|
export interface ModelDefinition<PromptT = any> {
|
|
4
4
|
model: AIModel;
|
|
5
5
|
versions?: string[];
|
|
6
6
|
createPrompt: (driver: VertexAIDriver, segments: PromptSegment[], options: ExecutionOptions) => Promise<PromptT>;
|
|
7
7
|
requestTextCompletion: (driver: VertexAIDriver, prompt: PromptT, options: ExecutionOptions) => Promise<Completion>;
|
|
8
|
-
requestTextCompletionStream: (driver: VertexAIDriver, prompt: PromptT, options: ExecutionOptions) => Promise<AsyncIterable<
|
|
8
|
+
requestTextCompletionStream: (driver: VertexAIDriver, prompt: PromptT, options: ExecutionOptions) => Promise<AsyncIterable<CompletionChunkObject>>;
|
|
9
9
|
preValidationProcessing?(result: Completion, options: ExecutionOptions): {
|
|
10
10
|
result: Completion;
|
|
11
11
|
options: ExecutionOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAK3D,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,GAAG;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,qBAAqB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACnH,2BAA2B,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACnJ,uBAAuB,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAC9H;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CA2BjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AIModel, AbstractDriver, Completion,
|
|
1
|
+
import { AIModel, AbstractDriver, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions } from "@llumiverse/core";
|
|
2
2
|
import { FetchClient } from "@vertesia/api-fetch-client";
|
|
3
3
|
import { WatsonAuthToken } from "./interfaces.js";
|
|
4
4
|
interface WatsonxDriverOptions extends DriverOptions {
|
|
@@ -16,8 +16,8 @@ export declare class WatsonxDriver extends AbstractDriver<WatsonxDriverOptions,
|
|
|
16
16
|
fetcher?: FetchClient;
|
|
17
17
|
fetchClient: FetchClient;
|
|
18
18
|
constructor(options: WatsonxDriverOptions);
|
|
19
|
-
requestTextCompletion(prompt: string, options: ExecutionOptions): Promise<Completion
|
|
20
|
-
requestTextCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<
|
|
19
|
+
requestTextCompletion(prompt: string, options: ExecutionOptions): Promise<Completion>;
|
|
20
|
+
requestTextCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
|
|
21
21
|
listModels(): Promise<AIModel<string>[]>;
|
|
22
22
|
getAuthToken(): Promise<string>;
|
|
23
23
|
validateConnection(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/watsonx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/watsonx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzL,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAuD,eAAe,EAA2G,MAAM,iBAAiB,CAAC;AAEhN,UAAU,oBAAqB,SAAQ,aAAa;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAID,qBAAa,aAAc,SAAQ,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAC3E,MAAM,CAAC,QAAQ,SAAa;IAC5B,QAAQ,SAA0B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAA;gBAEZ,OAAO,EAAE,oBAAoB;IAQnC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAmCrF,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAwCrH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAoBxC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAwB/B,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAStC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAwBlF"}
|
package/package.json
CHANGED
|
@@ -1,87 +1,92 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"types": "./lib/types/index.d.ts",
|
|
11
|
-
"exports": {
|
|
2
|
+
"name": "@llumiverse/drivers",
|
|
3
|
+
"version": "0.23.0-dev-20251118",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.",
|
|
6
|
+
"files": [
|
|
7
|
+
"lib",
|
|
8
|
+
"src"
|
|
9
|
+
],
|
|
12
10
|
"types": "./lib/types/index.d.ts",
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
11
|
+
"exports": {
|
|
12
|
+
"types": "./lib/types/index.d.ts",
|
|
13
|
+
"import": "./lib/esm/index.js",
|
|
14
|
+
"require": "./lib/cjs/index.js"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "vitest run --retry 3",
|
|
18
|
+
"build": "pnpm exec tsmod build",
|
|
19
|
+
"clean": "rimraf ./lib tsconfig.tsbuildinfo"
|
|
20
|
+
},
|
|
21
|
+
"author": "Llumiverse",
|
|
22
|
+
"license": "Apache-2.0",
|
|
23
|
+
"homepage": "https://github.com/vertesia/llumiverse",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+ssh://git@github.com/vertesia/llumiverse.git"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"llm",
|
|
30
|
+
"ai",
|
|
31
|
+
"prompt",
|
|
32
|
+
"prompt engineering",
|
|
33
|
+
"ml",
|
|
34
|
+
"machine learning",
|
|
35
|
+
"embeddings",
|
|
36
|
+
"training",
|
|
37
|
+
"model",
|
|
38
|
+
"universal",
|
|
39
|
+
"api",
|
|
40
|
+
"chatgpt",
|
|
41
|
+
"openai",
|
|
42
|
+
"vertexai",
|
|
43
|
+
"bedrock",
|
|
44
|
+
"replicate",
|
|
45
|
+
"huggingface",
|
|
46
|
+
"togetherai"
|
|
47
|
+
],
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"dotenv": "^16.6.1",
|
|
50
|
+
"rimraf": "^6.1.0",
|
|
51
|
+
"ts-dual-module": "^0.6.3",
|
|
52
|
+
"typescript": "^5.9.3",
|
|
53
|
+
"vitest": "^3.2.4"
|
|
54
|
+
},
|
|
55
|
+
"dependencies": {
|
|
56
|
+
"@anthropic-ai/sdk": "^0.68.0",
|
|
57
|
+
"@anthropic-ai/vertex-sdk": "^0.14.0",
|
|
58
|
+
"@aws-sdk/client-bedrock": "^3.922.0",
|
|
59
|
+
"@aws-sdk/client-bedrock-runtime": "^3.922.0",
|
|
60
|
+
"@aws-sdk/client-s3": "^3.922.0",
|
|
61
|
+
"@aws-sdk/credential-providers": "^3.922.0",
|
|
62
|
+
"@aws-sdk/lib-storage": "^3.922.0",
|
|
63
|
+
"@aws-sdk/types": "^3.922.0",
|
|
64
|
+
"@azure-rest/ai-inference": "1.0.0-beta.6",
|
|
65
|
+
"@azure/ai-projects": "1.0.0-beta.10",
|
|
66
|
+
"@azure/core-auth": "^1.10.1",
|
|
67
|
+
"@azure/core-sse": "^2.3.0",
|
|
68
|
+
"@azure/identity": "^4.13.0",
|
|
69
|
+
"@azure/openai": "2.0.0",
|
|
70
|
+
"@google-cloud/aiplatform": "^5.12.0",
|
|
71
|
+
"@google/genai": "^1.28.0",
|
|
72
|
+
"@huggingface/inference": "4.13.0",
|
|
73
|
+
"@llumiverse/common": "workspace:*",
|
|
74
|
+
"@llumiverse/core": "workspace:*",
|
|
75
|
+
"@vertesia/api-fetch-client": "^0.79.0",
|
|
76
|
+
"eventsource": "^4.0.0",
|
|
77
|
+
"google-auth-library": "^10.5.0",
|
|
78
|
+
"groq-sdk": "^0.34.0",
|
|
79
|
+
"mnemonist": "^0.40.3",
|
|
80
|
+
"node-web-stream-adapters": "^0.2.1",
|
|
81
|
+
"openai": "^4.104.0",
|
|
82
|
+
"replicate": "^1.3.1"
|
|
83
|
+
},
|
|
84
|
+
"ts_dual_module": {
|
|
85
|
+
"outDir": "lib"
|
|
86
|
+
},
|
|
87
|
+
"pnpm": {
|
|
88
|
+
"overrides": {
|
|
89
|
+
"google-auth-library": "^10.5.0"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
package/src/adobe/firefly.ts
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AbstractDriver, AIModel,
|
|
3
|
-
Completion,
|
|
4
|
-
CompletionChunk, DriverOptions, EmbeddingsOptions,
|
|
5
|
-
EmbeddingsResult,
|
|
6
|
-
ExecutionOptions,
|
|
7
|
-
ImageGeneration,
|
|
8
|
-
ModelSearchPayload,
|
|
9
|
-
PromptSegment
|
|
10
|
-
} from "@llumiverse/core";
|
|
1
|
+
import { AbstractDriver, AIModel, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ModelSearchPayload, PromptSegment } from "@llumiverse/core";
|
|
11
2
|
|
|
12
3
|
interface FireflyImageSource {
|
|
13
4
|
url?: string;
|
|
@@ -83,7 +74,7 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
83
74
|
|
|
84
75
|
constructor(options: FireflyDriverOptions) {
|
|
85
76
|
super(options);
|
|
86
|
-
|
|
77
|
+
|
|
87
78
|
if (!options.apiKey) {
|
|
88
79
|
throw new Error("No API key provided for Firefly driver");
|
|
89
80
|
}
|
|
@@ -95,14 +86,14 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
95
86
|
throw new Error("Text completion not supported by Firefly");
|
|
96
87
|
}
|
|
97
88
|
|
|
98
|
-
async requestTextCompletionStream(_prompt: string, _options: ExecutionOptions): Promise<AsyncIterable<
|
|
89
|
+
async requestTextCompletionStream(_prompt: string, _options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>> {
|
|
99
90
|
throw new Error("Text completion streaming not supported by Firefly");
|
|
100
91
|
}
|
|
101
92
|
|
|
102
|
-
async requestImageGeneration(segments: PromptSegment[], options: ExecutionOptions): Promise<Completion
|
|
93
|
+
async requestImageGeneration(segments: PromptSegment[], options: ExecutionOptions): Promise<Completion> {
|
|
103
94
|
this.logger.debug(`[${this.provider}] Generating image with model ${options.model}`);
|
|
104
95
|
const prompt = segments.map(s => s.content).join("\n\n");
|
|
105
|
-
|
|
96
|
+
|
|
106
97
|
|
|
107
98
|
try {
|
|
108
99
|
const payload: FireflyGenerateRequest = {
|
|
@@ -127,7 +118,7 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
127
118
|
|
|
128
119
|
if (result.promptHasDeniedWords || result.promptHasBlockedArtists) {
|
|
129
120
|
return {
|
|
130
|
-
result:
|
|
121
|
+
result: [],
|
|
131
122
|
error: {
|
|
132
123
|
message: "Prompt contains denied words or blocked artists",
|
|
133
124
|
code: "content_policy_violation"
|
|
@@ -136,15 +127,16 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
136
127
|
}
|
|
137
128
|
|
|
138
129
|
return {
|
|
139
|
-
result: {
|
|
140
|
-
|
|
141
|
-
|
|
130
|
+
result: result.outputs.map(output => ({
|
|
131
|
+
type: "image" as const,
|
|
132
|
+
value: output.image.url
|
|
133
|
+
}))
|
|
142
134
|
};
|
|
143
135
|
|
|
144
136
|
} catch (error: any) {
|
|
145
|
-
this.logger.error("[Firefly] Image generation failed"
|
|
137
|
+
this.logger.error({ error }, "[Firefly] Image generation failed");
|
|
146
138
|
return {
|
|
147
|
-
result:
|
|
139
|
+
result: [],
|
|
148
140
|
error: {
|
|
149
141
|
message: error.message,
|
|
150
142
|
code: error.code || 'GENERATION_FAILED'
|
|
@@ -171,7 +163,7 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
171
163
|
tags: ["image-generation"]
|
|
172
164
|
},
|
|
173
165
|
{
|
|
174
|
-
id: "firefly-v3-image-to-image",
|
|
166
|
+
id: "firefly-v3-image-to-image",
|
|
175
167
|
name: "Firefly v3 Image to Image",
|
|
176
168
|
provider: this.provider,
|
|
177
169
|
description: "Adobe Firefly v3 image to image generation model",
|
|
@@ -196,7 +188,7 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
196
188
|
});
|
|
197
189
|
return response.ok;
|
|
198
190
|
} catch (error) {
|
|
199
|
-
this.logger.error("[Firefly] Connection validation failed"
|
|
191
|
+
this.logger.error({ error }, "[Firefly] Connection validation failed");
|
|
200
192
|
return false;
|
|
201
193
|
}
|
|
202
194
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefaultAzureCredential, getBearerTokenProvider, TokenCredential } from "@azure/identity";
|
|
2
|
-
import { AbstractDriver, AIModel, Completion,
|
|
2
|
+
import { AbstractDriver, AIModel, Completion, CompletionChunkObject, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, getModelCapabilities, modelModalitiesToArray, Providers } from "@llumiverse/core";
|
|
3
3
|
import { AIProjectClient, DeploymentUnion, ModelDeployment } from '@azure/ai-projects';
|
|
4
4
|
import { isUnexpected } from "@azure-rest/ai-inference";
|
|
5
5
|
import { ChatCompletionMessageParam } from "openai/resources";
|
|
@@ -54,7 +54,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
54
54
|
opts.azureADTokenProvider = new DefaultAzureCredential();
|
|
55
55
|
}
|
|
56
56
|
} catch (error) {
|
|
57
|
-
this.logger.error("Failed to initialize Azure AD token provider:"
|
|
57
|
+
this.logger.error({ error }, "Failed to initialize Azure AD token provider:");
|
|
58
58
|
throw new Error("Failed to initialize Azure AD token provider");
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -89,7 +89,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
89
89
|
deployment = await this.service.deployments.get(deploymentName);
|
|
90
90
|
this.logger.debug(`[Azure Foundry] Deployment ${deploymentName} found`);
|
|
91
91
|
} catch (deploymentError) {
|
|
92
|
-
this.logger.error(`[Azure Foundry] Deployment ${deploymentName} not found
|
|
92
|
+
this.logger.error({ deploymentError }, `[Azure Foundry] Deployment ${deploymentName} not found:`);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
return (deployment as ModelDeployment).modelPublisher == "OpenAI";
|
|
@@ -131,7 +131,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
133
|
if (response.status !== "200") {
|
|
134
|
-
this.logger.error(`[Azure Foundry] Chat completion request failed
|
|
134
|
+
this.logger.error({ response }, `[Azure Foundry] Chat completion request failed:`);
|
|
135
135
|
throw new Error(`Chat completion request failed with status ${response.status}: ${response.body}`);
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -139,7 +139,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
async requestTextCompletionStream(prompt: ChatCompletionMessageParam[], options: ExecutionOptions): Promise<AsyncIterable<
|
|
142
|
+
async requestTextCompletionStream(prompt: ChatCompletionMessageParam[], options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>> {
|
|
143
143
|
const { deploymentName } = parseAzureFoundryModelId(options.model);
|
|
144
144
|
const model_options = options.model_options as any;
|
|
145
145
|
const isOpenAI = await this.isOpenAIDeployment(options.model);
|
|
@@ -184,7 +184,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
private async *processStreamResponse(sseStream: any): AsyncIterable<
|
|
187
|
+
private async *processStreamResponse(sseStream: any): AsyncIterable<CompletionChunkObject> {
|
|
188
188
|
try {
|
|
189
189
|
for await (const event of sseStream) {
|
|
190
190
|
if (event.data === "[DONE]") {
|
|
@@ -201,7 +201,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
201
201
|
if (!choice) {
|
|
202
202
|
continue;
|
|
203
203
|
}
|
|
204
|
-
const chunk:
|
|
204
|
+
const chunk: CompletionChunkObject = {
|
|
205
205
|
result: choice.delta?.content || "",
|
|
206
206
|
finish_reason: this.convertFinishReason(choice.finish_reason),
|
|
207
207
|
token_usage: {
|
|
@@ -213,12 +213,12 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
213
213
|
|
|
214
214
|
yield chunk;
|
|
215
215
|
} catch (parseError) {
|
|
216
|
-
this.logger.warn(`[Azure Foundry] Failed to parse streaming response
|
|
216
|
+
this.logger.warn({ parseError }, `[Azure Foundry] Failed to parse streaming response:`);
|
|
217
217
|
continue;
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
} catch (error) {
|
|
221
|
-
this.logger.error(`[Azure Foundry] Streaming error
|
|
221
|
+
this.logger.error({ error }, `[Azure Foundry] Streaming error:`);
|
|
222
222
|
throw error;
|
|
223
223
|
}
|
|
224
224
|
}
|
|
@@ -233,7 +233,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
233
233
|
|
|
234
234
|
const choice = result.choices?.[0];
|
|
235
235
|
if (!choice) {
|
|
236
|
-
this.logger
|
|
236
|
+
this.logger.error({ result }, "[Azure Foundry] No choices in response");
|
|
237
237
|
throw new Error("No choices in response");
|
|
238
238
|
}
|
|
239
239
|
|
|
@@ -241,12 +241,12 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
241
241
|
const toolCalls = choice.message?.tool_calls;
|
|
242
242
|
|
|
243
243
|
if (!data && !toolCalls) {
|
|
244
|
-
this.logger
|
|
244
|
+
this.logger.error({ result }, "[Azure Foundry] Response is not valid");
|
|
245
245
|
throw new Error("Response is not valid: no content or tool calls");
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
const completion: Completion = {
|
|
249
|
-
result: data,
|
|
249
|
+
result: data ? [{ type: "text", value: data }] : [],
|
|
250
250
|
token_usage: tokenInfo,
|
|
251
251
|
finish_reason: this.convertFinishReason(choice.finish_reason),
|
|
252
252
|
};
|
|
@@ -291,7 +291,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
291
291
|
|
|
292
292
|
return true;
|
|
293
293
|
} catch (error) {
|
|
294
|
-
this.logger.error("Azure Foundry connection validation failed:"
|
|
294
|
+
this.logger.error({ error }, "Azure Foundry connection validation failed:");
|
|
295
295
|
return false;
|
|
296
296
|
}
|
|
297
297
|
}
|
|
@@ -328,7 +328,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
328
328
|
}
|
|
329
329
|
});
|
|
330
330
|
} catch (error) {
|
|
331
|
-
this.logger.error("Azure Foundry text embeddings error:"
|
|
331
|
+
this.logger.error({ error }, "Azure Foundry text embeddings error:");
|
|
332
332
|
throw error;
|
|
333
333
|
}
|
|
334
334
|
|
|
@@ -365,7 +365,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
365
365
|
}
|
|
366
366
|
});
|
|
367
367
|
} catch (error) {
|
|
368
|
-
this.logger.error("Azure Foundry image embeddings error:"
|
|
368
|
+
this.logger.error({ error }, "Azure Foundry image embeddings error:");
|
|
369
369
|
throw error;
|
|
370
370
|
}
|
|
371
371
|
if (isUnexpected(response)) {
|
|
@@ -395,7 +395,7 @@ export class AzureFoundryDriver extends AbstractDriver<AzureFoundryDriverOptions
|
|
|
395
395
|
// List all deployments in the Azure AI Foundry project
|
|
396
396
|
deploymentsIterable = this.service.deployments.list();
|
|
397
397
|
} catch (error) {
|
|
398
|
-
this.logger.error("Failed to list deployments:"
|
|
398
|
+
this.logger.error({ error }, "Failed to list deployments:");
|
|
399
399
|
throw new Error("Failed to list deployments in Azure AI Foundry project");
|
|
400
400
|
}
|
|
401
401
|
const deployments: DeploymentUnion[] = [];
|