Blog ¡ 14.10.2025 ¡ Matthias
hf-inference: aus einem Frust wurde eine Library đ ď¸
Wie wir bei megazord.studio GmbH Ordnung in das Hugging-Face-Chaos gebracht haben â und dabei ein Tool gebaut haben, das geblieben ist.
â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.