Buckets:
| ```mermaid | |
| %% ROUTER Mode Data Flow (multi-model) | |
| %% Detailed flows: ./flows/server-flow.mmd, ./flows/models-flow.mmd, ./flows/chat-flow.mmd | |
| sequenceDiagram | |
| participant User as ๐ค User | |
| participant UI as ๐งฉ UI | |
| participant Stores as ๐๏ธ Stores | |
| participant DB as ๐พ IndexedDB | |
| participant API as ๐ llama-server | |
| Note over User,API: ๐ Initialization (see: server-flow.mmd, models-flow.mmd) | |
| UI->>Stores: initialize() | |
| Stores->>DB: load conversations | |
| Stores->>API: GET /props | |
| API-->>Stores: {role: "router"} | |
| Stores->>API: GET /v1/models | |
| API-->>Stores: models[] with status (loaded/available) | |
| loop each loaded model | |
| Stores->>API: GET /props?model=X | |
| API-->>Stores: modalities (vision/audio) | |
| end | |
| Note over User,API: ๐ Model Selection (see: models-flow.mmd) | |
| User->>UI: select model | |
| alt model not loaded | |
| Stores->>API: POST /models/load | |
| loop poll status | |
| Stores->>API: GET /v1/models | |
| API-->>Stores: check if loaded | |
| end | |
| Stores->>API: GET /props?model=X | |
| API-->>Stores: cache modalities | |
| end | |
| Stores->>Stores: validate modalities vs conversation | |
| alt valid | |
| Stores->>Stores: select model | |
| else invalid | |
| Stores->>API: POST /models/unload | |
| UI->>User: show error toast | |
| end | |
| Note over User,API: ๐ฌ Chat Flow (see: chat-flow.mmd) | |
| User->>UI: send message | |
| UI->>Stores: sendMessage() | |
| Stores->>DB: save user message | |
| Stores->>API: POST /v1/chat/completions {model: X} | |
| Note right of API: router forwards to model | |
| loop streaming | |
| API-->>Stores: SSE chunks + model info | |
| Stores-->>UI: reactive update | |
| end | |
| API-->>Stores: done + timings | |
| Stores->>DB: save assistant message + model used | |
| Note over User,API: ๐ Regenerate (optional: different model) | |
| User->>UI: regenerate | |
| Stores->>Stores: validate modalities up to this message | |
| Stores->>DB: create message branch | |
| Note right of Stores: same streaming flow | |
| Note over User,API: โน๏ธ Stop | |
| User->>UI: stop | |
| Stores->>Stores: abort stream | |
| Stores->>DB: save partial response | |
| Note over User,API: ๐๏ธ LRU Unloading | |
| Note right of API: Server auto-unloads LRU models<br/>when cache full | |
| User->>UI: select unloaded model | |
| Note right of Stores: triggers load flow again | |
| ``` | |
Xet Storage Details
- Size:
- 2.4 kB
- Xet hash:
- 445ef7cc096d83e0c8b39845868a48e4177015e15d1c0d6ef7648c3709322c00
ยท
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.