elissoncardoso1's picture
Upload README.md with huggingface_hub
65fbd3e verified
|
raw
history blame
2.82 kB
---
license: apache-2.0
base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct
tags:
- generated_from_trainer
- espiritismo
- portuguese
- fine-tuned
- peft
- lora
model-index:
- name: SmolLM2-1.7B-Espirita
results: []
---
# SmolLM2-1.7B-Espirita
Este modelo é uma versão fine-tuned do [HuggingFaceTB/SmolLM2-1.7B-Instruct](https://huggingface.co/HuggingFaceTB/SmolLM2-1.7B-Instruct) usando LoRA (Low-Rank Adaptation) em um dataset de obras espíritas em português.
## Descrição do Dataset
O modelo foi treinado em um dataset contendo 12.842 pares de instrução-resposta extraídos de 11 obras clássicas do espiritismo:
- **Evangelho Redivivo** (Livros 1-5)
- **O Livro dos Espíritos**
- **O Livro dos Médiuns**
- **O Céu e o Inferno**
- **O Evangelho Segundo o Espiritismo**
- **O que é o Espiritismo**
- **Obras Póstumas**
## Configuração do Treinamento
- **Modelo Base**: HuggingFaceTB/SmolLM2-1.7B-Instruct
- **Método**: LoRA (Low-Rank Adaptation)
- **Quantização**: 4-bit
- **Épocas**: 3
- **Batch Size**: 4
- **Learning Rate**: 2e-4
- **Max Length**: 512 tokens
- **LoRA Rank**: 16
- **LoRA Alpha**: 32
## Como Usar
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
# Carrega o modelo base
base_model = AutoModelForCausalLM.from_pretrained(
"HuggingFaceTB/SmolLM2-1.7B-Instruct",
torch_dtype=torch.float16,
device_map="auto"
)
# Carrega o tokenizer
tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-1.7B-Instruct")
# Carrega os adaptadores LoRA
model = PeftModel.from_pretrained(base_model, "elissoncardoso1/SmolLM2-1.7B-Espirita")
# Função para gerar resposta
def gerar_resposta(pergunta, max_length=256):
prompt = f"Pergunta: {pergunta}\nResposta:"
inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_length=max_length,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response.split("Resposta:")[-1].strip()
# Exemplo de uso
pergunta = "O que é a reencarnação segundo o espiritismo?"
resposta = gerar_resposta(pergunta)
print(resposta)
```
## Limitações
- O modelo foi treinado especificamente em conteúdo espírita em português
- Pode não ter conhecimento atualizado sobre eventos recentes
- As respostas refletem o conteúdo das obras utilizadas no treinamento
## Licença
Este modelo está licenciado sob Apache 2.0. O conteúdo das obras espíritas utilizadas está em domínio público.