Text Generation
Transformers
Safetensors
Hungarian
llama
magyar
hungarian
helyesiras
ekezetesites
nyelvhelyesseg
grammar-error-correction
diacritics-restoration
conversational
text-generation-inference
Instructions to use Flashtond22/Piros-Toll with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Flashtond22/Piros-Toll with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Flashtond22/Piros-Toll") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Flashtond22/Piros-Toll") model = AutoModelForCausalLM.from_pretrained("Flashtond22/Piros-Toll", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Flashtond22/Piros-Toll with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Flashtond22/Piros-Toll" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Flashtond22/Piros-Toll", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Flashtond22/Piros-Toll
- SGLang
How to use Flashtond22/Piros-Toll with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Flashtond22/Piros-Toll" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Flashtond22/Piros-Toll", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Flashtond22/Piros-Toll" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Flashtond22/Piros-Toll", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Flashtond22/Piros-Toll with Docker Model Runner:
docker model run hf.co/Flashtond22/Piros-Toll
| license: cc-by-nc-nd-4.0 | |
| language: | |
| - hu | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| tags: | |
| - magyar | |
| - hungarian | |
| - helyesiras | |
| - ekezetesites | |
| - nyelvhelyesseg | |
| - grammar-error-correction | |
| - diacritics-restoration | |
| <div align="center"> | |
| <br> | |
| # ✏️ PIROS TOLL | |
| ### **Magyar helyesírás-javító és ékezetesítő** | |
| #### *Nem írja át a szövegedet. Kijavítja.* | |
| <br> | |
|  | |
|  | |
|  | |
|  | |
| <br> | |
| **Készítette: Flashtond** | |
| <br> | |
| **Fut telefonon** · **Elmagyarázza a javításait** · **Békén hagyja a hibátlan szöveget** | |
| <br> | |
| </div> | |
| --- | |
| ## Két dolgot tud, amit érdemes kipróbálni | |
| ### 1. Helyesírás és nyelvhelyesség | |
| ``` | |
| Tegnap a boltba voltam és vettem egy nagy mértékben olcsó kenyeret. | |
| ↓ | |
| Tegnap a boltban voltam, és vettem egy nagymértékben olcsó kenyeret. | |
| ``` | |
| ### 2. Ékezetesítés | |
| Telefonon, angol billentyűzeten, sietve senki nem tesz ki ékezetet. Írd le ahogy esik, a Piros Toll helyreteszi: | |
| ``` | |
| A gyerekek mar reg alszanak, csendben gyere haza es ne kapcsold fel a villanyt. | |
| ↓ | |
| A gyerekek már rég alszanak, csendben gyere haza és ne kapcsold fel a villanyt. | |
| ``` | |
| ``` | |
| Kerlek kuldd el a szamlat meg ma delutan, mert surgos. | |
| ↓ | |
| Kérlek küldd el a számlát még ma délután, mert sürgős. | |
| ``` | |
| --- | |
| ## Eredmények | |
| Két tesztsoron mérve. A **valódi** tesztsor kézzel írt mondatokból áll: olyan hibákkal, amiket magyarul írók tényleg elkövetnek, és **nyolc szándékosan hibátlan mondattal**, amikhez nem szabad hozzányúlni. | |
| <div align="center"> | |
| | Mérőszám | Szintetikus teszt | **Valódi teszt** | | |
| |:---|---:|---:| | |
| | Precizitás | 85,3 % | **74,3 %** | | |
| | Fedés | 73,7 % | 55,3 % | | |
| | **F0.5** | **82,7 %** | **69,5 %** | | |
| | Tökéletes javítás | 55,0 % | **58,8 %** | | |
| | **Hibátlant békén hagy** | **90,0 %** | **87,5 %** | | |
| </div> | |
| **Minden második mondat szó szerint tökéletesen jön vissza**, és a hibátlan szövegek 87,5%-át érintetlenül hagyja. Ez utóbbi a legfontosabb szám: egy javítóeszköz akkor használható, ha megbízol benne. | |
| **Az F0.5 a fő mérőszám**, mert egy javítóeszköznél a hamis javítás súlyosabb hiba, mint a kihagyott. Ha a modell elront egy helyes szót, onnantól mindent ellenőrizned kell. | |
| ### Erősségek kategóriánként | |
| <div align="center"> | |
| | Terület | Találat | | |
| |:---|:---:| | |
| | `j` és `ly` | **2/2** | | |
| | `-val/-vel` hasonulás | **2/2** | | |
| | `a` és `az` névelő | **1/1** | | |
| | Ikes igék | **1/1** | | |
| | `-ba/-be` és `-ban/-ben` | **3/4** | | |
| | **Hibátlan szöveg érintetlenül** | **7/8** | | |
| </div> | |
| --- | |
| ## Használat | |
| ### Ollama | |
| ```bash | |
| ollama run hf.co/Flashtond22/Piros-Toll-GGUF:Q8_0 | |
| ``` | |
| ### llama.cpp | |
| ```bash | |
| llama-cli -m PirosToll-Tiszta-Q8_0.gguf -p "<hiba>Tegnap a boltba voltam.<javit>" -n 200 --temp 0 | |
| ``` | |
| ### Transformers | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| MODEL = "Flashtond22/Piros-Toll" | |
| tok = AutoTokenizer.from_pretrained(MODEL) | |
| model = AutoModelForCausalLM.from_pretrained(MODEL, dtype=torch.bfloat16) | |
| szoveg = "Tegnap a boltba voltam es vettem egy nagy mertekben olcso kenyeret." | |
| be = tok("<hiba>" + szoveg + "<javit>", return_tensors="pt") | |
| ki = model.generate(**be, max_new_tokens=300, do_sample=False) | |
| print(tok.decode(ki[0][be.input_ids.shape[1]:], skip_special_tokens=True)) | |
| ``` | |
| A formátum egyszerű: `<hiba>` + a szöveged + `<javit>`, és a modell a javított változatot írja. | |
| --- | |
| ## Beállítások | |
| | Beállítás | Érték | Miért | | |
| |:---|:---:|:---| | |
| | `do_sample` | **False** | A javítás nem kreatív feladat. Mintavételezéssel a modell átfogalmazhat. | | |
| | `temperature` | **0.0** | Ugyanez az ok. | | |
| | bemenet | **egy bekezdés** | Hosszabb szöveget bontsd bekezdésekre. | | |
| --- | |
| ## Hol fut el | |
| <div align="center"> | |
| | Formátum | Méret | Hardver | | |
| |:---|---:|:---| | |
| | GGUF `Q4_K_M` | **56 MB** | Bármi. Telefon, Raspberry Pi, tíz éves laptop. | | |
| | GGUF `Q8_0` | 94 MB | Processzoron gyors, videokártya nem kell. | | |
| | bf16 | 177 MB | Bármelyik videokártya. | | |
| </div> | |
| Ez a modell szándékosan kicsi. Egy helyesírás-javítónak ott kell futnia, ahol a felhasználó van, nem a felhőben. | |
| --- | |
| ## Korlátok | |
| **Helyesírást és nyelvhelyességet** javít. Nem stilisztikai szerkesztő, nem fogalmaz újra, és nem ellenőrzi, hogy amit írtál, az igaz-e. | |
| Ritka szavakon, szakszavakon és szokatlan tulajdonneveken **szándékosan óvatos**: ha valamit nem ismer, inkább nem nyúl hozzá. Cserébe nem is ront el neveket. | |
| A teljesen ékezetlen szövegnél a rövid, ritka szavakat néha eltéveszti. Hosszabb, összefüggő mondatokon lényegesen pontosabb, mert a szövegkörnyezet segít. | |
| A javasolt változtatásokat érdemes átnézni. A magyar helyesírásban sok eset van, ahol a szövegkörnyezet dönt. | |
| --- | |
| ## Eredet | |
| A modell súlyai **véletlen inicializálásból**, kizárólag saját tanítási eljárással készültek. Nem tartalmaznak más modellből átvett paramétert. A tokenizer is saját, magyar szövegre tanítva. | |
| Az architektúra a nyilvánosan dokumentált Llama-típusú felépítést követi, hogy a modell a szabványos futtatókörnyezetekben működjön. | |
| --- | |
| ## Licenc | |
| **CC BY-NC-ND 4.0**: Nevezd meg, Ne add el, Ne változtasd. | |
| | Amit megtehetsz | Amit nem | | |
| |:---|:---| | |
| | Letöltöd és futtatod bárhol | Kereskedelmi felhasználás | | |
| | Magáncélra, tanuláshoz, kutatáshoz használod | Továbbtanítás és a származék terjesztése | | |
| | Változatlanul megosztod, a szerző megnevezésével | A szerző megnevezésének elhagyása | | |
| Kereskedelmi felhasználáshoz külön engedély szükséges. | |
| Kötelező megnevezés: **„Piros Toll, készítette Flashtond (CC BY-NC-ND 4.0)"** | |
| <div align="center"> | |
| <br> | |
| **✏️ PIROS TOLL** | |
| *Készítette: Flashtond* | |
| <br> | |
| </div> | |