How to use from the
Use from the
PEFT library
from peft import PeftModel
from transformers import AutoModelForCausalLM

base_model = AutoModelForCausalLM.from_pretrained("unsloth/gemma-4-e2b-it-unsloth-bnb-4bit")
model = PeftModel.from_pretrained(base_model, "Kruliel/shikkaku")

Shikkaku — Creative Writing Assistant / Assistente de Escrita Criativa

License Base Model Language


🚀 Formatos Alternativos

Este modelo também está disponível quantizado em formato GGUF para execução local/Ollama em: 👉 Kruliel/shikkaku-gguf


🇧🇷 Português

O que é o Shikkaku?

Shikkaku é um assistente de escrita criativa em Português, construído sobre o Gemma 4 E2B da Google e especializado através de múltiplas rodadas de fine-tuning focadas em narrativa, análise textual e desenvolvimento criativo.

O nome é uma referência a Ningen Shikkaku (人間失格 — Desqualificado como Ser Humano), obra seminal de Osamu Dazai. Assim como a obra explora a condição humana com honestidade brutal, o Shikkaku foi treinado para dar feedback direto, específico e real — sem elogios vazios, sem respostas genéricas.

Para que serve?

  • Análise de trechos: identifica problemas de ritmo, diálogo, caracterização, show vs tell
  • Feedback construtivo: explica o que não funciona e por quê, com sugestões práticas
  • Desenvolvimento criativo: ajuda a desenvolver personagens, arcos narrativos, atmosfera
  • Coaching de escrita: orienta sobre técnicas literárias com fundamento narrativo
  • Brainstorming: sugere múltiplas direções criativas em vez de uma única resposta

O modelo não foi treinado para responder sobre programação, matemática ou assuntos técnicos.

Como foi treinado?

Fine-tuning com LoRA/QLoRA usando Unsloth no Google Colab (GPU T4), em 4 rodadas progressivas:

Rodada Dataset Exemplos Épocas Objetivo
1 Nitral-AI/Creative_Writing-ShareGPT 800 2 Base em escrita criativa de alta qualidade
2 euclaise/writingprompts 600 2 Histórias humanas do r/WritingPrompts
3 theprint/TextAnalysis 77 3 Técnica literária e análise narrativa
4 Dataset DZP (próprio) 206 2 Análise crítica de escrita em Português

A Rodada 4 com dataset próprio é o que define a voz e o estilo do modelo — respostas diretas, específicas, que ensinam algo concreto.

Como usar?

Requisitos:

pip install transformers peft torch accelerate

Código:

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

# Carregar modelo base
base_model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-4-E2B-it",
    torch_dtype=torch.float16,
    device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-E2B-it")

# Carregar adaptadores Shikkaku
model = PeftModel.from_pretrained(base_model, "Kruliel/shikkaku")

# Conversa
messages = [
    {
        "role": "system",
        "content": "Você é um assistente especialista em escrita criativa. Seu foco é narrativa, personagens, emoção e estrutura dramática. Evite respostas genéricas — seja específico e construtivo."
    },
    {
        "role": "user",
        "content": "Analise esse trecho: 'João estava com medo. Ele correu. O monstro era assustador.'"
    }
]

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    input_ids=inputs,
    max_new_tokens=300,
    temperature=0.8,
    do_sample=True,
)

new_tokens = outputs[0][inputs.shape[1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))

Exemplo de conversa

Usuário: Meu personagem principal não tem falhas. Como posso torná-lo mais humano sem deixá-lo fraco?

Shikkaku: Personagens sem falhas geralmente são planos demais. A humanidade nasce da luta, não da perfeição. Para tornar seu personagem humano sem enfraquecê-lo, apresente falhas que tenham consequências reais e justas.

Em vez de simplesmente dizer que ele é impulsivo, mostre como essa impulsividade prejudica relacionamentos importantes. Em vez de apenas dizer que ele é corajoso, mostre o custo emocional de cada ato corajoso.

As falhas devem ser consistentes com a personalidade do personagem. Um personagem preguiçoso não pode ser heroico sem que isso custe algo significativo. O ponto crucial é a motivação — um personagem humano sempre age por motivações complexas, não apenas por virtude.

Limitações

  • Modelo base de 2B parâmetros — respostas mais curtas e menos elaboradas que modelos maiores
  • Treinado principalmente para Português; respostas em inglês são funcionais mas menos refinadas
  • Dataset próprio de 206 exemplos — o estilo é consistente mas o vocabulário temático é limitado
  • Não tem conhecimento de eventos após agosto de 2025 (corte do Gemma 4)

Licença

Apache 2.0 — herdada do Gemma 4. Uso comercial permitido com atribuição.


🇺🇸 English

What is Shikkaku?

Shikkaku is a creative writing assistant in Portuguese, built on Google's Gemma 4 E2B and specialized through multiple fine-tuning rounds focused on narrative craft, textual analysis, and creative development.

The name references Ningen Shikkaku (人間失格 — No Longer Human), a seminal work by Osamu Dazai. Just as the novel explores the human condition with brutal honesty, Shikkaku was trained to give direct, specific, and real feedback — no empty praise, no generic responses.

What can it do?

  • Text analysis: identifies issues with pacing, dialogue, characterization, show vs tell
  • Constructive feedback: explains what doesn't work and why, with practical suggestions
  • Creative development: helps develop characters, narrative arcs, atmosphere
  • Writing coaching: guides on literary techniques with narrative foundation
  • Brainstorming: suggests multiple creative directions instead of a single answer

The model was not trained to answer questions about programming, mathematics, or technical subjects.

Training Details

Fine-tuned with LoRA/QLoRA using Unsloth on Google Colab (T4 GPU), in 4 progressive rounds:

Round Dataset Examples Epochs Goal
1 Nitral-AI/Creative_Writing-ShareGPT 800 2 High quality creative writing foundation
2 euclaise/writingprompts 600 2 Human stories from r/WritingPrompts
3 theprint/TextAnalysis 77 3 Literary technique and narrative analysis
4 DZP Dataset (custom) 206 2 Critical writing analysis in Portuguese

Round 4 with the custom dataset defines the model's voice and style — direct, specific responses that teach something concrete.

How to use?

Requirements:

pip install transformers peft torch accelerate

Code:

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

# Load base model
base_model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-4-E2B-it",
    torch_dtype=torch.float16,
    device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-E2B-it")

# Load Shikkaku adapters
model = PeftModel.from_pretrained(base_model, "Kruliel/shikkaku")

# Chat
messages = [
    {
        "role": "system",
        "content": "Você é um assistente especialista em escrita criativa. Seu foco é narrativa, personagens, emoção e estrutura dramática. Evite respostas genéricas — seja específico e construtivo."
    },
    {
        "role": "user",
        "content": [{"type": "text", "text": "How do I write a compelling villain?"}]
    }
]

inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    input_ids=inputs,
    max_new_tokens=300,
    temperature=0.8,
    do_sample=True,
)

new_tokens = outputs[0][inputs.shape[1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))

Limitations

  • 2B parameter base model — shorter and less elaborate responses than larger models
  • Primarily trained in Portuguese; English responses are functional but less refined
  • Custom dataset of 206 examples — style is consistent but thematic vocabulary is limited
  • No knowledge of events after August 2025 (Gemma 4 cutoff)

License

Apache 2.0 — inherited from Gemma 4. Commercial use permitted with attribution.


Shikkaku — "Desqualificado como Ser Humano" / "No Longer Human" — Osamu Dazai, 1948

Built by Kruliel

Downloads last month
95
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Kruliel/shikkaku

Adapter
(126)
this model