mamba_790_hf_qa / README.md
DeepMount00's picture
Update README.md
b8ff297 verified
|
raw
history blame
1.75 kB
metadata
license: apache-2.0
datasets:
  - DeepMount00/gquad_it
language:
  - it
pipeline_tag: question-answering

How to Use

How to use mamba q&a

from transformers import MambaConfig, MambaForCausalLM, AutoTokenizer
import torch

model_name = "DeepMount00/mamba_790_hf_qa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = MambaForCausalLM.from_pretrained(model_name)


def predict(contesto, domanda):
    device = "cuda:0"
    prefix_text = 'Di seguito ti verrà fornito un contesto e poi una domanda. il tuo compito è quello di rispondere alla domanda basandoti esclusivamente sul contesto\n\n'

    prompt = f"""{prefix_text}##CONTESTO: {contesto}\n##DOMANDA: {domanda}\n"""

    input_ids = tokenizer([prompt], return_tensors="pt").to(device)

    generate_ids = model.generate(**input_ids, max_new_tokens=150, eos_token_id=0)

    answer = tokenizer.batch_decode(generate_ids)
    try:
        final_answer = answer[0].split("##RISPOSTA: ")[1].rstrip()
        final_answer = final_answer.split('\n', 1)[0]
    except:
        final_answer = ""
    return final_answer


contesto = """Seneca seguì molto intensamente gli insegnamenti dei maestri, che esercitarono su di lui un profondo influsso sia con la parola sia con l'esempio di una vita vissuta in coerenza con gli ideali professati. Da Attalo imparò i principi dello stoicismo e l'abitudine alle pratiche ascetiche. Da Sozione, oltre ad apprendere i principi delle dottrine di Pitagora, fu avviato per qualche tempo verso la pratica vegetariana; venne distolto però dal padre che non amava la filosofia e dal fatto che l'imperatore Tiberio proibisse di seguire consuetudini di vita non romane."""
domanda = "Chi è Seneca?"

print(predict(contesto, domanda))