import gradio as gr from llava.mm_utils import get_model_name_from_path from llava.model.builder import load_pretrained_model from llava.eval.run_llava import eval_model model_path = "liuhaotian/llava-v1.5-7b" model_name = get_model_name_from_path(model_path) tokenizer, model, image_processor, context_len = load_pretrained_model(model_path, None, model_name, load_4bit=True) def predict(input_img, prompt): args = type('Args', (), { "model_path": model_path, "model_base": None, "model_name": model_name, "query": prompt, "conv_mode": None, "image_file": input_img, "sep": ",", "temperature": 0.2, "top_p": None, "num_beams": 1, "max_new_tokens": 512 })() return eval_model(args, tokenizer, model, image_processor, context_len) gradio_app = gr.Interface( fn=predict, inputs=[gr.Image(type="filepath"), "text"], outputs="text" ) gradio_app.launch()