phpaiola commited on
Commit
e008456
1 Parent(s): bf637ae

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +41 -1
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- library_name: transformers
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.