DeepMount00 commited on
Commit
4f19204
·
verified ·
1 Parent(s): 28c6af2

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +16 -4
README.md CHANGED
@@ -20,18 +20,30 @@ model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, torch_dtype=torch.bfloa
20
  model.to(device)
21
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
22
 
23
- def generate_answer(prompt):
 
 
 
 
 
 
 
24
  messages = [
25
  {"role": "user", "content": prompt},
26
  ]
27
  model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
28
  generated_ids = model.generate(model_inputs, max_new_tokens=200, do_sample=True,
29
- temperature=0.001, eos_token_id=tokenizer.eos_token_id)
30
  decoded = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
31
  return decoded[0]
32
 
33
- prompt = "Come si apre un file json in python?"
34
- answer = generate_answer(prompt)
 
 
 
 
 
35
  print(answer)
36
  ```
37
  ---
 
20
  model.to(device)
21
  tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
22
 
23
+ def generate_answer(prompt, response_type="generativo"):
24
+ # Creazione del contesto e della domanda in base al tipo di risposta
25
+ if response_type == "estrattivo":
26
+ prompt = f"Rispondi alla seguente domanda in modo estrattivo, basandoti esclusivamente sul contesto.\n{prompt}"
27
+ else:
28
+ prompt = f"Rispondi alla seguente domanda in modo generativo, basandoti esclusivamente sul contesto.\n{prompt}"
29
+
30
+ # Preparazione del messaggio per il modello
31
  messages = [
32
  {"role": "user", "content": prompt},
33
  ]
34
  model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
35
  generated_ids = model.generate(model_inputs, max_new_tokens=200, do_sample=True,
36
+ temperature=0.001, eos_token_id=tokenizer.eos_token_id)
37
  decoded = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
38
  return decoded[0]
39
 
40
+ # Esempio di utilizzo con la nuova funzionalità
41
+ contesto = """Venerdì più di 2.100 persone che vivono vicino a un vulcano in Indonesia sono state sfollate per i rischi legati a un’eruzione. Martedì infatti l’isola vulcanica di Ruang, che si trova circa 100 chilometri a nord di Sulawesi, ha cominciato a eruttare, producendo una colonna di fumo e ceneri che ieri ha raggiunto 1.200 metri di altezza. Le operazioni di evacuazione sono ancora in corso: complessivamente sono più di 11mila le persone a cui è stato detto di lasciare le proprie case. Gran parte di loro vive sulla vicina isola di Tagulandang, che in totale ha 20mila abitanti; potrebbe essere raggiunta non solo dalle ceneri vulcaniche e dai piroclasti, ma anche da un eventuale tsunami causato dalla caduta in mare di lava e rocce."""
42
+ domanda = "Perchè le persone sono evacuate dalle case?"
43
+ prompt = f"Contesto: {contesto}\nDomanda: {domanda}"
44
+
45
+ # Chiamata alla funzione generate_answer con il tipo di risposta desiderato
46
+ answer = generate_answer(prompt, "estrattivo")
47
  print(answer)
48
  ```
49
  ---