import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline model_id = "Salesforce/blip-image-captioning-large" translate_model_id = "facebook/nllb-200-distilled-600M" caption_eng = pipeline(model=model_id) model = AutoModelForSeq2SeqLM.from_pretrained(translate_model_id) tokenizer = AutoTokenizer.from_pretrained(translate_model_id) translator = pipeline('translation', model=model, tokenizer=tokenizer, src_lang='eng_Latn', tgt_lang='nob_Latn') def evaluate(input): eng = caption_eng(input)[0]["generated_text"] nob = translate(eng)[0]["translation_text"] return (eng, nob) def translate(text): return translator(text, max_new_tokens=100) iface = gr.Interface(fn=evaluate, inputs=gr.Image(type="pil"), outputs=[gr.Textbox(label="Caption (English)"), gr.Textbox(label="Caption (Bokmål)")]) if __name__ == "__main__": iface.launch()