hf-inference: aus einem Frust wurde ein Framework đŸ› ïž

14. Oktober 2025 - Matthias

„Warum ist das hier schon wieder anders?"
Es war spĂ€t, die Bildschirme glĂŒhten, und einer von uns tippte leise:
„Ich schreibe jetzt eine einheitliche Inference-API. Reicht's." 💡

Wir arbeiten viel mit generativen Modellen – Text, Vision, Audio, manchmal alles gleichzeitig. 🎭
Das ist spannend, aber auch: unordentlich.
Wer schon einmal mehrere Hugging-Face-Modelle ausprobiert hat, kennt das GefĂŒhl:
Jedes Modell ist irgendwie besonders. Andere Payloads, andere Outputs, eigene Erwartungshaltungen.

Und plötzlich hat man zehn Notebooks, drei REST-Snippets, fĂŒnf JSON-Schemas und null Übersicht.
Eines liefert Strings, das nÀchste Dictionaries, das dritte Listen aus Tokens,
das Vierte erwartet ein Byte-Array, das fĂŒnfte Base64-encoded Bilder –
und bei Nummer sechs funktioniert die HĂ€lfte nur, wenn man vorher trust_remote_code=True setzt. đŸ€Ż

Wir wollten einfach nur eine einfache Art, mit Modellen zu sprechen. đŸ—Łïž
Egal welches Format. Egal welcher Task.

An einem dieser „lass uns das kurz ausprobieren“-Abende (die nie kurz sind đŸ•°ïž) kam die Idee:
Was, wenn wir einfach einen einzigen Endpoint hĂ€tten – /inference – der alles kann?

Ein universeller Adapter. 🔌
Ein kleiner, ehrlicher Server, der nur das tut, was man ihm sagt.
Ohne Boilerplate, ohne 17 JSON-Varianten.

Also bauten wir ihn.
hf-inference war geboren. 🚀

Der erste Prototyp war fast unscheinbar: đŸ§Ș
Ein FastAPI-Server, eine Handvoll Routen, ein paar Zeilen Glue-Code.

curl -X POST http://localhost:8000/inference \
  -F 'spec={"model_id":"gpt2","task":"text-generation","payload":{"prompt":"Hello world"}}'

Dann dasselbe mit einem Bild:

curl -X POST http://localhost:8000/inference \
  -F 'spec={"model_id":"google/vit-base-patch16-224","task":"image-classification"}' \
  -F 'image=@/path/to/image.jpg'

Und plötzlich merkten wir:
Alles fĂŒhlte sich ruhig an. 🧘
Keine Copy-Paste-Flut aus Hugging-Face-Beispielen mehr.
Kein GrĂŒbeln ĂŒber Input-Keys wie inputs, pixel_values, waveform oder prompt.
Nur ein System, das sagt:

„ErzĂ€hl mir, welches Modell du willst – ich kĂŒmmere mich um den Rest.“

Ein leises Aha, das hÀngen blieb.

Heute ist hf-inference ein kleines, wachsendes Werkzeug – noch wacklig, noch voller Ecken und Kanten,
aber es hÀlt schon erstaunlich gut zusammen, was vorher auseinanderfiel.
Es ist nicht stabil im Sinne von „nie kaputt“,
aber stabil im Sinne von „du weisst wenigstens, wo es kracht“.

Viele SonderfĂ€lle werden noch kommen –
Modelle, die wieder andere Formate verlangen, Tasks, die unerwartet Input-Felder fordern,
und sicher auch API-BrĂŒche, wenn wir das Ganze weiter abstrahieren.
Aber es ist trotzdem besser als zuvor:
Ein Ort, an dem wir mit jedem Fix und jedem neuen Task ein bisschen mehr Ruhe ins Chaos bringen.

Ein paar Eckpunkte:

  • Eine FastAPI-App mit /inference, /models, /healthz
  • Eine Registry, die automatisch weiss, welches Modell welchen Task kann
  • 31+ Tasks von Text- zu Audio- und Vision-Modellen
  • LĂ€uft auf CPU, GPU, Docker oder lokal
  • Bereit fĂŒr Dev, Research und kleine Deployments

Es nutzt transformers, diffusers, fastapi – nichts Magisches.
Nur gut orchestriert.
Und alles Open Source.
https://github.com/megazord-studio/hf_inference

Wir bauen Tools, die wir selbst benutzen.
hf-inference ist kein Side-Project, es ist ein StĂŒck Arbeitsalltag.
Wenn wir neue Modelle testen, Benchmarks bauen oder einfach wissen wollen,
ob ein Konzept trĂ€gt – dann lĂ€uft im Hintergrund dieser kleine Server.

Es ist einer dieser Dienste, die man irgendwann vergisst,
weil sie einfach funktionieren.
Und genau so soll es sein.

NatĂŒrlich hat alles Grenzen.
Wir haben trust_remote_code=True aktiviert –
aber mit Bedacht.
Das Tool ist fĂŒr kontrollierte Umgebungen gedacht.
Wir sagen immer: Lade nur, was du verstehst.
Und nutze Container, wenn du unsicher bist.

Kein Blackbox-Zauber. Keine heimlichen Tricks.
Einfach ein ehrlicher Server, der dich ernst nimmt.

FĂŒr wen ist das spannend?
FĂŒr Teams, die schnell Modelle vergleichen wollen.
FĂŒr Developer, die keine Lust mehr auf API-Hickhack haben.
FĂŒr Researchers, die eine saubere CLI mögen.
Und fĂŒr alle, die finden, dass gute Tools leise sein dĂŒrfen.

hf-inference entstand aus Frust.
Aber geblieben ist etwas anderes:
Das gute GefĂŒhl, wenn Dinge klar werden.

Weil wir irgendwann gesagt haben:

„Wir bauen das jetzt einfach richtig.“

Und es hat funktioniert.


Projektlinks


megazord.studio GmbH – wo Tech ruhig, schön und ehrlich sein darf.