GEITje
GEITje 7B: een groot open Nederlands taalmodel
Install / Use
/learn @Rijgersberg/GEITjeREADME
🐐 GEITje 7B: een groot open Nederlands taalmodel
📄 English README | 🤖️ GEITje-chat-v2 demo️
[!CAUTION] ⚠️ Op dringend verzoek van Stichting BREIN is GEITje vanaf heden niet meer beschikbaar. ⚠️
Alle model files (de gewichten) en checkpoints zijn verwijderd uit mijn HuggingFace repos. Zie mijn blogpost voor een toelichting.
GEITje is een Nederlandstalig groot open taalmodel met 7 miljard parameters, gebaseerd op Mistral 7B. Het is (verder) getraind op 10 miljard tokens aan Nederlandstalige tekst. Daardoor heeft het beter Nederlands geleerd, en meer kennis over Nederlandse onderwerpen.
Update 18 december 2023: GEITje-7B-chat-v2 vrijgegeven, getraind op flink meer vertaalde chatgesprekken.<br> Update 4 februari 2024: Bram Vanroy heeft GEITJE-7B-ultra gemaakt: een superieure chatbot, getraind op meer chatdata met behulp van DPO.

📜 Licentie
GEITje is open source onder de Apache 2.0-licentie. Dit betekent dat je GEITje – in tegenstelling tot bijvoorbeeld ChatGPT – helemaal zelf kunt draaien, op je eigen infrastructuur en met elke (vertrouwelijke) data die je maar wilt. Je kunt de code of het model ook zelf aanpassen of verder trainen.
🙋🏻♂️ Auteur
GEITje is een hobby-project van Edwin Rijgersberg. Heb je iets gaafs gemaakt met GEITje? Ik hoor het graag! Stuur me een mail of een bericht op Twitter of Mastodon. Of open een issue hier op GitHub natuurlijk.
Meer achtergrond over de totstandkoming van GEITje kan je vinden op mijn blog: GoingDutch.ai.
🤖 Model
Mistral – Basismodel
GEITje is gebaseerd op Mistral 7B. Dat is een groot open taalmodel met 7 miljard parameters, getraind door Mistral AI. Volgens Mistral AI presteert het 7B-model beter dan Llama 2 13B op alle (Engelstalige) benchmarks waarop ze getest hebben. Mistral 7B is vrijgegeven onder de Apache 2.0 open source licentie.
GEITje – Doorgetraind op Nederlandstalige teksten
GEITje is gemaakt door Mistral 7B door te trainen op maar liefst 10 miljard tokens aan Nederlandstalige tekst uit het Nederlandse Gigacorpus en het MADLAD-400 webcrawling-corpus. Het is een zogenaamde full-parameter finetune: uitgevoerd op alle parameters. Het is dus geen PEFT of LoRA-finetune. Net als Mistral heeft GEITje een context length van 8.192 tokens.
GEITje-chat en GEITje-ultra – Gefinetuned voor dialogen
Als demonstratie voor de mogelijkheden voor chat-toepassingen van GEITje zijn er ook twee chat-varianten van GEITje gefinetuned: GEITje-chat en GEITje-chat-v2. Ze kunnen instructies opvolgen, vragen beantwoorden en dialogen houden over allerlei onderwerpen. GEITje-ultra is een geavanceerdere chatbot, getraind op meer data en geoptimaliseerd voor dialogen met Direct Preference Optimization.
Varianten
| Model | Parameters | Type | Link naar 🤗 Hugging Face Models | Gebaseerd op | |----------------------------------------------------------------------------------------------|------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------| | GEITje | 7B | foundation | GEITje-7B | Mistral-7B-v0.1 | | GEITje-chat | 7B | chat SFT | GEITje-7B-chat | GEITje-7B️ | | | 7B | chat SFT | GEITje-7B-chat-v2 | GEITje-7B️ | | GEITje-ultra*<br><small>*gecreëerd door Bram Vanroy</small> | 7B | chat SFT + DPO | BramVanroy/GEITje-7B-ultra | GEITje-7B️ |
🚀 Toepassing
Demo
Chat met GEITje-chat-v2 in de demo op 🤗 Hugging Face Spaces.

🤗 Transformers
GEITje is het beste te gebruiken met 🤗 Hugging Face Transformers.
from transformers import pipeline, Conversation
chatbot = pipeline(task='conversational', model='Rijgersberg/GEITje-7B-chat-v2',
device_map='auto')
print(chatbot(
Conversation('Welk woord hoort er niet in dit rijtje thuis: "auto, vliegtuig, geitje, bus"?')
))
# Conversation id: 602cfe35-614d-4df1-bdb5-2e29038f1d04
# user: Welk woord hoort er niet in dit rijtje thuis: "auto, vliegtuig, geitje, bus"?
# assistant: "Geitje" is het woord dat niet in dit rijtje thuishoort. Het rijtje bestaat uit allemaal vervoersmiddelen.
Of, als je liever meer controle hebt:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model_name = 'Rijgersberg/GEITje-7B-chat-v2'
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True, use_flash_attention_2=True,
device_map=device)
tokenizer = AutoTokenizer.from_pretrained(model_name)
def generate(conversation, temperature=0.2, top_k=50, max_new_tokens=1_000):
tokenized = tokenizer.apply_chat_template(conversation, add_generation_prompt=True,
return_tensors='pt').to(device)
outputs = model.generate(tokenized, do_sample=True, temperature=temperature,
top_k=top_k, max_new_tokens=max_new_tokens)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
conversation = [
{
'role': 'user',
'content': 'Welk woord hoort er niet in dit rijtje thuis: "auto, vliegtuig, geitje, bus"?'
}
]
print(generate(conversation))
# <|user|>
# Welk woord hoort er niet in dit rijtje thuis: "auto, vliegtuig, geitje, bus"?
# <|assistant|>
# Het woord dat niet op zijn plaats staat is 'geit'. Een geit zou niet tussen een lijst van vervoersmiddelen moeten staan. Het past beter bij een boerderijthema of dierenlijst.
LM Studio
Je kunt GEITje ook gebruiken met LM Studio.
- Gebruik de ingebouwde zoekfunctie om een model te downloaden, bijvoorbeeld
Rijgersberg/GEITje-7B-chat-v2-gguf. - Gebruik de Zephyr-preset voor de correcte instellingen.
- Zet de
temperaturerond de 0.2 voor de beste gebruikservaring.

Ollama
GEITje werkt ook met Ollama.
- Download een gguf-variant van GEITje, bijvoorbeeld GEITje-7B-chat-v2.gguf.
- Kopieer de Modelfile uit deze repo.
- Maak er een Ollama-model van:
$ ollama create GEITje-7B-chat-v2 -f Modelfile. - Draai het model in Ollama:
$ ollama run GEITje-7B-chat-v2
>>> Vraagje: welk woord hoort er niet in dit rijtje thuis: "auto, vliegtuig, geit, bus"?
Geit hoort niet in het rijtje thuis. De andere drie zijn voertuigen.
Veiligheid en inzet in productie
GEITje is een foundation model. Het model is getraind om teksten af te maken en is niet geoptimaliseerd voor dialoogtoepassingen.
Om GEITje zelf toe te passen kan je het finetunen op je eigen dataset. Als je het inzet in productie, zorg er dan voor dat je voldoende guardrails in je trainingsset hebt om het model veilig toe te passen.
In de chat-dataset van GEITje-chat zitten ook enkele voorbeelden van chatconversaties waar de assistent weigert te antwoorden, maar het model heeft geen geavanceerde alignment ondergaan. Het is daarom
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
