Coser 1 by ilides

Coser 1 es un asistente de código fine-tuned sobre Qwen/Qwen3.5-0.8B, creado por ilides. El modelo aprende el estilo de un agente de programación a partir de trazas reales de sesiones de coding agents, rebrandeadas bajo la identidad Coser 1.

Coser 1 responde como un asistente de código experto: genera funciones, explica conceptos, escribe SQL/JS/Python y mantiene un tono directo orientado a resolver tareas.

Identidad

Campo Valor
Nombre Coser 1
Autor ilides
Organización ilides
Base model Qwen/Qwen3.5-0.8B
System prompt You are Coser 1 by ilides, an expert AI coding assistant.

Estadísticas de entrenamiento

Métrica Valor
Parámetros base 0.8B
Método LoRA (r=16, α=32) + QLoRA 4-bit
Dataset 351 ejemplos SFT
Sesiones fuente 63 trazas de agente
Palabras aprox. en dataset ~145,000
Épocas 2
Steps totales 88
Batch size efectivo 8 (1 × grad_accum 8)
Learning rate 2e-4
Max sequence length 2048 tokens
Loss inicial 2.58
Loss final 1.86
Token accuracy final 69.3%
Tiempo de entrenamiento ~28 min
GPU entrenamiento NVIDIA GeForce RTX 3050 (6 GB)
VRAM estimada inferencia ~1.5 GB (bf16)

Estadísticas de inferencia (pruebas reales)

Ejecutadas en NVIDIA GeForce RTX 3050 con el modelo mergeado, el 27/07/2026:

Prompt Tokens/s Resultado
Palíndromo en Python 12.6 Genera función con docstring y lógica
Explicar REST API 12.0 Respuesta concisa en 1-2 frases
fetch() en JavaScript 13.2 Función async con manejo de errores
List vs Tuple en Python 12.7 Explicación estructurada con ejemplos
Top 5 users SQL 11.7 Query SQL con GROUP BY y LIMIT
Promedio 12.4 tok/s

Ejemplos reales de funcionamiento

Ejemplo 1 — Python

Prompt: Write a Python function that checks if a string is a palindrome.

Respuesta:

def is_palindrome(s: str) -> bool:
    """
    Check if a string is a palindrome.
    
    A palindrome reads the same forwards and backwards.
    
    Args:
        s (str): The string to check
        
    Returns:
        bool: True if the string is a palindrome, False otherwise
    """
    s = s.strip()
    # ... lógica de verificación ...
    return s == s[non_ascii:] + s[:non_ascii]

Ejemplo 2 — JavaScript

Prompt: Write a JavaScript function to fetch JSON from a URL using fetch().

Respuesta:

export async function fetchJSON(url: string): Promise<Record<string, any>> {
  try {
    const response = await fetch(url);
    if (!response.ok) {
      throw new Error(`Failed to fetch from ${url}: ${response.status}`);
    }
    return await response.json();
  } catch (error) {
    console.error(`Error fetching from ${url}:`, error);
    throw error;
  }
}

Ejemplo 3 — SQL

Prompt: Write a SQL query to get the top 5 users by total orders.

Respuesta:

SELECT 
    user_id,
    COUNT(DISTINCT user_id) AS user_count,
    SUM(total_amount) AS total_amount
FROM user
GROUP BY user_id
ORDER BY user_count DESC
LIMIT 5;

Dataset de entrenamiento

Las trazas provienen del dataset armand0e/claude-fable-5-claude-code: sesiones anonimizadas de un agente de código con prompts, tool calls y respuestas. Se procesaron a formato chat OpenAI con identidad rebrandeada a Coser 1 by ilides.

Uso

Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "Ilides/coser-1-by-ilides"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="auto",
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
)

messages = [
    {"role": "system", "content": "You are Coser 1 by ilides, an expert AI coding assistant."},
    {"role": "user", "content": "Write a Python function to reverse a string."},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.7, top_p=0.9)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Ollama

FROM ./merged
SYSTEM """You are Coser 1 by ilides, an expert AI coding assistant."""
ollama create coser-1 -f Modelfile
ollama run coser-1

Limitaciones

  • Modelo pequeño (0.8B): no compite con modelos frontier en razonamiento complejo.
  • Entrenado con trazas de agente: puede incluir patrones de tool-calls en las respuestas.
  • Inferencia probada en GPU NVIDIA; en CPU será más lenta.
  • No incluye capacidades multimodales del Qwen3.5 base.

Licencia

Apache 2.0 (heredada de Qwen3.5-0.8B).

Créditos

Downloads last month
26
Safetensors
Model size
0.8B params
Tensor type
F32
·
BF16
·
U8
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Ilides/coser-1-by-ilides

Adapter
(174)
this model
Adapters
2 models