Instructions to use aelgendy/QModel with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use aelgendy/QModel 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 aelgendy/QModel:Q4_K_M # Run inference directly in the terminal: llama cli -hf aelgendy/QModel:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf aelgendy/QModel:Q4_K_M # Run inference directly in the terminal: llama cli -hf aelgendy/QModel: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 aelgendy/QModel:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf aelgendy/QModel: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 aelgendy/QModel:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf aelgendy/QModel:Q4_K_M
Use Docker
docker model run hf.co/aelgendy/QModel:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use aelgendy/QModel with Ollama:
ollama run hf.co/aelgendy/QModel:Q4_K_M
- Unsloth Studio
How to use aelgendy/QModel 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 aelgendy/QModel 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 aelgendy/QModel to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for aelgendy/QModel to start chatting
- Pi
How to use aelgendy/QModel with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aelgendy/QModel: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": "aelgendy/QModel:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use aelgendy/QModel with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aelgendy/QModel: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 "aelgendy/QModel: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"
- Docker Model Runner
How to use aelgendy/QModel with Docker Model Runner:
docker model run hf.co/aelgendy/QModel:Q4_K_M
- Lemonade
How to use aelgendy/QModel with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull aelgendy/QModel:Q4_K_M
Run and chat with the model
lemonade run user.QModel-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use aelgendy/QModel with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf aelgendy/QModel: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 aelgendy/QModel:Q4_K_M
Run Hermes
hermes
- Atomic Chat
| """Pydantic schemas for request / response models.""" | |
| from __future__ import annotations | |
| from typing import Dict, List, Optional | |
| from pydantic import BaseModel, Field | |
| from app.config import cfg | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # CORE SCHEMAS | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| class ChatMessage(BaseModel): | |
| role: str = Field(..., pattern="^(system|user|assistant)$") | |
| content: str = Field(..., min_length=1, max_length=4000) | |
| class AnalysisResult(BaseModel): | |
| keyword: str | |
| kw_stemmed: str | |
| total_count: int | |
| by_surah: Dict[int, Dict] | |
| examples: List[dict] | |
| class SourceItem(BaseModel): | |
| source: str | |
| type: str | |
| grade: Optional[str] = None | |
| arabic: str | |
| english: str | |
| _score: float | |
| class AskResponse(BaseModel): | |
| question: str | |
| answer: str | |
| thinking: Optional[str] = None | |
| language: str | |
| intent: str | |
| analysis: Optional[AnalysisResult] = None | |
| sources: List[SourceItem] | |
| top_score: float | |
| latency_ms: int | |
| class HadithVerifyResponse(BaseModel): | |
| query: str | |
| found: bool | |
| collection: Optional[str] = None | |
| grade: Optional[str] = None | |
| reference: Optional[str] = None | |
| arabic: Optional[str] = None | |
| english: Optional[str] = None | |
| latency_ms: int | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # OPENAI-COMPATIBLE SCHEMAS | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| class ChatCompletionMessage(BaseModel): | |
| role: str = Field(..., description="Message role: system, user, or assistant") | |
| content: str = Field(..., description="Message content") | |
| reasoning_content: Optional[str] = Field(None, description="Model's internal reasoning/thinking") | |
| class ChatCompletionRequest(BaseModel): | |
| model: str = Field(default="QModel", description="Model name") | |
| messages: List[ChatCompletionMessage] = Field(..., description="Messages") | |
| temperature: Optional[float] = Field(default=cfg.TEMPERATURE, ge=0.0, le=2.0) | |
| top_p: Optional[float] = Field(default=1.0, ge=0.0, le=1.0) | |
| max_tokens: Optional[int] = Field(default=cfg.MAX_TOKENS, ge=1, le=8000) | |
| top_k: Optional[int] = Field(default=5, ge=1, le=20, description="Islamic sources to retrieve") | |
| stream: Optional[bool] = Field(default=False, description="Enable streaming responses") | |
| class ChatCompletionChoice(BaseModel): | |
| index: int | |
| message: ChatCompletionMessage | |
| finish_reason: str = "stop" | |
| class ChatCompletionResponse(BaseModel): | |
| id: str | |
| object: str = "chat.completion" | |
| created: int | |
| model: str | |
| choices: List[ChatCompletionChoice] | |
| usage: dict | |
| x_metadata: Optional[dict] = None | |
| class ModelInfo(BaseModel): | |
| id: str | |
| object: str = "model" | |
| created: int | |
| owned_by: str = "elgendy" | |
| permission: List[dict] = Field(default_factory=list) | |
| root: Optional[str] = None | |
| parent: Optional[str] = None | |
| class ModelsListResponse(BaseModel): | |
| object: str = "list" | |
| data: List[ModelInfo] | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # NEW ENDPOINT SCHEMAS | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| class VerseItem(BaseModel): | |
| surah_number: Optional[int] = None | |
| surah_name_ar: str = "" | |
| surah_name_en: str = "" | |
| surah_name_transliteration: str = "" | |
| ayah: Optional[int] = None | |
| arabic: str = "" | |
| english: str = "" | |
| transliteration: str = "" | |
| tafsir_en: str = "" | |
| tafsir_ar: str = "" | |
| source: str = "" | |
| revelation_type: str = "" | |
| score: Optional[float] = None | |
| class HadithItem(BaseModel): | |
| collection: str = "" | |
| reference: str = "" | |
| hadith_number: Optional[int] = None | |
| chapter: str = "" | |
| arabic: str = "" | |
| english: str = "" | |
| grade: Optional[str] = None | |
| author: str = "" | |
| score: Optional[float] = None | |
| class TextSearchResponse(BaseModel): | |
| query: str | |
| count: int | |
| results: List[dict] | |
| class ChapterResponse(BaseModel): | |
| surah_number: int | |
| surah_name_ar: str | |
| surah_name_en: str | |
| surah_name_transliteration: str | |
| revelation_type: str | |
| total_verses: int | |
| verses: List[dict] | |
| class QuranAnalyticsResponse(BaseModel): | |
| total_verses_in_dataset: int | |
| total_surahs: int | |
| meccan_surahs: int | |
| medinan_surahs: int | |
| surahs: List[dict] | |
| class HadithAnalyticsResponse(BaseModel): | |
| total_hadiths: int | |
| collections: List[dict] | |
| grade_summary: dict | |
| class WordFrequencyResponse(BaseModel): | |
| keyword: str | |
| kw_stemmed: str | |
| total_count: int | |
| by_surah: dict | |
| examples: List[dict] | |
| class RootAnalysisResponse(BaseModel): | |
| root: str | |
| total_count: int | |
| by_surah: dict | |
| examples: List[dict] | |