# 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 ```python 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: ```bash 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ī: ```bash 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: ```python 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 ```bash cd core-python pytest tests/ -v ``` Ja validē tieši runtime loader/compatibility restore: ```bash 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 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: ```bash 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.