Spaces:
Runtime error
Runtime error
| # Import required libraries - packages | |
| import gradio as gr | |
| import torch | |
| from PIL import Image | |
| from transformers import AutoModel, AutoTokenizer | |
| import spaces | |
| device="cuda" | |
| # Load the model and tokenizer | |
| model = AutoModel.from_pretrained('openbmb/MiniCPM-Llama3-V-2_5', trust_remote_code=True, torch_dtype=torch.float16) | |
| model = model.to(device='cuda') | |
| tokenizer = AutoTokenizer.from_pretrained('openbmb/MiniCPM-Llama3-V-2_5', trust_remote_code=True) | |
| model.eval() | |
| # Define a function to generate a response | |
| def generate_response(image, question): | |
| msgs = [{'role': 'user', 'content': question}] | |
| res = model.chat( | |
| image=image, | |
| msgs=msgs, | |
| tokenizer=tokenizer, | |
| sampling=True, | |
| temperature=0.7, | |
| stream=True | |
| ) | |
| generated_text = "" | |
| for new_text in res: | |
| generated_text += new_text | |
| return generated_text | |
| # Create the footer with links | |
| footer = """ | |
| <div style="text-align: center; margin-top: 20px;"> | |
| <a href="https://www.linkedin.com/in/pejman-ebrahimi-4a60151a7/" target="_blank">LinkedIn</a> | | |
| <a href="https://github.com/arad1367/Visual_QA_MiniCPM-Llama3-V-2_5_GradioApp" target="_blank">GitHub</a> | | |
| <a href="https://arad1367.pythonanywhere.com/" target="_blank">Live demo of my PhD defense</a> | |
| <br> | |
| Made with π by Pejman Ebrahimi | |
| </div> | |
| """ | |
| # Create a Gradio interface using gr.Blocks | |
| with gr.Blocks(theme='abidlabs/dracula_revamped') as demo: | |
| gr.Markdown("Visual Question Answering - Complete chart and image analysis") | |
| gr.Markdown("Input an image and a question related to the image to receive a response.") | |
| image_input = gr.Image(type="pil", label="Image") | |
| question_input = gr.Textbox(label="Question") | |
| output_text = gr.Textbox(label="Response") | |
| image_input.change(generate_response, inputs=[image_input, question_input], outputs=output_text) | |
| gr.HTML(footer) | |
| # Launch the app | |
| demo.launch(debug=True) | |