|
--- |
|
license: apache-2.0 |
|
library_name: transformers |
|
pipeline_tag: text-generation |
|
--- |
|
|
|
# internlm2-chat-1_8b-ultracabrita |
|
|
|
<!--- PROJECT LOGO --> |
|
<p align="center"> |
|
<img src="https://huggingface.co/recogna-nlp/internlm-chatbode-7b/resolve/main/_1add1e52-f428-4c7c-bab2-3c6958e029fa.jpeg" alt="ChatBode Logo" width="400" style="margin-left:'auto' margin-right:'auto' display:'block'"/> |
|
</p> |
|
|
|
O InternLm-ChatBode é um modelo de linguagem ajustado para o idioma português, desenvolvido a partir do modelo [InternLM2](https://huggingface.co/internlm/internlm2-chat-1_8b). Este modelo foi refinado através do processo de fine-tuning utilizando o dataset UltraAlpaca. |
|
|
|
## Características Principais |
|
|
|
- **Modelo Base:** [internlm/internlm2-chat-1_8b](https://huggingface.co/internlm/internlm2-chat-1_8b) |
|
- **Dataset para Fine-tuning:** [UltraAlpaca](https://huggingface.co/datasets/recogna-nlp/ultra-alpaca-ptbr) |
|
- **Treinamento:** O treinamento foi realizado a partir do fine-tuning, usando QLoRA, do internlm2-chat-1_8b. |
|
|
|
## Exemplo de uso |
|
|
|
A seguir um exemplo de código de como carregar e utilizar o modelo: |
|
|
|
```python |
|
import torch |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
tokenizer = AutoTokenizer.from_pretrained("recogna-nlp/internlm2-chat-1_8b-ultracabrita", trust_remote_code=True) |
|
model = AutoModelForCausalLM.from_pretrained("recogna-nlp/internlm2-chat-1_8b-ultracabrita", torch_dtype=torch.float16, trust_remote_code=True).cuda() |
|
model = model.eval() |
|
response, history = model.chat(tokenizer, "Olá", history=[]) |
|
print(response) |
|
response, history = model.chat(tokenizer, "O que é o Teorema de Pitágoras? Me dê um exemplo", history=history) |
|
print(response) |
|
``` |
|
|
|
As respostas podem ser geradas via stream utilizando o método `stream_chat`: |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model_path = "recogna-nlp/internlm2-chat-1_8b-ultracabrita" |
|
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16, trust_remote_code=True).cuda() |
|
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) |
|
|
|
model = model.eval() |
|
length = 0 |
|
for response, history in model.stream_chat(tokenizer, "Olá", history=[]): |
|
print(response[length:], flush=True, end="") |
|
length = len(response) |
|
``` |