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.
|