OpenAccess-AI-Collective/axolotl

Rotinas de configuração que concedem a agentes especializados a capacidade de submeter execuções personalizadas de fine-tuning LoRA com base em interações com falha.

O que é axolotl?

O **Axolotl** é uma skill projetada para agentes de IA especializados, como aqueles que operam no Claude Code, Cursor ou Codex, permitindo que eles realizem fine-tuning eficiente e direcionado por meio do método LoRA (Low-Rank Adaptation). A skill utiliza rotinas de configuração pré-definidas que interpretam interações com falha (como erros de código, outputs incorretos ou loops de feedback) e automaticamente preparam e submetem execuções de fine-tuning personalizadas. Isso é particularmente útil em cenários de aprendizado contínuo, onde o agente precisa se adaptar rapidamente a novos contextos ou corrigir comportamentos sem intervenção manual. O Axolotl opera analisando logs de interação, extraindo padrões de erro e mapeando-os para parâmetros de treinamento LoRA, como rank, alpha, targets e datasets. Ele também gerencia o fluxo de trabalho completo: desde a preparação do ambiente (via Docker ou scripts Python), passando pelo download de modelos base, até a submissão do job de treinamento em uma fila ou plataforma compatível (como SLURM, Kubernetes ou execução local). A skill suporta múltiplas arquiteturas de modelos (LLaMA, Mistral, GPT-NeoX) e se integra com ferramentas de versionamento (Git) e armazenamento (Hugging Face Hub). Ao automatizar o loop de 'falha → ajuste → melhoria', o Axolotl reduz o tempo de iteração e permite que o agente evolua de forma autônoma, tornando-o ideal para tarefas de desenvolvimento de software onde a precisão e a adaptação rápida são críticas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add OpenAccess-AI-Collective/axolotl

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que axolotl faz?

Rotinas de configuração que concedem a agentes especializados a capacidade de submeter execuções personalizadas de fine-tuning LoRA com base em interações com falha.

Visão Geral

Esta habilidade capacita agentes de IA a melhorar seu desempenho através de fine-tuning automático e adaptativo. Quando o agente encontra uma interação que resulta em falha (por exemplo, um erro de código, uma resposta incorreta ou um loop de feedback negativo), o Axolotl analisa o contexto e prepara uma execução de fine-tuning LoRA sob medida para corrigir o comportamento.

Como Funciona

  1. Detecção de Falha: O agente monitora interações e identifica falhas com base em critérios configuráveis (ex.: códigos de erro, outputs inesperados, feedback do usuário).
  2. Extração de Contexto: A falha é decomposta em componentes acionáveis: prompt original, resposta do agente, erro observado e metadados relevantes (ex.: versão do modelo, timestamp).
  3. Geração de Configuração: Uma rotina de configuração é montada com base em templates pré-definidos. Isso inclui parâmetros LoRA (lora_r, lora_alpha, lora_target_modules), dataset (derivado do contexto da falha) e hiperparâmetros de treinamento (num_epochs, learning_rate).
  4. Submissão do Job: A configuração é submetida a um executor compatível (local, SLURM, Kubernetes, ou script Docker). O job de fine-tuning é executado de forma assíncrona.
  5. Atualização do Agente: Após a conclusão, os pesos LoRA são salvos e disponibilizados para o agente, que pode carregá-los em tempo de execução ou em uma nova sessão.

Plataformas Suportadas

  • Claude Code: Integração via hooks de pós-processamento e API de ferramentas.
  • Cursor: Uso de regras de workspace e comandos customizados.
  • Codex: Integração via extensões de plugin e scripts de automação.
  • Execução Genérica: Suporte para qualquer agente que possa executar comandos shell e fazer chamadas HTTP.

Pré-requisitos

  • Python 3.10+
  • torch (>=2.0.0)
  • transformers (>=4.30.0)
  • peft (>=0.5.0)
  • datasets (>=2.10.0)
  • Acesso a um modelo base compatível (ex.: meta-llama/Llama-2-7b-chat-hf, mistralai/Mistral-7B-v0.1)
  • (Opcional) Docker para execução isolada

Instalação

pip install axolotl-skill  # Pacote fictício, substituir pelo real

Ou use Docker:

docker pull openaccess/axolotl:latest

Configuração

Crie um arquivo axolotl_config.yaml no diretório de trabalho do agente:

model:
  base_model: meta-llama/Llama-2-7b-chat-hf
  lora:
    r: 8
    alpha: 16
    dropout: 0.05
    target_modules:
      - q_proj
      - v_proj

training:
  batch_size: 4
  micro_batch_size: 1
  num_epochs: 3
  learning_rate: 2e-4
  dataset_path: ./failed_interactions.jsonl

executor:
  type: local  # opções: local, slurm, kubernetes, docker
  docker_image: openaccess/axolotl:latest

Uso

Exemplo de Script de Envio

from axolotl_skill import submit_finetune

# Extraído de uma interação com falha
failure_context = {
    "original_prompt": "Explique o conceito de closure em JavaScript.",
    "agent_response": "Uma closure é...",
    "error": "Resposta incompleta, faltou mencionar escopo léxico.",
    "model_id": "llama-2-7b-chat"
}

# Submete um fine-tuning LoRA com base na falha
job_id = submit_finetune(failure_context)
print(f"Job de fine-tuning submetido: {job_id}")

Integração com Claude Code

Adicione ao seu .claude/settings.json:

{
  "tools": {
    "axolotl": {
      "enabled": true,
      "command": "python -m axolotl_skill.claude_tool"
    }
  }
}

Integração com Cursor

Adicione uma regra no .cursorrules:

Sempre que houver uma falha de execução, execute o comando `axolotl submit --from-last-error` para preparar um fine-tuning corretivo.

Exemplo de Configuração de Template

templates/lora_default.yaml:

lora_r: 8
lora_alpha: 16
lora_dropout: 0.1
lora_target_modules:
  - q_proj
  - k_proj
  - v_proj
  - o_proj
use_rslora: true

Exemplo de Saída de Log

[Axolotl] Interação com falha detectada: "Resposta incompleta"
[Axolotl] Extraindo contexto...
[Axolotl] Template LoRA carregado: lora_default
[Axolotl] Dataset criado com 1 amostra
[Axolotl] Submetendo job de fine-tuning...
[Axolotl] Job ID: ft-20250328-abc123
[Axolotl] Status: submitted

Solução de Problemas

  • Erro de GPU insuficiente: Reduza batch_size ou micro_batch_size na configuração.
  • Falha ao baixar modelo: Verifique se o token do Hugging Face está configurado como variável de ambiente HF_TOKEN.
  • Job travado: Verifique se o executor (Docker/SLURM) está em execução e com recursos disponíveis.

Contribuição

Veja o arquivo CONTRIBUTING.md para diretrizes de contribuição.

Licença

Este projeto está licenciado sob a licença Apache 2.0.

Habilidades Relacionadas