phpaiola commited on
Commit
e0054db
1 Parent(s): 773f99b

Update README.md

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