Spaces:
Sleeping
Sleeping
| from models.blip_model import blip_answer | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| import torch | |
| from config import DEVICE | |
| tokenizer = AutoTokenizer.from_pretrained("google/flan-t5-base") | |
| model = AutoModelForSeq2SeqLM.from_pretrained( | |
| "google/flan-t5-base" | |
| ).to(DEVICE) | |
| model.eval() | |
| def reasoning_answer(image, question): | |
| caption, base_answer = blip_answer(image, question) | |
| prompt = f""" | |
| Scene: | |
| {caption} | |
| Question: | |
| {question} | |
| Base Answer: | |
| {base_answer} | |
| Provide: | |
| Final Answer: | |
| Explanation: | |
| """ | |
| inputs = tokenizer(prompt, return_tensors="pt").to(DEVICE) | |
| with torch.no_grad(): | |
| outputs = model.generate(**inputs, max_new_tokens=100) | |
| text = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return caption, base_answer, text |