LLM Modell-Katalog
Verfügbare Modelle für die Android Chatbot App
Gespeicherte Modelle
0
Bereit zur Verteilung
Gesamter Speicherplatz
0.00 MB
Auf Ubuntu Server Disk
Gesamt Downloads
0
An Android Clients übertragen
Hardware Verteilung
0 GPU / 0 CPU
Zielarchitektur
| Modell & Dateiname | Familie / Parameter | Quantisierung | Hardware | Format | Größe | Downloads | Aktionen |
|---|---|---|---|---|---|---|---|
| Lade Modelle... | |||||||
LLM Modell Hinzufügen
Wähle zwischen lokalem Datei-Upload oder direktem Server-Download via URL / Hugging Face.
Dateien hierher ziehen oder klicken zum Auswählen
Unterstützte Formate: .litertlm, .bin, .tflite, .gguf (bis zu 25 GB pro Datei)
Android Studio Integration & API
Schnittstelle und fertige Code-Snippets für deinen Android Chatbot
1. API Endpunkte Übersicht
Die Android App kann die Liste der LLMs abrufen, nach Parametern/Hardware filtern und die Binärdateien mit Resumable HTTP-Range-Streaming direkt herunterladen.
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/v1/models |
Gibt alle aktiven LLMs als JSON zurück (Name, Quantisierung, CPU/GPU, SHA256, Größe, Download-URL). |
| GET | /api/v1/models/{id} |
Liefert Detailinformationen zu einem bestimmten Modell. |
| GET | /api/v1/models/{id}/download |
Lädt die Binärdatei herunter (mit Accept-Ranges: bytes für DownloadManager). |
| GET | /api/v1/health |
Statusabfrage des Servers. |
2. Kotlin: Modell-Katalog abrufen (Retrofit / OkHttp)
// 1. Datenmodell für Android Kotlin
data class LLMModel(
val id: Int,
val filename: String,
val display_name: String,
val family: String,
val parameters: String,
val quantization: String,
val target_hardware: String, // "GPU" oder "CPU"
val file_format: String, // "litertlm" oder "bin"
val file_size_bytes: Long,
val sha256_checksum: String,
val download_url: String
)
data class ModelListResponse(
val success: Boolean,
val count: Int,
val models: List
)
// 2. Abfrage über OkHttp
val request = Request.Builder()
.url("https://llm.apxtec.de/api/v1/models")
.build()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val json = response.body?.string()
val result = Gson().fromJson(json, ModelListResponse::class.java)
// Verfügbare LLMs in Android UI anzeigen
}
override fun onFailure(call: Call, e: IOException) { /* Error */ }
}) 3. Kotlin: Modell mit Android DownloadManager herunterladen
fun downloadLLMModel(context: Context, model: LLMModel) {
val downloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
val uri = Uri.parse(model.download_url)
val request = DownloadManager.Request(uri)
.setTitle("Downloading ${model.display_name}")
.setDescription("LLM Model Binary (${model.quantization})")
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
.setDestinationInExternalFilesDir(context, Environment.DIRECTORY_DOWNLOADS, model.filename)
.setAllowedOverMetered(true)
.setAllowedOverRoaming(true)
val downloadId = downloadManager.enqueue(request)
// Nach Download: Modell-Pfad an LiteRT / MediaPipe GenAI übergeben
}Speicher & Server Status
Systemübersicht auf Ubuntu 24.04 LTS (HestiaCP)
Server Konfiguration
Betriebssystem
Ubuntu Linux (24.04+ LTS)
Control Panel
HestiaCP (Domain: llm.apxtec.de)
Backend Engine
Python 3.12+ / FastAPI / Uvicorn
Datenbank
SQLite 3 (WAL Concurrency Mode)
Max. Upload Dateigröße
25 GB (Streaming Chunked Transfer)
URL Downloader
Hugging Face & Direct Async Stream
Download Protokoll
HTTP 1.1 / Byte-Range Partial Content (206)
Integritätsprüfung
SHA-256 Checksum Engine