VirtuoTuring commited on
Commit
89d3cb0
·
verified ·
1 Parent(s): 65eed3d

Update README.md

Browse files

---
license: other
license_name: virtuo
license_link: https://justina.cloud/licenses_models/virtuo/virtuo_1_0.txt
language:
- pt
base_model:
- VirtuoTuring/Chat_Noir
pipeline_tag: text-generation
library_name: transformers
tags:
- PT-PT
- legal
- civil-procedure
- civil-code
- abuso-de-direito
- direito-da-família
- liberdade-sexual
- ações-populares
- ações-coletivas
- Código-processo-civil
- Código-civil
- safetensors
datasets:
- VirtuoTuring/justina_clarus
---

# Justina Clarus 24B — safetensors (v2)

Versão 2. Reforçada com mais sessões de treino e mais pares Q/A em PT-PT, mantendo foco no CPC e no CC e temas conexos.

## O que mudou na v2
- Aumento do número de pares e iterações de treino.
- Maior consistência estilística em PT-PT técnico e jurídico.
- Mais robustez a variações de pergunta dentro do mesmo domínio.

## Generalização e não-memorização
- O modelo não memoriza verbatim todas as respostas. Retém padrões gerais e pode aproximar-se de formulações consistentes.
- Aprendeu formato, tom e padrões das tuas perguntas e respostas formais em PT-PT com jargões específicos (jurídico, técnico). Responde de forma consistente nesse estilo, mesmo para perguntas diferentes das do dataset. Útil para: aplicações que exigem respostas consistentes com o tom do dataset, sem exigir reprodução literal. Excelente para RAG.
- Capta padrões semânticos e sintáticos do corpus jurídico PT-PT. Para perguntas idênticas ou muito próximas, as respostas tendem a ser precisas (>80–90% de equivalência semântica, mesmo sem verbatim). Útil para: cenários com perguntas variadas mas dentro do mesmo tema jurídico. Melhor generalização.

## Destinos preferenciais
Este modelo é base para:
1) fine-tune dirigido a matérias legais específicas;
2) integração em RAG;
3) uso de contexto dado no prompt (leis, interpretações, factos) para compor texto jurídico.

## Cobertura jurídica
- CPC: espécies de ações, processos, competência, recursos, caso julgado.
- CC: obrigações, responsabilidade civil, direitos de personalidade.
- Reforços: abuso de direito; família e menores; liberdade sexual; ações populares.
- Contexto adicional (seletivo): CPP, CP, CRP, CEDH, RGPD (+ Lei 58/2019), Lei 112/2009, Lei 130/2015, LAV, Reg. (UE) 1215/2012, Reg. (UE) 2019/1111, Dir. 2004/25/CE, CVM 194/196.

## Dados e esquema
Treino em JSONL com pares Q/A autossuficientes.

Schema
{"messages":[{"role":"user","content":"…"},{"role":"assistant","content":"…"}]}

Exemplos
{"messages":[{"role":"user","content":"Quais são as espécies fundamentais de ações no Direito Processual Civil segundo o artigo 10.º, n.º 1 CPC?"},{"role":"assistant","content":"Segundo o artigo 10.º, n.º 1 CPC, distinguem-se duas espécies fundamentais de ações no esquema do processo civil."}]}
{"messages":[{"role":"user","content":"O que caracteriza a ação declarativa?"},{"role":"assistant","content":"A ação declarativa pode ser de simples apreciação, de condenação ou constitutiva (art. 10.º, n.os 2 e 3 CPC), pedindo-se em cada subespécie providências distintas."}]}

## Utilização
Distribuição em safetensors para transformers.

Python (FP16/BF16)
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
repo = "VirtuoTuring/justina_clarus-24b-safetensors"
tok = AutoTokenizer.from_pretrained(repo, use_fast=True)
dtype = torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
model = AutoModelForCausalLM.from_pretrained(repo, torch_dtype=dtype, device_map="auto")
prompt = "Pergunta: Indique as espécies de ações no art. 10.º, n.º 1 CPC.\nResposta:"
out = model.generate(**tok(prompt, return_tensors="pt").to(model.device),
max_new_tokens=400, temperature=0.2, top_p=0.9)
print(tok.decode(out[0], skip_special_tokens=True))

Python 4-bit (bitsandbytes)
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
import torch
bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True,
bnb_4bit_compute_dtype=torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16)
tok = AutoTokenizer.from_pretrained(repo, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(repo, quantization_config=bnb, device_map="auto")

## Boas práticas
- Cite artigos e números quando aplicável.
- Valide com fontes oficiais. Revisão humana obrigatória em peças processuais.
- Para produção, preferir temperature baixa e limites explícitos de tokens.

## Limitações
- Janela de contexto ~4k tokens.
- Não substitui profissionais forenses nem decisões dos tribunais.
- Pode falhar em regimes especiais ou alterações legislativas recentes.

## Licença
Virtuo 1.0. Uso, modificação e redistribuição, incluindo comercial, com preservação dos avisos e referência a Virtuo Turing – Artificial Intelligence, S.A.

## Créditos
Virtuo Turing – Artificial Intelligence, S.A. (Portugal) e Octávio Viana.
Base © Mistral AI (Apache-2.0).
Website: https://justina.cloud

Files changed (1) hide show
  1. README.md +5 -5
README.md CHANGED
@@ -1,5 +1,5 @@
1
- ---
2
- license: other
3
- license_name: virtuo
4
- license_link: https://justina.cloud/licenses_models/virtuo/virtuo_1_0.txt
5
- ---
 
1
+ ---
2
+ license: other
3
+ license_name: virtuo
4
+ license_link: https://justina.cloud/licenses_models/virtuo/virtuo_1_0.txt
5
+ ---