Ressourcen
horst-ai
Gewichte (fp16), Tokenizer, Code und Modellbeschreibung.
HORST-Demo
Im Browser ausprobieren – und als API nutzen.
german-spelling-data
Eigene deutsche Fehlerpaare zum Trainieren.
german-ortho
Schwere Rechtschreibaufgaben, nur zur Auswertung gedacht.
Ergebnis-Explorer
Alle HORST-Hard-Werte mit Beispielen je Kategorie.
Schnellstart
Die Gewichte liegen als PyTorch-Datei vor, nicht im transformers-Format. Der Code zum Laden gehört zum Download.
pip install torch sentencepiece huggingface_hub
hf download Bayernator/horst-ai --local-dir horst-ai && cd horst-ai
import sentencepiece as spm
from evaluate import correct_text, load_model
from prepare import detokenize, split_sentences, tokenize
model = load_model(["horst-ai.pt"], "cpu") # oder "cuda"
sp = spm.SentencePieceProcessor(model_file="spm.model")
text = "ich weis nicht das es so ist. Morgen gehen wir in die stadt , und kaufen ein."
sents = [tokenize(s) for s in split_sentences(text) if s]
print(detokenize(correct_text(model, sp, sents, beam=5)))
python evaluate.py --data . --ckpt horst-ai.pt --correct "ich weis nicht das es so ist"
API über die Demo
Die Demo stellt einen Endpunkt /correct bereit. Er nimmt den Text und die Zahl der Beam-Kandidaten und gibt den korrigierten Text zurück, Absätze bleiben erhalten.
from gradio_client import Client
client = Client("Bayernator/HORST")
result = client.predict(
"ich weis nicht das es so ist", # text
1, # beam: 1, 3 oder 5
api_name="/correct",
)
print(result)
import { Client } from "@gradio/client";
const app = await Client.connect("Bayernator/HORST");
const res = await app.predict("/correct", {
text: "ich weis nicht das es so ist",
beam: 1,
});
console.log(res.data[0]);
| Parameter | Typ | Bedeutung |
|---|---|---|
text | Text | Deutscher Text, höchstens 500 Wörter je Anfrage. |
beam | Zahl | 1 = schnell, 3 = ausgewogen, 5 = sehr genau. |
Dateien
| Datei | Größe | Inhalt |
|---|---|---|
horst-ai.pt | 418 MB | Gewichte in fp16, ohne Optimierer-Zustand |
spm.model | – | SentencePiece-Tokenizer mit 32.000 Wortstücken |
model.py | – | Transformer-Definition |
evaluate.py | – | Laden, Korrigieren, F0,5-Auswertung |
prepare.py | – | Satzzerlegung, Tokenisierung, Zusammensetzen |
Grenzen
- Stand der Gewichte: Die veröffentlichten Gewichte können älter sein als die auf dieser Seite gemessene Stufe. Maßgeblich ist die Modellbeschreibung auf Hugging Face.
- Kontextlänge: Die Gewichte aus Stufe 1 sehen höchstens 256 Wortstücke auf einmal; längere Texte werden in Gruppen geteilt.
- Formatierung: Leerzeichen können sich leicht ändern, Zeilenumbrüche innerhalb eines Absatzes bleiben nicht erhalten.
- Prüfen: Gedacht für Vorschläge, die ein Mensch prüft – nicht für ungeprüfte Änderungen an rechtlich oder medizinisch relevanten Texten.
Lizenz
Angegeben ist vorläufig Apache-2.0. Weil die Trainingsdaten Quellen unter CC BY-SA enthalten, ist die endgültige Lizenz noch offen. Bis zur Entscheidung bitte nicht als rechtlich geklärt betrachten.
Zitieren
@misc{horst-ai-2026,
title = {HORST: deutsche Rechtschreib- und Grammatikkorrektur, von Grund auf trainiert},
author = {HORST-Projekt},
year = {2026},
url = {https://huggingface.co/Bayernator/horst-ai}
}