|
--- |
|
library_name: transformers |
|
datasets: |
|
- DeepMount00/gquad_it |
|
pipeline_tag: question-answering |
|
license: apache-2.0 |
|
language: |
|
- it |
|
--- |
|
|
|
## How to Use |
|
How to use Gemma Q&A |
|
|
|
```python |
|
import transformers |
|
from transformers import TextStreamer, AutoTokenizer |
|
import torch |
|
|
|
model_name = "DeepMount00/Gemma_QA_ITA_v3" |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = transformers.GemmaForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto").eval() |
|
|
|
|
|
def stream(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}""" |
|
|
|
inputs = tokenizer([prompt], return_tensors="pt").to(device) |
|
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) |
|
|
|
_ = model.generate(**inputs, streamer=streamer, max_new_tokens=150, temperature=0.01, |
|
repetition_penalty=1.0, eos_token_id=107, do_sample=True, num_return_sequences=1) |
|
|
|
|
|
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?" |
|
|
|
stream(contesto, domanda) |
|
``` |