Rama JARVIS-GREEN, independiente de master (el nucleo naranja queda intacto). - README propio del carril verde con diagrama de arquitectura y capturas del panel. - verde/: arranque, panel web, puente de voz (escucha local con faster-whisper + habla con la voz del naranja), pruebas (07 voz, 08 escucha), config y notas. - Integracion RAG: nucleo/saber/busca_cli.py + skill buscar-en-apuntes, para que el agente consulte el mismo indice que el nucleo. - Todo local (127.0.0.1); sin datos personales (rutas y modelo de GPU scrubeados).
60 lines
3 KiB
Text
60 lines
3 KiB
Text
# Variante de qwen3.5:4b para el carril VERDE: contexto grande para el arnes.
|
|
#
|
|
# ollama create qwen3.5:4b-verde -f verde/qwen3.5-4b-verde.Modelfile
|
|
#
|
|
# ── Por que hace falta una variante propia ─────────────────────────────────
|
|
#
|
|
# El naranja usa qwen3.5:4b-jarvis, afinado para lo contrario que esto:
|
|
# respuestas habladas cortas y VRAM libre para whisper. Medido con
|
|
# `hermes prompt-size` desde $HOME/COFRE/CODERS/JARVIS:
|
|
#
|
|
# prompt de sistema de Hermes 26.281 B
|
|
# esquemas de las 19 herramientas 55.978 B
|
|
# ─────────────────────────────────────────────
|
|
# fijo, antes de decir nada 82.259 B ≈ 20.500 tokens
|
|
#
|
|
# Contra los num_ctx 4096 del naranja. Cinco veces por encima: no es que rinda
|
|
# mal, es que no entra la pregunta.
|
|
#
|
|
# ── Y el numero NO se elige por lo que cabe, sino por lo que Hermes exige ──
|
|
#
|
|
# CORREGIDO EL 16 DE AGOSTO. Aqui ponia num_ctx 32768 con las 32 capas en GPU,
|
|
# elegido como "lo mas que cabe en la GPU". Dos cosas mal:
|
|
#
|
|
# 1. 32768 con 32 capas da cudaMalloc failed. Lo que cabia asi era 24576.
|
|
# 2. Da igual: Hermes RECHAZA cualquier modelo por debajo de 64.000 tokens
|
|
# (MINIMUM_CONTEXT_LENGTH, agent/model_metadata.py). Es un tope duro y no
|
|
# se ve hasta que abres el TUI.
|
|
#
|
|
# O sea que el contexto no se negocia: 65536. Lo que se mide entonces es
|
|
# cuantas capas caben con ese contexto, y son 16 de 32 (medido el 16 ago:
|
|
# 32 y 24 dan OOM; con 16 son 2795 MiB en tarjeta y ~3 GB en RAM).
|
|
#
|
|
# El precio son las 16 capas que van por CPU, y se paga en el prefill de los
|
|
# ~20.500 tokens del prompt fijo. Ver la tabla de tiempos en NOTAS.md.
|
|
#
|
|
# ── num_predict: el tope que no se ve venir ────────────────────────────────
|
|
#
|
|
# El naranja hereda num_predict 300 del modelo BASE (no lo pone su Modelfile).
|
|
# 300 tokens cortan el JSON de una llamada a herramienta por la mitad, y el
|
|
# sintoma seria "el modelo no sabe llamar herramientas", que es falso. Hay que
|
|
# sobrescribirlo aqui a mano.
|
|
#
|
|
# ── temperature ───────────────────────────────────────────────────────────
|
|
#
|
|
# El base trae 0.4, bien para conversar. Emitir JSON valido no es conversar:
|
|
# se baja a 0.2. Menos invencion en los nombres de parametros.
|
|
# OJO: ollama NO admite comentarios en la misma linea que un PARAMETER.
|
|
# "PARAMETER num_gpu 32 # comentario" falla con:
|
|
# Error: invalid int value [32 # comentario]
|
|
# Van encima, cada uno.
|
|
FROM qwen3.5:4b
|
|
|
|
# 16 de 32: con mas, num_ctx 65536 no carga (cudaMalloc failed)
|
|
PARAMETER num_gpu 16
|
|
# no es lo que cabe, es el suelo que exige Hermes (64.000)
|
|
PARAMETER num_ctx 65536
|
|
# 300 (el que hereda del base) cortaria una tool call por la mitad
|
|
PARAMETER num_predict 4096
|
|
# llamar herramientas no es escribir prosa
|
|
PARAMETER temperature 0.2
|