Update README.md
Browse files
README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
---
|
2 |
-
library_name:
|
3 |
tags:
|
4 |
- Phi-2B
|
5 |
- Portuguese
|
@@ -27,7 +27,7 @@ pipeline_tag: text-generation
|
|
27 |
</p>
|
28 |
|
29 |
Phi-Bode é um modelo de linguagem ajustado para o idioma português, desenvolvido a partir do modelo base Phi-2B fornecido pela [Microsoft](https://huggingface.co/microsoft/phi-2). Este modelo foi refinado através do processo de fine-tuning utilizando o dataset Alpaca traduzido para o português. O principal objetivo deste modelo é ser viável para pessoas
|
30 |
-
que não possuem recursos computacionais disponíveis para o uso de LLMs (Large Language Models).
|
31 |
|
32 |
## Características Principais
|
33 |
|
@@ -48,8 +48,6 @@ que não possuem recursos computacionais disponíveis para o uso de LLMs (Large
|
|
48 |
| 7b-gguf | | [recogna-nlp/bode-7b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br-gguf) |
|
49 |
| 13b-gguf | | [recogna-nlp/bode-13b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-13b-alpaca-pt-br-gguf) |
|
50 |
|
51 |
-
|
52 |
-
|
53 |
## Utilização
|
54 |
|
55 |
O modelo Phi-Bode pode ser utilizado para uma variedade de tarefas de processamento de linguagem natural (PLN) em português, como geração de texto, classificação, sumarização de texto, entre outros.
|
@@ -58,6 +56,44 @@ O modelo Phi-Bode pode ser utilizado para uma variedade de tarefas de processame
|
|
58 |
|
59 |
Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
## Contribuições
|
63 |
Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull.
|
@@ -70,4 +106,4 @@ Se você deseja utilizar o Phi-Bode em sua pesquisa, cite-o da seguinte maneira:
|
|
70 |
author={Gabriel Lino Garcia and Pedro Henrique Paiola and João Paulo Papa},
|
71 |
year={2024},
|
72 |
}
|
73 |
-
```
|
|
|
1 |
---
|
2 |
+
library_name: peft
|
3 |
tags:
|
4 |
- Phi-2B
|
5 |
- Portuguese
|
|
|
27 |
</p>
|
28 |
|
29 |
Phi-Bode é um modelo de linguagem ajustado para o idioma português, desenvolvido a partir do modelo base Phi-2B fornecido pela [Microsoft](https://huggingface.co/microsoft/phi-2). Este modelo foi refinado através do processo de fine-tuning utilizando o dataset Alpaca traduzido para o português. O principal objetivo deste modelo é ser viável para pessoas
|
30 |
+
que não possuem recursos computacionais disponíveis para o uso de LLMs (Large Language Models). Ressalta-se que este é um trabalho em andamento e o modelo ainda apresenta problemas na geração de texto em português.
|
31 |
|
32 |
## Características Principais
|
33 |
|
|
|
48 |
| 7b-gguf | | [recogna-nlp/bode-7b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br-gguf) |
|
49 |
| 13b-gguf | | [recogna-nlp/bode-13b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-13b-alpaca-pt-br-gguf) |
|
50 |
|
|
|
|
|
51 |
## Utilização
|
52 |
|
53 |
O modelo Phi-Bode pode ser utilizado para uma variedade de tarefas de processamento de linguagem natural (PLN) em português, como geração de texto, classificação, sumarização de texto, entre outros.
|
|
|
56 |
|
57 |
Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
|
58 |
|
59 |
+
```python
|
60 |
+
!pip3 -q install -q -U bitsandbytes==0.42.0
|
61 |
+
!pip3 -q install -q -U accelerate==0.27.1
|
62 |
+
!pip3 -q install -q -U transformers==4.38.0
|
63 |
+
|
64 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
65 |
+
|
66 |
+
hf_auth = 'HF_ACCESS_KEY'
|
67 |
+
|
68 |
+
model_id = "recogna-nlp/Phi-Bode"
|
69 |
+
gembode = AutoModelForCausalLM.from_pretrained(model_id, device_map={"":0}, trust_remote_code=True, token=hf_auth)
|
70 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True, token=hf_auth)
|
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=gembode, tokenizer=tokenizer, query="Qual é a capital da França?")
|
94 |
+
print(result)
|
95 |
+
#Exemplo de resposta obtida: A capital da França é Paris. A cidade tem uma estratégia de transporte moderno difícil entre todos os lugares, incluindo ferroviário, busca, metro e línguações. Para obter uma avaliação completa da cidade, visita esta aumentar a experiência gastronômica, cultural e natural.
|
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.
|
|
|
106 |
author={Gabriel Lino Garcia and Pedro Henrique Paiola and João Paulo Papa},
|
107 |
year={2024},
|
108 |
}
|
109 |
+
```
|