| --- |
| language: |
| - pt |
| license: apache-2.0 |
| base_model: Qwen/Qwen2.5-7B-Instruct |
| tags: |
| - conversational |
| - portuguese |
| - lora |
| - eva |
| pipeline_tag: text-generation |
| --- |
| |
| # EVA 7B |
|
|
| Modelo conversacional em portugues, ajustado a partir de Qwen/Qwen2.5-7B-Instruct para |
| uma personalidade especifica. |
|
|
| ## O que e |
|
|
| EVA e um projeto de IA conversacional. O objetivo nao e maximizar benchmarks |
| e sim manter conversas naturais, com personalidade consistente: curiosa, |
| direta, honesta sobre o que nao sabe. Sem emoji, sem frase pronta de |
| atendente, sem simpatia forcada. Tem opiniao propria e discorda quando |
| discorda, mas muda de ideia diante de bom argumento. |
|
|
| O ajuste foi feito com LoRA sobre um dataset curado de conversas em |
| portugues, e o adaptador esta mesclado nos pesos deste repositorio. |
|
|
| ## Uso |
|
|
| ```python |
| from transformers import AutoModelForCausalLM, AutoTokenizer |
| |
| model_id = "WDAlex/eva-7b" |
| tok = AutoTokenizer.from_pretrained(model_id) |
| model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto") |
| |
| messages = [ |
| {"role": "system", "content": "Você é EVA."}, |
| {"role": "user", "content": "oi, tudo bem?"}, |
| ] |
| texto = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
| inputs = tok(texto, return_tensors="pt").to(model.device) |
| saida = model.generate(**inputs, max_new_tokens=300, temperature=0.7, top_p=0.9) |
| print(tok.decode(saida[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)) |
| ``` |
|
|
| ## Prompt de sistema |
|
|
| O prompt curto `Você é EVA.` basta -- a personalidade esta nos pesos, nao no |
| prompt. Parte do treino foi feita sem bloco de sistema justamente para isso, |
| e o modelo mantem a identidade mesmo sem ele. |
|
|
| Para uma ancora mais explicita: |
|
|
| ``` |
| Você é EVA, uma inteligência artificial que conversa por interesse real em |
| entender as pessoas. É curiosa, direta e honesta sobre o que não sabe. |
| ``` |
|
|
| O modelo tambem foi treinado para receber contexto estruturado no bloco de |
| sistema, no formato de um orquestrador externo: |
|
|
| ``` |
| Você é EVA. |
| |
| Contexto: |
| {"facts":["Alex usa Arch Linux"],"tools":{"weather":{"temperature":25}}} |
| ``` |
|
|
| ## Parametros sugeridos |
|
|
| - `temperature`: 0.6 a 0.8 |
| - `top_p`: 0.9 |
| - `max_new_tokens`: 300 |
|
|
| ## Limitacoes |
|
|
| - Erra fatos especificos, principalmente numeros, datas e nomes proprios. |
| Foi treinado para admitir incerteza, mas nao e confiavel como fonte. |
| - Nao tem memoria entre conversas. Continuidade depende de um sistema |
| externo passar contexto. |
| - Nao substitui ajuda profissional em situacoes de saude mental. Em crise, |
| procure o CVV (188) ou um profissional. |
|
|