nsarrazin HF Staff commited on
Commit
bd01335
·
unverified ·
1 Parent(s): cdc7abc

fix: multimodal on TGI endpoint type (#1491)

Browse files
src/lib/server/endpoints/tgi/endpointTgi.ts CHANGED
@@ -23,8 +23,8 @@ export const endpointTgiParametersSchema = z.object({
23
  supportedMimeTypes: ["image/jpeg", "image/webp"],
24
  preferredMimeType: "image/webp",
25
  maxSizeInMB: 5,
26
- maxWidth: 224,
27
- maxHeight: 224,
28
  }),
29
  })
30
  .default({}),
@@ -81,22 +81,13 @@ export function endpointTgi(input: z.input<typeof endpointTgiParametersSchema>):
81
  };
82
  }
83
 
84
- const whiteImage = {
85
- mime: "image/png",
86
- image: Buffer.from(
87
- "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAQABADAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/igAoAKACgD/2Q==",
88
- "base64"
89
- ),
90
- };
91
-
92
  async function prepareMessage(
93
  isMultimodal: boolean,
94
  message: EndpointMessage,
95
  imageProcessor: ImageProcessor
96
  ): Promise<EndpointMessage> {
97
  if (!isMultimodal) return message;
98
-
99
- const files = await Promise.all(message.files?.map(imageProcessor) ?? [whiteImage]);
100
  const markdowns = files.map(
101
  (file) => `![](data:${file.mime};base64,${file.image.toString("base64")})`
102
  );
 
23
  supportedMimeTypes: ["image/jpeg", "image/webp"],
24
  preferredMimeType: "image/webp",
25
  maxSizeInMB: 5,
26
+ maxWidth: 378,
27
+ maxHeight: 980,
28
  }),
29
  })
30
  .default({}),
 
81
  };
82
  }
83
 
 
 
 
 
 
 
 
 
84
  async function prepareMessage(
85
  isMultimodal: boolean,
86
  message: EndpointMessage,
87
  imageProcessor: ImageProcessor
88
  ): Promise<EndpointMessage> {
89
  if (!isMultimodal) return message;
90
+ const files = await Promise.all(message.files?.map(imageProcessor) ?? []);
 
91
  const markdowns = files.map(
92
  (file) => `![](data:${file.mime};base64,${file.image.toString("base64")})`
93
  );
src/lib/server/textGeneration/generate.ts CHANGED
@@ -17,6 +17,7 @@ export async function* generate(
17
  continueMessage: isContinue,
18
  generateSettings: assistant?.generateSettings,
19
  toolResults,
 
20
  })) {
21
  // text generation completed
22
  if (output.generated_text) {
 
17
  continueMessage: isContinue,
18
  generateSettings: assistant?.generateSettings,
19
  toolResults,
20
+ isMultimodal: model.multimodal,
21
  })) {
22
  // text generation completed
23
  if (output.generated_text) {