@@ -260,15 +260,39 @@ export class ImageDescriptionService
260
260
}
261
261
262
262
const model = models [ this . runtime ?. character ?. modelProvider ] ;
263
- if ( model === models [ ModelProviderName . LLAMALOCAL ] ) {
263
+
264
+ if ( this . runtime . imageVisionModelProvider ) {
265
+ if (
266
+ this . runtime . imageVisionModelProvider ===
267
+ ModelProviderName . LLAMALOCAL
268
+ ) {
269
+ this . provider = new LocalImageProvider ( ) ;
270
+ elizaLogger . debug ( "Using llama local for vision model" ) ;
271
+ } else if (
272
+ this . runtime . imageVisionModelProvider ===
273
+ ModelProviderName . GOOGLE
274
+ ) {
275
+ this . provider = new GoogleImageProvider ( this . runtime ) ;
276
+ elizaLogger . debug ( "Using google for vision model" ) ;
277
+ } else if (
278
+ this . runtime . imageVisionModelProvider ===
279
+ ModelProviderName . OPENAI
280
+ ) {
281
+ this . provider = new OpenAIImageProvider ( this . runtime ) ;
282
+ elizaLogger . debug ( "Using openai for vision model" ) ;
283
+ } else {
284
+ elizaLogger . error (
285
+ `Unsupported image vision model provider: ${ this . runtime . imageVisionModelProvider } `
286
+ ) ;
287
+ }
288
+ } else if ( model === models [ ModelProviderName . LLAMALOCAL ] ) {
264
289
this . provider = new LocalImageProvider ( ) ;
265
- } else if (
266
- this . runtime . imageVisionModelProvider ===
267
- ModelProviderName . GOOGLE ||
268
- model === models [ ModelProviderName . GOOGLE ]
269
- ) {
290
+ elizaLogger . debug ( "Using llama local for vision model" ) ;
291
+ } else if ( model === models [ ModelProviderName . GOOGLE ] ) {
270
292
this . provider = new GoogleImageProvider ( this . runtime ) ;
293
+ elizaLogger . debug ( "Using google for vision model" ) ;
271
294
} else {
295
+ elizaLogger . debug ( "Using default openai for vision model" ) ;
272
296
this . provider = new OpenAIImageProvider ( this . runtime ) ;
273
297
}
274
298
0 commit comments