maris-ai-master / docs /core-python.md
MarisUK's picture
Maris AI model sync
f440f03 verified

Core Python dokumentācija

Pārskats

core-python ir Maris AI MI kodols, kurā notiek visa AI apstrāde.

Struktūra

maris_core/
├── text/       # Teksta ģenerēšana (Qwen3)
├── images/     # Attēlu ģenerēšana (Stable Diffusion)
├── audio/      # STT (Whisper), TTS, MusicGen
├── video/      # Video ģenerēšana (CogVideoX)
├── code/       # Koda ģenerēšana (Qwen3-Coder)
├── autonomous/ # Autonomais aģents
├── training/   # Modeļa apmācība
├── data/       # Datu apstrāde
└── utils/      # HF integrācija, logging

Galvenais modelis

from transformers import pipeline

pipe = pipeline(
    "text-generation",
    model="Maris Core Reasoning",
    device_map="auto",
)

Orchestrācijas slānis

core-python tagad satur arī master-model orchestration slāni:

  • /v1/orchestrator/system — atgriež galvenā modeļa un visu atzaru topoloģiju;
  • /v1/orchestrator/route — nosaka, uz kuru atzaru konkrēts pieprasījums būtu jāroutē;
  • text/generate pieņem profile, lai viens galvenais modelis varētu strādāt kā vispārīgs assistants, coder vai planner bez atsevišķa frontend hardcode.

Routing tagad izmanto:

  1. LLM-based router, kas mēģina izvēlēties capability no definētā branch kataloga;
  2. safe heuristic fallback, ja LLM nav pieejams vai nevar atgriezt derīgu JSON lēmumu.

API endpoints

Visi endpoints ir pieejami caur FastAPI /docs Swagger UI.

Papildus:

  • /health — liveness/servisa pieejamība;
  • /ready — rāda, vai galvenais teksta modelis ir pilnībā uzsilis. Ja modelis vēl ielādējas vai ir retry cooldown režīmā pēc neveiksmīgas ielādes, endpoint atgriezīs 503 ar detalizētu text_model.state, text_model.model, text_model.compatibility_restore_active un, ja vajag, text_model.last_error.

Runtime HF compatibility restore

Teksta runtime loaderis tagad izmanto to pašu maris_hf_compatible_path(...) mehānismu, ko training/export plūsma. Tas nozīmē:

  • ja snapshotā ir maris-compatibility.json, runtime startup laikā tiek atjaunoti oriģinālie HF loader lauki (config.json, tokenizer_config.json, adapter_config.json);
  • tas strādā gan ar lokālu modeļa direktoriju, gan ar remote Hugging Face repo;
  • remote snapshot restore ieslēdz ar:
MARIS_RUNTIME_COMPAT_ALLOW_REMOTE_SNAPSHOT=true

Ja izmanto citu aliasu vai vēlies saglabāt backward-compatibility ar vecāku konfigurāciju, der arī:

MARIS_HF_COMPAT_ALLOW_REMOTE_SNAPSHOT=true
HF_RUNTIME_COMPAT_ALLOW_REMOTE_SNAPSHOT=true

Šis ir īpaši svarīgi Railway izvietojumam, kur modelis bieži tiek ielādēts tieši no Hub repozitorija, nevis no lokāla persistent storage ceļa.

Maris publicēšanas integrācija

Katru reizi kad Maris AI ģenerē saturu, tas automātiski tiek saglabāts:

from maris_core.utils.hf_integration import HFIntegration

hf = HFIntegration()
await hf.save_conversation("Ko tu māki?", "Es māku...")
await hf.save_generation("image", "saulriets jūrā", {...})

Testēšana

cd core-python
pytest tests/ -v

Ja validē tieši runtime loader/compatibility restore:

cd /home/runner/work/Maris-MI/Maris-MI/core-python
pytest tests/test_training_hf_compat.py tests/test_text.py -v

Fine-tuning entrypoint

Profesionalam Transformers fine-tuning flow izmanto:

bash ./huggingface/train.sh

Šis entrypoint izmanto JSON konfigurāciju no huggingface/training-config.json Maris publicēšanas pipeline vajadzībām un saglabā rezultātus core-python/output/model/.

Papildus trenēšanas konfigurācijā tagad ir arī:

  • branch_name — kuram atzaram skrējiens paredzēts;
  • branch_focus — kādu specializāciju branch trenē;
  • adapter_type — piemēram, full vai lora.

Ja vēlies palaist visu branch suite:

cd core-python
python scripts/train_model.py --config ../huggingface/training-config.json --all-branches

Tas:

  • izveido atsevišķus output direktorijus katram atzaram;
  • trenē tekstā balstītos branch (master, coder, planner);
  • multimodālajiem specialist branch saglabā manifestus ar branch-specific konfigurāciju un iemeslu, kāpēc tiem vajadzīgs cits treniņa pipeline.