File size: 731 Bytes
b7d062a
fd7f323
 
b7d062a
fd7f323
b7d062a
fd7f323
 
b7d062a
 
fd7f323
 
 
 
b7d062a
 
fd7f323
b7d062a
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import torch

MODEL_ID = "google/flan-t5-small"

PROMPT = "Answer this question: {question}\nContext: {context}\nAnswer:"

def load_model():
    tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
    model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_ID)
    model.eval()
    return model, tokenizer

def generate(model, tokenizer, question, context, max_new_tokens=256):
    prompt = PROMPT.format(question=question, context=context[:512])
    inputs = tokenizer(prompt, return_tensors="pt", truncation=True)
    with torch.no_grad():
        out = model.generate(**inputs, max_new_tokens=max_new_tokens)
    return tokenizer.decode(out[0], skip_special_tokens=True)