Update README.md
Browse files
README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
---
|
2 |
-
library_name:
|
3 |
tags:
|
4 |
- Gemma
|
5 |
- Portuguese
|
@@ -54,6 +54,46 @@ O modelo GemBode-2b-it pode ser utilizado para uma variedade de tarefas de proce
|
|
54 |
|
55 |
Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
## Contribuições
|
59 |
Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull.
|
|
|
1 |
---
|
2 |
+
library_name: peft
|
3 |
tags:
|
4 |
- Gemma
|
5 |
- Portuguese
|
|
|
54 |
|
55 |
Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
|
56 |
|
57 |
+
```python
|
58 |
+
!pip3 -q install -q -U bitsandbytes==0.42.0
|
59 |
+
!pip3 -q install -q -U accelerate==0.27.1
|
60 |
+
!pip3 -q install -q -U transformers==4.38.0
|
61 |
+
|
62 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
63 |
+
|
64 |
+
hf_auth = 'HF_ACCESS_KEY'
|
65 |
+
|
66 |
+
model_id = "recogna-nlp/GemBode-2b-it"
|
67 |
+
model = AutoModelForCausalLM.from_pretrained(model_id, device_map={"":0}, trust_remote_code=True, token=hf_auth)
|
68 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True, token=hf_auth)
|
69 |
+
tokenizer.pad_token = tokenizer.eos_token
|
70 |
+
tokenizer.padding_side = "right"
|
71 |
+
|
72 |
+
def get_completion(model, tokenizer, query : str, input : str = '', device = 'cuda:0', max_new_tokens=128) -> str:
|
73 |
+
if len(input) == 0:
|
74 |
+
prompt_template = """Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que complete adequadamente o pedido.
|
75 |
+
### Instrução: {query}
|
76 |
+
### Resposta:"""
|
77 |
+
prompt = prompt_template.format(query=query)
|
78 |
+
else:
|
79 |
+
prompt_template = """Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido.
|
80 |
+
### Instrução: {query}
|
81 |
+
### Entrada: {input}
|
82 |
+
### Resposta:"""
|
83 |
+
prompt = prompt_template.format(query=query, input=input)
|
84 |
+
encodeds = tokenizer(prompt, return_tensors="pt", add_special_tokens=True)
|
85 |
+
model_inputs = encodeds.to(device)
|
86 |
+
generated_ids = model.generate(**model_inputs,
|
87 |
+
max_new_tokens=max_new_tokens,
|
88 |
+
do_sample=True,
|
89 |
+
pad_token_id=tokenizer.eos_token_id)
|
90 |
+
decoded = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
|
91 |
+
return (decoded[len(prompt):])
|
92 |
+
|
93 |
+
result = get_completion(model=model, tokenizer=tokenizer, query="Qual é a capital da França?")
|
94 |
+
print(result)
|
95 |
+
#Exemplo de resposta obtida: A capital da França é Paris. Paris é um das cidades mais populosas da França e é o lar do Parlamento francês, de grandes instituições educacionais e importantes museums.
|
96 |
+
```
|
97 |
|
98 |
## Contribuições
|
99 |
Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull.
|