Text Generation
Transformers
Safetensors
GGUF
English
qwen2
causal-lm
conversational
qwen2.5
unsloth
llama.cpp
vllm
coding
mathematics
text-generation-inference
Instructions to use KeefeBuild/Keefe-Discere with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KeefeBuild/Keefe-Discere with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="KeefeBuild/Keefe-Discere") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("KeefeBuild/Keefe-Discere") model = AutoModelForCausalLM.from_pretrained("KeefeBuild/Keefe-Discere", 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
- llama.cpp
How to use KeefeBuild/Keefe-Discere 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 KeefeBuild/Keefe-Discere:Q4_K_M # Run inference directly in the terminal: llama cli -hf KeefeBuild/Keefe-Discere:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf KeefeBuild/Keefe-Discere:Q4_K_M # Run inference directly in the terminal: llama cli -hf KeefeBuild/Keefe-Discere:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf KeefeBuild/Keefe-Discere:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf KeefeBuild/Keefe-Discere:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf KeefeBuild/Keefe-Discere:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf KeefeBuild/Keefe-Discere:Q4_K_M
Use Docker
docker model run hf.co/KeefeBuild/Keefe-Discere:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use KeefeBuild/Keefe-Discere with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "KeefeBuild/Keefe-Discere" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "KeefeBuild/Keefe-Discere", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/KeefeBuild/Keefe-Discere:Q4_K_M
- SGLang
How to use KeefeBuild/Keefe-Discere 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 "KeefeBuild/Keefe-Discere" \ --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": "KeefeBuild/Keefe-Discere", "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 "KeefeBuild/Keefe-Discere" \ --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": "KeefeBuild/Keefe-Discere", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use KeefeBuild/Keefe-Discere with Ollama:
ollama run hf.co/KeefeBuild/Keefe-Discere:Q4_K_M
- Unsloth Studio
How to use KeefeBuild/Keefe-Discere with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for KeefeBuild/Keefe-Discere to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for KeefeBuild/Keefe-Discere to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for KeefeBuild/Keefe-Discere to start chatting
- Pi
How to use KeefeBuild/Keefe-Discere with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KeefeBuild/Keefe-Discere:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "KeefeBuild/Keefe-Discere:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use KeefeBuild/Keefe-Discere with Docker Model Runner:
docker model run hf.co/KeefeBuild/Keefe-Discere:Q4_K_M
- Lemonade
How to use KeefeBuild/Keefe-Discere with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull KeefeBuild/Keefe-Discere:Q4_K_M
Run and chat with the model
lemonade run user.Keefe-Discere-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use KeefeBuild/Keefe-Discere with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KeefeBuild/Keefe-Discere: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 KeefeBuild/Keefe-Discere:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use KeefeBuild/Keefe-Discere with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf KeefeBuild/Keefe-Discere: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 "KeefeBuild/Keefe-Discere: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"
| license: apache-2.0 | |
| language: | |
| - en | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| tags: | |
| - text-generation | |
| - causal-lm | |
| - conversational | |
| - qwen2 | |
| - qwen2.5 | |
| - transformers | |
| - safetensors | |
| - gguf | |
| - unsloth | |
| - llama.cpp | |
| - vllm | |
| - coding | |
| - mathematics | |
| base_model: | |
| - Qwen/Qwen2.5-7B-Instruct | |
| datasets: [] | |
| # Keefe-Discere | |
| <p align="center"> | |
| <strong>An 8B-class instruction-following language model focused on reasoning, coding, mathematics, and general-purpose assistance.</strong> | |
| </p> | |
| <p align="center"> | |
| <a href="https://huggingface.co/KeefeBuild/Keefe-Discere"> | |
| <img src="https://img.shields.io/badge/Hugging%20Face-Keefe--Discere-orange" alt="Hugging Face"> | |
| </a> | |
| <img src="https://img.shields.io/badge/Parameters-~8B-blue" alt="Parameters"> | |
| <img src="https://img.shields.io/badge/Precision-BF16-blue" alt="Precision"> | |
| <img src="https://img.shields.io/badge/License-Apache--2.0-green" alt="License"> | |
| <img src="https://img.shields.io/badge/Context-32K-purple" alt="Context"> | |
| </p> | |
| --- | |
| ## Overview | |
| **Keefe-Discere** is an independently developed language-model project by **KeefeBuild**, built around the Qwen2.5 7B instruction-tuned architecture and further adapted/merged with specialized coding and mathematics capabilities. | |
| The project is designed as a general-purpose local language model with an emphasis on: | |
| - Reasoning and structured problem solving | |
| - Mathematics and quantitative tasks | |
| - Programming and code generation | |
| - General instruction following | |
| - Conversational assistance | |
| - Local and self-hosted inference | |
| - Experimentation with model adaptation and merging | |
| Keefe-Discere is distributed in multiple formats to make local deployment easier across different inference stacks. | |
| > **Important:** Keefe-Discere is an independent model project and is not an official Qwen model. | |
| --- | |
| # Model Information | |
| | Property | Details | | |
| |---|---| | |
| | Model | Keefe-Discere | | |
| | Developer | KeefeBuild | | |
| | Model family | Qwen2 | | |
| | Architecture | Qwen2ForCausalLM | | |
| | Approx. parameter count | ~8B | | |
| | Precision | BF16 | | |
| | Hidden size | 3584 | | |
| | Layers | 28 | | |
| | Attention heads | 28 | | |
| | Key/Value heads | 4 | | |
| | Vocabulary size | 152,064 | | |
| | Configured context length | 32,768 tokens | | |
| | Task | Causal language modeling / text generation | | |
| | Primary language | English | | |
| | License | Apache-2.0 | | |
| | Training framework | Unsloth / Transformers ecosystem | | |
| The current repository configuration identifies a Qwen2-family causal language model with 28 transformer layers, 28 attention heads, 4 key/value heads, and a configured maximum position length of 32,768 tokens. | |
| --- | |
| # Model Lineage | |
| Keefe-Discere is built from the Qwen2.5 ecosystem. | |
| The repository's merge configuration specifies: | |
| - `Qwen/Qwen2.5-7B-Instruct` as the base model | |
| - `KeefeBuild/Keefe-Discere` as one merge component | |
| - `Qwen/Qwen2.5-Coder-7B-Instruct` as a coding-oriented component | |
| - `Qwen/Qwen2.5-Math-7B-Instruct` as a mathematics-oriented component | |
| - DARE-TIES as the merge method | |
| The configured merge weights are: | |
| | Component | Weight | | |
| |---|---:| | |
| | Keefe-Discere | 0.40 | | |
| | Qwen2.5-Coder-7B-Instruct | 0.30 | | |
| | Qwen2.5-Math-7B-Instruct | 0.30 | | |
| The merge configuration uses a density of `0.53`, an INT8 mask, and BF16 output tensors. | |
| This design is intended to combine general instruction following with stronger specialization in software development and mathematical reasoning. | |
| --- | |
| # What Keefe-Discere Is Designed For | |
| ## General Assistance | |
| Keefe-Discere can be used for: | |
| - Question answering | |
| - Explanations and tutoring | |
| - Summarization | |
| - Structured text generation | |
| - Brainstorming | |
| - Writing assistance | |
| - Conversational applications | |
| ## Mathematics | |
| The model is intended to support tasks such as: | |
| - Algebra | |
| - Arithmetic | |
| - Equations | |
| - Quantitative reasoning | |
| - Mathematical explanations | |
| - Step-by-step problem solving | |
| - Symbolic reasoning experiments | |
| ## Programming | |
| The model can be used for: | |
| - Code generation | |
| - Code explanation | |
| - Debugging | |
| - Refactoring | |
| - Algorithm design | |
| - Programming questions | |
| - Software-development assistance | |
| Because the model incorporates a coding-oriented Qwen component in its merge configuration, programming is an explicit area of experimentation for this project. | |
| ## Local AI | |
| Keefe-Discere is particularly suitable for users who want to experiment with: | |
| - Local inference | |
| - Private/self-hosted AI | |
| - Offline language-model applications | |
| - Local APIs | |
| - Ollama | |
| - llama.cpp | |
| - vLLM | |
| - SGLang | |
| - LM Studio | |
| - Other compatible inference runtimes | |
| --- | |
| # Supported Formats | |
| The repository currently provides multiple deployment formats. | |
| ### BF16 Safetensors | |
| The primary full-precision-style distribution is provided as sharded Safetensors files. | |
| This format is intended for modern Transformers-based inference and continued model experimentation. | |
| ### GGUF | |
| A `Q4_K_M` GGUF distribution is also provided for efficient local inference. | |
| This format is suitable for runtimes such as: | |
| - llama.cpp | |
| - Ollama | |
| - LM Studio | |
| - Other GGUF-compatible applications | |
| ### LoRA Adapter | |
| The repository also contains: | |
| - `adapter_config.json` | |
| - `adapter_model.safetensors` | |
| These files represent a PEFT/LoRA adapter distribution. | |
| > The adapter metadata should reference the true base checkpoint rather than the same repository to avoid a self-referential model lineage. | |
| --- | |
| # Transformers Usage | |
| ```python | |
| import torch | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| model_id = "KeefeBuild/Keefe-Discere" | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| torch_dtype=torch.bfloat16, | |
| device_map="auto", | |
| ) | |
| messages = [ | |
| { | |
| "role": "user", | |
| "content": "Explain the difference between a stack and a queue." | |
| } | |
| ] | |
| inputs = tokenizer.apply_chat_template( | |
| messages, | |
| add_generation_prompt=True, | |
| tokenize=True, | |
| return_tensors="pt", | |
| ).to(model.device) | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=512, | |
| temperature=0.7, | |
| top_p=0.9, | |
| ) | |
| response = tokenizer.decode( | |
| outputs[0][inputs["input_ids"].shape[-1]:], | |
| skip_special_tokens=True, | |
| ) | |
| print(response) |