Skip to content

Commit 17e747a

Browse files
committed
[transformers snippet] Support VLMs
1 parent 138366b commit 17e747a

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

packages/tasks/src/library-to-tasks.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export const LIBRARY_TASK_MAPPING: Partial<Record<ModelLibraryKey, PipelineType[
5555
"image-segmentation",
5656
"image-to-image",
5757
"image-to-text",
58+
"image-text-to-text",
5859
"object-detection",
5960
"question-answering",
6061
"summarization",

packages/tasks/src/model-libraries-snippets.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,11 +849,28 @@ export const transformers = (model: ModelData): string[] => {
849849
const pipelineSnippet = ["# Use a pipeline as a high-level helper", "from transformers import pipeline", ""];
850850

851851
if (model.tags.includes("conversational") && model.config?.tokenizer_config?.chat_template) {
852-
pipelineSnippet.push("messages = [", ' {"role": "user", "content": "Who are you?"},', "]");
852+
if (model.pipeline_tag === "text-generation") {
853+
pipelineSnippet.push("messages = [", ' {"role": "user", "content": "Who are you?"},', "]\n");
854+
} else if (model.pipeline_tag === "image-text-to-text") {
855+
pipelineSnippet.push(
856+
`image_ny = "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"`,
857+
`image_chicago = "https://cdn.britannica.com/59/94459-050-DBA42467/Skyline-Chicago.jpg"`,
858+
"\n"
859+
);
860+
}
853861
}
854862
pipelineSnippet.push(`pipe = pipeline("${model.pipeline_tag}", model="${model.id}"` + remote_code_snippet + ")");
855863
if (model.tags.includes("conversational") && model.config?.tokenizer_config?.chat_template) {
856-
pipelineSnippet.push("pipe(messages)");
864+
if (model.pipeline_tag === "text-generation") {
865+
pipelineSnippet.push("pipe(messages)");
866+
} else if (model.pipeline_tag === "image-text-to-text") {
867+
pipelineSnippet.push(
868+
"pipe(",
869+
" images=[image_ny, image_chicago],",
870+
` text="<image> <image> Are these the same cities? If not what cities are these?",`,
871+
")\n"
872+
);
873+
}
857874
}
858875

859876
return [pipelineSnippet.join("\n"), autoSnippet];

0 commit comments

Comments
 (0)