File size: 827 Bytes
c2aeaf4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from transformers import AutoModelForCausalLM, AutoTokenizer

MODEL_LIST = [
    "EleutherAI/pythia-410m",
    "EleutherAI/pythia-1b",
    "mistralai/Mistral-7B-Instruct"
]

MODEL_CACHE = {}

def load_model(model_name):
    if model_name not in MODEL_CACHE:
        tokenizer = AutoTokenizer.from_pretrained(model_name)
        model = AutoModelForCausalLM.from_pretrained(model_name)
        MODEL_CACHE[model_name] = (tokenizer, model)
    return MODEL_CACHE[model_name]

def generate_sentence(word, model_name):
    tokenizer, model = load_model(model_name)
    prompt = f"A simple English sentence with the word '{word}':"
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(**inputs, max_new_tokens=30)
    sentence = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return sentence