VQA / models /reasoning_model.py
VigneshVS2005's picture
Initial commit of GenAI VQA System
2c5cb17
Raw
History Blame Contribute Delete
792 Bytes
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