Skip to content

Commit dac0c5b

Browse files
authored
Merge pull request #1664 from denizekiz/VisionModel2
fix: Seperated imageModelProvider and imageVisionModelProvider for ImageDescriptioServices
2 parents 3b7d9e3 + 3d824d9 commit dac0c5b

File tree

5 files changed

+39
-1
lines changed

5 files changed

+39
-1
lines changed

docs/api/classes/AgentRuntime.md

+7
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,13 @@ The model to use for generateText.
235235
236236
The model to use for generateImage.
237237

238+
239+
### imageVisionModelProvider
240+
241+
> **imageVisionModelProvider**: [`ModelProviderName`](../enumerations/ModelProviderName.md)
242+
243+
The model to use for describing inputImages.
244+
238245
#### Implementation of
239246

240247
[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`imageModelProvider`](../interfaces/IAgentRuntime.md#imageModelProvider)

docs/api/type-aliases/Character.md

+11
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,17 @@ Model provider to use
4444
4545
Image model provider to use, if different from modelProvider
4646

47+
48+
49+
### imageVisionModelProvider?
50+
51+
> `optional` **imageVisionModelProvider**: [`ModelProviderName`](../enumerations/ModelProviderName.md)
52+
53+
Image Vision model provider to use, if different from modelProvider
54+
55+
imageVisionModelProvider
56+
57+
4758
### modelEndpointOverride?
4859

4960
> `optional` **modelEndpointOverride**: `string`

packages/core/src/runtime.ts

+16
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ export class AgentRuntime implements IAgentRuntime {
103103
*/
104104
imageModelProvider: ModelProviderName;
105105

106+
107+
/**
108+
* The model to use for describing images.
109+
*/
110+
imageVisionModelProvider: ModelProviderName;
111+
106112
/**
107113
* Fetch function to use
108114
* Some environments may not have access to the global fetch function and need a custom fetch override.
@@ -324,6 +330,16 @@ export class AgentRuntime implements IAgentRuntime {
324330
this.imageModelProvider
325331
);
326332

333+
this.imageVisionModelProvider =
334+
this.character.imageVisionModelProvider ?? this.modelProvider;
335+
336+
elizaLogger.info("Selected model provider:", this.modelProvider);
337+
elizaLogger.info(
338+
"Selected image model provider:",
339+
this.imageVisionModelProvider
340+
);
341+
342+
327343
// Validate model provider
328344
if (!Object.values(ModelProviderName).includes(this.modelProvider)) {
329345
elizaLogger.error("Invalid model provider:", this.modelProvider);

packages/core/src/types.ts

+5
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,10 @@ export type Character = {
687687
/** Image model provider to use, if different from modelProvider */
688688
imageModelProvider?: ModelProviderName;
689689

690+
691+
/** Image Vision model provider to use, if different from modelProvider */
692+
imageVisionModelProvider?: ModelProviderName;
693+
690694
/** Optional model endpoint override */
691695
modelEndpointOverride?: string;
692696

@@ -1100,6 +1104,7 @@ export interface IAgentRuntime {
11001104
token: string | null;
11011105
modelProvider: ModelProviderName;
11021106
imageModelProvider: ModelProviderName;
1107+
imageVisionModelProvider: ModelProviderName;
11031108
character: Character;
11041109
providers: Provider[];
11051110
actions: Action[];

packages/plugin-node/src/services/image.ts

-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ export class ImageDescriptionService
211211
this.runtime.imageModelProvider === ModelProviderName.OPENAI
212212
? models[this.runtime.imageModelProvider].endpoint
213213
: "https://api.openai.com/v1";
214-
215214
const response = await fetch(endpoint + "/chat/completions", {
216215
method: "POST",
217216
headers: {

0 commit comments

Comments
 (0)