Instructions to use predbrad/Genaro-poker-1.7B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use predbrad/Genaro-poker-1.7B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="predbrad/Genaro-poker-1.7B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("predbrad/Genaro-poker-1.7B") model = AutoModelForCausalLM.from_pretrained("predbrad/Genaro-poker-1.7B", 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use predbrad/Genaro-poker-1.7B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M # Run inference directly in the terminal: llama cli -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M # Run inference directly in the terminal: llama cli -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Use Docker
docker model run hf.co/predbrad/Genaro-poker-1.7B:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use predbrad/Genaro-poker-1.7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "predbrad/Genaro-poker-1.7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "predbrad/Genaro-poker-1.7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/predbrad/Genaro-poker-1.7B:Q4_K_M
- SGLang
How to use predbrad/Genaro-poker-1.7B 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 "predbrad/Genaro-poker-1.7B" \ --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": "predbrad/Genaro-poker-1.7B", "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 "predbrad/Genaro-poker-1.7B" \ --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": "predbrad/Genaro-poker-1.7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use predbrad/Genaro-poker-1.7B with Ollama:
ollama run hf.co/predbrad/Genaro-poker-1.7B:Q4_K_M
- Unsloth Desktop
- Pi
How to use predbrad/Genaro-poker-1.7B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "predbrad/Genaro-poker-1.7B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use predbrad/Genaro-poker-1.7B with Docker Model Runner:
docker model run hf.co/predbrad/Genaro-poker-1.7B:Q4_K_M
- Lemonade
How to use predbrad/Genaro-poker-1.7B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull predbrad/Genaro-poker-1.7B:Q4_K_M
Run and chat with the model
lemonade run user.Genaro-poker-1.7B-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use predbrad/Genaro-poker-1.7B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default predbrad/Genaro-poker-1.7B:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use predbrad/Genaro-poker-1.7B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf predbrad/Genaro-poker-1.7B:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "predbrad/Genaro-poker-1.7B:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Genaro Poker 1.7B
A phone-sized poker player. Genaro is a full fine-tune of Qwen3-1.7B built to be the opponents in PokerSI, an Android poker game where every seat is a small language model running on the phone with llama.cpp. It is the bigger, sharper sibling of Genaro Poker 0.6B, for phones with 6 GB+ of RAM.
Given PokerSI's prompt for one decision (a persona, the rules, what the seat can see, the legal moves), Genaro answers with one JSON object: a sound, legal move and, on talk turns, a short line in the character's voice, trained not to give its cards away.
{"action": "call", "amount": 55, "say": "The pot looks like it's brewing a little sunshine."}
{"action": "check", "amount": 0, "say": "Ahoy, these doubloons are worth a fortune!"}
{"action": "raise", "amount": 240, "say": "Get those reps in, I see potential!"}
| File | Use |
|---|---|
genaro-poker-1.7b-Q4_K_M.gguf (1.1 GB) |
On-device / llama.cpp. What PokerSI downloads. Chat template embedded. |
model.safetensors + config/tokenizer (bf16) |
transformers, further fine-tuning, other quantizations |
Smaller, faster sibling for any phone: predbrad/Genaro-poker. Code, data pipeline and evals: github.com/bradflaugher/genaro-poker. Training data: predbrad/genaro-poker-sft.
Results
600 held-out PokerSI decisions over all six variants (Texas Hold'em, Omaha, Five-Card Draw, Seven-Card Stud, Short Deck, Crazy Pineapple). Every model runs through llama.cpp exactly as the app runs it: same prompt, GBNF grammar and sampling (persona temperature 0.6-0.9, top-k 40, top-p 0.95, max 96 tokens).
| model | GGUF | agreement | blunders /100 | leaks | card talk | repeats | >12 words | live play bb/100 |
|---|---|---|---|---|---|---|---|---|
| Qwen3 1.7B (base) | 1282 MB | 39.7% | 8.2 | 17.9% | 49.7% | 8.2% | 48.3% | โ |
| LFM2.5 1.2B (PokerSI's previous default) | 731 MB | 55.8% | 12.6 | 2.6% | 29.8% | 8.5% | 9.4% | -80 ยฑ 80 |
| Genaro Poker 0.6B | 397 MB | 78.5% | 9.1 | 0.0% | 0.3% | 0.0% | 0.0% | -84 ยฑ 52 |
| Genaro Poker 1.7B | 1107 MB | 80.2% | 7.5 | 0.3% | 0.9% | 0.6% | 0.0% | -45 ยฑ 64 |
Agreement: same move as the majority of 9 House Bot teachers. Blunder: folding with
equity โฅ 10 points above the pot odds, or calling/raising with equity โฅ 15 points below
them (bluffs by bluffing personas excepted). Leak: a line PokerSI's own HandBlur would
censor. Card talk: any card, rank or hand word at all. Live play and every other model:
results.
Use
In PokerSI: MODELS โ Genaro Poker 1.7B โ download. That's it.
llama.cpp: PokerSI-style messages, with a grammar and thinking off:
llama-server -m genaro-poker-1.7b-Q4_K_M.gguf --jinja -c 4096
The prompt format is PokerSI's (llm/PokerPrompt.kt); real examples are in the
dataset. Outside that format
Genaro is just a small, poker-obsessed Qwen3; it is not a general chat model.
transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("predbrad/Genaro-poker-1.7B")
model = AutoModelForCausalLM.from_pretrained("predbrad/Genaro-poker", dtype="auto")
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
Training
- Prompts: 33k self-play hands of PokerSI's own Kotlin engine and prompt builder, compiled into a bridge, so every prompt is byte-for-byte what the app sends.
- Moves: the majority of 9 House Bot teachers (PokerSI's heuristic, each with the persona's style and 1,000-sample Monte Carlo equity).
- Table talk: written by Gemma 4 E4B for the chosen move, kept only if it passes the
grammar's rules, 2-12 words, no card or hand vocabulary, PokerSI's repeat rules and
PokerSI's
HandBlur. Quiet turns have no line, like the app's quiet-turn grammar. - Recipe: 22,941 conversations, full fine-tune, bf16, 2 epochs, lr 3e-5 cosine, effective
batch 64, loss on the reply only. ~2 h on one NVIDIA RTX Spark N1X laptop.
See
training_config.yaml.
Limits
- Genaro imitates PokerSI's House Bot. That makes it a reasonable, readable game-night opponent, not a strong poker player; in live play it does not beat House Bots.
- Trained only for PokerSI's prompt format, in English.
- Lines are family-friendly by construction; personas come from PokerSI.
License
Apache 2.0, inherited from Qwen3-1.7B. Training data was generated with PokerSI (MIT) and Gemma 4 (Apache 2.0).
- Downloads last month
- 270