edumunozsala commited on
Commit
3aced34
verified
1 Parent(s): 6aad430

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +51 -1
README.md CHANGED
@@ -83,4 +83,54 @@ The following hyperparameters were used during training:
83
  - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
84
  - lr_scheduler_type: constant
85
  - lr_scheduler_warmup_ratio: 0.03
86
- - num_epochs: 3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
84
  - lr_scheduler_type: constant
85
  - lr_scheduler_warmup_ratio: 0.03
86
+ - num_epochs: 3
87
+
88
+ ## Inference Example
89
+
90
+ ```python
91
+ import torch
92
+
93
+ from transformers import (
94
+ AutoModelForCausalLM,
95
+ AutoTokenizer,
96
+ BitsAndBytesConfig,
97
+ pipeline
98
+ )
99
+
100
+ model_id = "somosnlp/gemma-7b-it-legal-refugee-v0.1.1"
101
+ tokenizer_id = "somosnlp/gemma-7b-it-legal-refugee-v0.1.1"
102
+
103
+ tokenizer = AutoTokenizer.from_pretrained(tokenizer_id)
104
+ # Cargamos el modelo en 4 bits para agilizar la inferencia
105
+ quantization_config = BitsAndBytesConfig(
106
+ load_in_4bit=True,
107
+ bnb_4bit_compute_dtype=torch.float16,
108
+ bnb_4bit_use_double_quant=True,
109
+ )
110
+
111
+ model = AutoModelForCausalLM.from_pretrained(
112
+ model_id,
113
+ torch_dtype=torch.float16,
114
+ device_map="auto",
115
+ quantization_config=quantization_config,
116
+ )
117
+
118
+ # Generamos el pipeline de generaci贸n de texto
119
+ pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
120
+ # Definimos el eos token para el modelo
121
+ eos_token = tokenizer("<|im_end|>",add_special_tokens=False)["input_ids"][0]
122
+
123
+ def generate_inference(instruction, input, temperature):
124
+ prompt = pipe.tokenizer.apply_chat_template([{"role": "user",
125
+ "content": f"{instruction}/n{input}"}], tokenize=False, add_generation_prompt=True)
126
+ outputs = pipe(prompt, max_new_tokens=256, do_sample=True, num_beams=1, temperature=float(temperature), top_k=50, top_p=0.95,
127
+ max_time= 300, eos_token_id=eos_token)
128
+ return outputs[0]['generated_text'][len(prompt):].strip()
129
+
130
+
131
+ instruction = "驴Podr铆as explicarme brevemente los hechos que originan el procedimiento y las posibles calificaciones, as铆 como las sanciones correspondientes, seg煤n lo expuesto en el contexto?"
132
+ input = "b) Hechos que motivan la incoaci贸n del procedimiento sucintamente expuestos, su posible calificaci贸n y las sanciones que pudieran corresponder, sin perjuicio de lo que resulte de la instrucci贸n. c) Instructor y, en su caso, secretario del procedimiento, con expresa indicaci贸n del r茅gimen de recusaci贸n de 茅stos. d) 脫rgano competente para la resoluci贸n del expediente y norma que le atribuye tal competencia. e) Indicaci贸n de la posibilidad de que el presunto responsable pueda reconocer voluntariamente su responsabilidad. f) Medidas de car谩cter provisional que se hayan acordado por el 贸rgano competente para iniciar el procedimiento sancionador, sin perjuicio de las que se puedan adoptar durante 茅ste de conformidad con los art铆culos 55 y 61 de la Ley Org谩nica 4/2000, de 11 de enero. g) Indicaci贸n del derecho a formular alegaciones y a la audiencia en el procedimiento y de los plazos para su ejercicio. 2. El acuerdo de iniciaci贸n se comunicar谩 al instructor con traslado de cuantas actuaciones existan al respecto y se notificar谩 a los interesados, entendi茅ndose en todo caso por tal al expedientado. En la notificaci贸n se advertir谩 a los interesados que, de no efectuar alegaciones sobre el contenido de la iniciaci贸n del procedimiento en el plazo previsto en el art铆culo siguiente, no realizarse propuesta de prueba o no ser admitidas, por improcedentes o innecesarias, las pruebas propuestas, la iniciaci贸n podr谩 ser considerada propuesta de resoluci贸n cuando contenga un pronunciamiento preciso acerca de la responsabilidad imputada, con los efectos previstos en los art铆culos 229 y 230."
133
+
134
+ response = test_inference(instruction, input, 0.3)
135
+ print(f"Response:\n{response}")
136
+ ```