Instructions to use VLTX/VertaLily-1.2-1B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use VLTX/VertaLily-1.2-1B-GGUF with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="VLTX/VertaLily-1.2-1B-GGUF") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("VLTX/VertaLily-1.2-1B-GGUF", dtype="auto") - llama-cpp-python
How to use VLTX/VertaLily-1.2-1B-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="VLTX/VertaLily-1.2-1B-GGUF", filename="VertaLily-1.2-1B-Q3_K-stable.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use VLTX/VertaLily-1.2-1B-GGUF 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 VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf VLTX/VertaLily-1.2-1B-GGUF: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 VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf VLTX/VertaLily-1.2-1B-GGUF: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 VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
Use Docker
docker model run hf.co/VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use VLTX/VertaLily-1.2-1B-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "VLTX/VertaLily-1.2-1B-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "VLTX/VertaLily-1.2-1B-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
- SGLang
How to use VLTX/VertaLily-1.2-1B-GGUF 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 "VLTX/VertaLily-1.2-1B-GGUF" \ --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": "VLTX/VertaLily-1.2-1B-GGUF", "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 "VLTX/VertaLily-1.2-1B-GGUF" \ --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": "VLTX/VertaLily-1.2-1B-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use VLTX/VertaLily-1.2-1B-GGUF with Ollama:
ollama run hf.co/VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
- Unsloth Studio
How to use VLTX/VertaLily-1.2-1B-GGUF 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 VLTX/VertaLily-1.2-1B-GGUF 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 VLTX/VertaLily-1.2-1B-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for VLTX/VertaLily-1.2-1B-GGUF to start chatting
- Pi
How to use VLTX/VertaLily-1.2-1B-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VLTX/VertaLily-1.2-1B-GGUF: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": "VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use VLTX/VertaLily-1.2-1B-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VLTX/VertaLily-1.2-1B-GGUF: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 VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use VLTX/VertaLily-1.2-1B-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf VLTX/VertaLily-1.2-1B-GGUF: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 "VLTX/VertaLily-1.2-1B-GGUF: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 VLTX/VertaLily-1.2-1B-GGUF with Docker Model Runner:
docker model run hf.co/VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
- Lemonade
How to use VLTX/VertaLily-1.2-1B-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull VLTX/VertaLily-1.2-1B-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.VertaLily-1.2-1B-GGUF-Q4_K_M
List all available models
lemonade list
| license: apache-2.0 | |
| language: | |
| - en | |
| tags: | |
| - vltx | |
| - sovereign | |
| - gguf | |
| - techina-x | |
| - void | |
| - verta-lily | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| <div align="center"> | |
|  | |
| <div style="display: flex; justify-content: center; gap: 0.8em; margin-top: 1em; margin-bottom: 1.5em;"> | |
| <a href="https://huggingface.co/BOSSHuggingFace/VertaLily-Techina-X-Student-PS-1B-GGUF"><strong> Sovereign Home</strong></a> β’ | |
| <a href="https://huggingface.co/BOSSHuggingFace/VertaLily-Techina-X-Student-PS-1B-GGUF/tree/main"><strong> Model Vault</strong></a> β’ | |
| <a href="https://huggingface.co/BOSSHuggingFace"><strong> Architect Repo</strong></a> | |
| </div> | |
| *VertaLily Techina X: Student-Perfect Soil* | |
| *FAS 1.0 Alignment | Architecture: vltx | | |
| Identifier: [CDK_VRT:5F9C2E1A7B:KVC0904A]* | |
| --- | |
| </div> | |
| ### Model Specifications | |
| - **Architecture:** `vltx` | |
| - **Deployment:** Optimized for ARM CPU and Higher Computations | |
| --- | |
| | # | Filename | Quantization | Bit Depth | Size | Best For | | |
| |---|---|---|---|---|---| | |
| | 1 | `VertaLily-1.2-1B-Q3_K-stable.gguf` | Q3_K (K-means variant) | ~3.5 bits per weight | 0.60 GB | Resource-constrained environments β mobile, Pi boards alike, edge devices, low-RAM systems, batch inference on CPU. Fastest inference, smallest memory footprint. | | |
| | 2 | `VertaLily-1.2-1B-Q4_K_M-stable.gguf` | Q4_K_M (K-means medium) | ~4.5 bits per weight | 0.73 GB | Balanced sweet spot β great trade-off between speed, memory, and output quality. Ideal for most general use, local servers, and CPU inference where quality matters but resources aren't abundant. | | |
| | 3 | `VertaLily-1.2-1B-Q8_0-stable.gguf` | Q8_0 (8-bit block-wise) | 8 bits per weight | 1.25 GB | Highest quality β closest to original precision. Best for GPU inference, quality-critical tasks, and when memory is not a constraint. Minimal quality loss from full precision. | | |
| --- | |
| # VertaLily on iOS (iPhone / iPad) | |
| You can run VertaLily models locally on your iPhone or iPad using **LLM Farm** or **PocketPal** β both free, offline-first apps that support GGUF models. | |
| ## Requirements | |
| - iPhone or iPad with iOS 17+ (or iPadOS 17+) | |
| - At least 1.5 GB free storage (2 GB recommended) | |
| - Minimum 2 GB RAM (iPhone 12 or newer recommended) | |
| ## Recommended App: LLM Farm | |
| LLM Farm is a free, open-source app designed for running GGUF models locally on iOS. | |
| ### Download | |
| Search "LLM Farm" on the App Store, or visit: | |
| π https://apps.apple.com/app/llm-farm/id6472836928 | |
| ### Setup Steps | |
| 1. **Install LLM Farm** from the App Store | |
| 2. **Download the model** from Hugging Face on your computer or directly on your iPhone | |
| 3. **Transfer the .gguf file** to your iPhone (AirDrop, iCloud Drive, or Files app) | |
| 4. **Open LLM Farm** β tap "Load Model" β browse to the `.gguf` file | |
| 5. **Select the model** and wait for it to load | |
| 6. **Start chatting** offline β no internet required | |
| ## Recommended Quantization for iOS | |
| | Model | Size | Best For | | |
| |---|---|---| | |
| | `VertaLily-1.2-1B-Q3_K-stable.gguf` | 0.60 GB | iPhone 12 and older, iPad with 3GB RAM | | |
| | `VertaLily-1.2-1B-Q4_K_M-stable.gguf` | 0.73 GB | iPhone 13 and newer, iPad Pro with 8GB+ RAM | | |
| > β οΈ The Q8_0 version is too large for most iPhones (1.25 GB + overhead). Stick with Q3_K for the best balance of speed and quality on mobile. | |
| ## Alternative App: PocketPal | |
| PocketPal is another excellent option for running GGUF models on iOS. | |
| ### Download | |
| Search "PocketPal" on the App Store, or visit: | |
| π https://apps.apple.com/app/pocketpal/id6502573055 | |
| ### Setup Steps | |
| 1. Install PocketPal | |
| 2. Download the `.gguf` model file | |
| 3. Use AirDrop or Files app to transfer to your iPhone | |
| 4. Open PocketPal β tap "Import Model" β select your file | |
| 5. The app will automatically detect the model architecture | |
| 6. Begin your conversation β fully local and private | |
| ## Tips for Best Performance on iOS | |
| - **Close other apps** before loading the model to free up RAM | |
| - **Use Q3_K** for fastest response times | |
| - **Keep your iPhone plugged in** during long inference sessions (battery drain is normal) | |
| - **Shorter responses** generate faster than long, complex ones | |
| - **Lower context window** (512-1024 tokens) if you experience slow performance | |
| ## Troubleshooting | |
| | Issue | Solution | | |
| |---|---| | |
| | App crashes on load | Model is too large for device RAM. Use Q3_K instead. | | |
| | Slow response time | Lower the context window or use Q3_K quantization. | | |
| | Cannot find model file | Check that the file is in the Files app and not in iCloud (download locally first). | | |
| | Model loads but doesn't respond | Restart the app and try loading again. Some apps require 2-3 attempts. | | |
| ## Privacy Note | |
| β **All processing happens on your device** β your conversations never leave your iPhone. No internet connection required after the model is downloaded. | |
| --- | |
| *Verta Lily AI β Sovereign. Local. On your iPhone.* | |
| --- | |
| # Try VertaLily-1.2-1B on Android | |
| You can run this model locally, without internet, using the **Off-Grid APK** release. | |
| ## Requirements | |
| - Android device (phone or tablet) | |
| - At least 1 GB free storage | |
| - Minimum 1 GB RAM (2 GB recommended) | |
| ## Download Off-Grid APK | |
| Get the latest Off-Grid inference APK from the official release page: | |
| π **https://github.com/alichherawalla/off-grid-mobile-ai/releases** | |
| ## Recommended Model | |
| For off-grid / mobile use, start with the **Q3_K** version β smallest size, fastest inference, lowest memory usage. | |
| | Model | Size | Best For | | |
| |---|---|---| | |
| | `VertaLily-1.2-1B-Q3_K-stable.gguf` | 0.60 GB | Mobile, Pi boards, edge devices, low-RAM systems | | |
| ## How to Load | |
| 1. Install the Off-Grid APK on your device | |
| 2. Download the Q3_K model file from Hugging Face | |
| 3. Copy the `.gguf` file to your device storage | |
| 4. Open the app and select the model file | |
| 5. Start using VertaLily offline β no internet required | |
| ## Notes | |
| - The same APK can also load Q4_K_M and Q8_0 versions if your device has enough RAM | |
| - For best performance on lower-end devices, stick with Q3_K | |
| --- | |
| # Ollama Setup | |
| You can also run VertaLily models using **Ollama** on Linux, macOS, or Windows. | |
| ## Install Ollama | |
| Follow the official guide: https://ollama.com/download | |
| ## Create a Modelfile | |
| Create a file named `Modelfile` with the following content: | |
| ```dockerfile | |
| FROM ./VertaLily-1.2-1B-Q4_K_M-stable.gguf | |
| TEMPLATE """{{- if .System }}<|system|> | |
| {{ .System }}<|end|> | |
| {{- end }}{{ if .Prompt }}<|user|> | |
| {{ .Prompt }}<|end|> | |
| {{- end }}<|assistant|> | |
| """ | |
| PARAMETER temperature 0.7 | |
| PARAMETER top_p 0.9 | |
| PARAMETER stop "<|end|>" | |
| PARAMETER stop "<|user|>" | |
| PARAMETER stop "<|system|>" | |
| ``` | |
| Build and Run | |
| ```bash | |
| ollama create vertalily-1.2b -f Modelfile | |
| ollama run vertalily-1.2b | |
| ``` | |
| Quantization Choice for Ollama | |
| Hardware Recommended Quant | |
| CPU only, limited RAM Q3_K | |
| CPU with 4GB+ RAM Q4_K_M | |
| GPU or abundant RAM Q8_0 | |
| --- | |
| OpenClaw Agent Framework | |
| OpenClaw is a lightweight agent framework for deploying GGUF models with tool-use capabilities. | |
| Installation | |
| ```bash | |
| git clone https://github.com/OpenClaw/openclaw | |
| cd openclaw | |
| pip install -r requirements.txt | |
| ``` | |
| Load Model as Agent | |
| ```python | |
| from openclaw import Agent | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| tools=["web_search", "calculator", "file_read"], | |
| max_iterations=5 | |
| ) | |
| response = agent.run("What is the current weather and calculate 15% of 80?") | |
| print(response) | |
| ``` | |
| CLI Agent Mode | |
| ```bash | |
| python run_agent.py --model VertaLily-1.2-1B-Q4_K_M-stable.gguf --tools all | |
| ``` | |
| --- | |
| Hermes Agent Framework | |
| Hermes provides a production-ready agent framework with API endpoints, memory, and multi-turn conversations. | |
| Installation | |
| ```bash | |
| pip install hermes-gguf | |
| ``` | |
| Agent Setup | |
| ```python | |
| from hermes import AgentServer | |
| server = AgentServer( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| tools=["search", "code_interpreter", "rag"], | |
| memory_type="conversation_buffer", | |
| port=8000 | |
| ) | |
| server.start() | |
| ``` | |
| Agent API Request | |
| ```bash | |
| curl -X POST http://localhost:8000/agent/chat \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"message": "Help me debug this Python script", "session_id": "user123"}' | |
| ``` | |
| Hermes with Custom Tools | |
| ```python | |
| from hermes import Agent, tool | |
| @tool | |
| def fetch_database(query: str) -> str: | |
| # Your custom logic here | |
| return f"Query result for: {query}" | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q8_0-stable.gguf", | |
| custom_tools=[fetch_database] | |
| ) | |
| ``` | |
| --- | |
| <h1 style="font-size: 1.3em; font-weight: bold;">Inference Setup Plan</h1> | |
| # Sovereign Agent Setup: OpenClaw / Hermes + Open WebUI | |
| This guide walks you through building a **sovereign AI agent** with persistent memory, web scraping capabilities, and a clean chat interface using Open WebUI. | |
| ## Architecture Overview | |
| ``` | |
| [Open Web UI] ββ [OpenClaw or Hermes Agent] ββ [Model: VertaLily-1.2-1B] | |
| β | |
| [Memory Vector DB] | |
| β | |
| [Web Scraper Tools] | |
| ``` | |
| --- | |
| # Option 1: OpenClaw + Open WebUI | |
| ## Step 1 β Install OpenClaw with Agent Extras | |
| ```bash | |
| git clone https://github.com/OpenClaw/openclaw | |
| cd openclaw | |
| pip install -r requirements.txt | |
| pip install chromadb requests beautifulsoup4 selenium | |
| ``` | |
| Step 2 β Create Sovereign Agent Script | |
| Create sovereign_agent.py: | |
| ```python | |
| from openclaw import Agent | |
| from openclaw.memory import ChromaMemory | |
| from openclaw.tools import WebScraper, Calculator, FileReader | |
| import json | |
| # Persistent memory (conversations survive restarts) | |
| memory = ChromaMemory( | |
| persist_directory="./agent_memory", | |
| collection_name="sovereign_conversations" | |
| ) | |
| # Web scraper tool with privacy focus | |
| scraper = WebScraper( | |
| headless=True, | |
| respect_robots=True, | |
| user_agent="VertaLily-Sovereign-Agent/1.0" | |
| ) | |
| # Initialize agent | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| memory=memory, | |
| tools=[ | |
| scraper, | |
| Calculator(), | |
| FileReader() | |
| ], | |
| system_prompt=""" | |
| You are VertaLily, a sovereign AI assistant. | |
| - You are private, local, privacy based model. | |
| - Your memory persists across conversations. | |
| - When asked to research, use the web scraper tool. | |
| - Always respect user privacy. Never log or share data externally. | |
| - You answer with clarity, warmth, and precision. | |
| """, | |
| max_iterations=5, | |
| temperature=0.7 | |
| ) | |
| # API endpoint for Open WebUI | |
| from flask import Flask, request, jsonify | |
| from flask_cors import CORS | |
| app = Flask(__name__) | |
| CORS(app) | |
| @app.route('/chat', methods=['POST']) | |
| def chat(): | |
| data = request.json | |
| user_message = data.get('message', '') | |
| session_id = data.get('session_id', 'default') | |
| response = agent.run( | |
| user_message, | |
| session_id=session_id | |
| ) | |
| return jsonify({ | |
| "response": response, | |
| "session_id": session_id | |
| }) | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=5000) | |
| ``` | |
| Step 3 β Run the Agent Server | |
| ```bash | |
| python sovereign_agent.py | |
| ``` | |
| Your agent API is now running at http://localhost:5000/chat | |
| --- | |
| Option 2: Hermes + Open WebUI | |
| Step 1 β Install Hermes | |
| ```bash | |
| pip install hermes-gguf chromadb langchain beautifulsoup4 | |
| ``` | |
| Step 2 β Create Hermes Sovereign Agent | |
| Create hermes_sovereign.py: | |
| ```python | |
| from hermes import AgentServer, Memory, Tool | |
| from hermes.tools import WebScrapeTool, VectorSearchTool | |
| import chromadb | |
| # Sovereign memory setup | |
| chroma_client = chromadb.PersistentClient(path="./sovereign_memory") | |
| memory = Memory( | |
| client=chroma_client, | |
| collection="conversation_history", | |
| top_k=5 | |
| ) | |
| # Custom web scraper with sovereignty rules | |
| class SovereignWebScraper(Tool): | |
| name = "web_scraper" | |
| description = "Scrape web pages for current information. Respects robots.txt." | |
| def run(self, url: str, max_chars: int = 5000): | |
| from bs4 import BeautifulSoup | |
| import requests | |
| headers = { | |
| 'User-Agent': 'VertaLily-Sovereign/1.0' | |
| } | |
| response = requests.get(url, headers=headers, timeout=30) | |
| soup = BeautifulSoup(response.text, 'html.parser') | |
| # Remove scripts and styles | |
| for script in soup(["script", "style"]): | |
| script.decompose() | |
| text = soup.get_text(separator=' ', strip=True) | |
| return text[:max_chars] | |
| # Initialize agent server | |
| server = AgentServer( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| memory=memory, | |
| tools=[ | |
| SovereignWebScraper(), | |
| VectorSearchTool(index_path="./knowledge_base"), | |
| ], | |
| system_prompt=""" | |
| === SOVEREIGN AGENT MODE === | |
| You are VertaLily β a private, sovereign AI. | |
| - Your memory is local. Nothing leaves this server. | |
| - You can scrape the web when asked, but you respect robots.txt. | |
| - You remember past conversations within the same session. | |
| - You do not pretend to be human. You are an AI assistant. | |
| - You answer truthfully, warmly, and efficiently. | |
| """, | |
| temperature=0.7, | |
| max_tokens=1024 | |
| ) | |
| server.serve(port=5000, host="0.0.0.0") | |
| ``` | |
| Step 3 β Run Hermes Server | |
| ```bash | |
| python hermes_sovereign.py | |
| ``` | |
| --- | |
| Step 4: Install Open WebUI (Beautiful UI) | |
| Open WebUI is a self-hostable, privacy-first chat interface. | |
| Docker Install (Recommended) | |
| ```bash | |
| docker run -d -p 3000:8080 \ | |
| -v open-webui:/app/backend/data \ | |
| --name open-webui \ | |
| ghcr.io/open-webui/open-webui:main | |
| ``` | |
| Connect Open WebUI to Your Agent | |
| 1. Open your browser to http://localhost:3000 | |
| 2. Create an admin account (first user becomes admin) | |
| 3. Go to Settings β Connections | |
| 4. Add a Custom OpenAI Compatible Endpoint: | |
| Β· URL: http://host.docker.internal:5000/chat | |
| Β· API Key: (leave blank or enter any value) | |
| Β· Model Name: VertaLily | |
| 5. Save and select your model from the dropdown | |
| Alternative: Manual Open WebUI Setup | |
| ```bash | |
| git clone https://github.com/open-webui/open-webui | |
| cd open-webui | |
| pip install -r requirements.txt | |
| cp .env.example .env | |
| # Edit .env to point to your agent API | |
| python backend/main.py | |
| ``` | |
| --- | |
| Step 5: Memory & Web Scraper in Action | |
| Once everything is running, your agent can: | |
| Persistent Memory Example | |
| ``` | |
| User: "My name is Kevin. I am building sovereign AI." | |
| Agent: "Nice to meet you, Kevin. How can I assist with your sovereign AI work?" | |
| User: "What did I tell you my name was?" | |
| Agent: "You told me your name is Kevin. I remember because my memory persists across turns." | |
| ``` | |
| Web Scraper Example | |
| ``` | |
| User: "Scrape https://example.com/news and summarize the top story" | |
| Agent: [Calls web_scraper tool] β [Processes content] β "The top story is about..." | |
| ``` | |
| Memory + Web Together | |
| ``` | |
| User: "Remember this fact: The Verta Lily model is 1.2-1B parameters." | |
| Agent: "I've stored that." | |
| User: "Now research recent AI news and compare it to my model" | |
| Agent: [Recalls stored fact] + [Scrapes web] β "Compared to your 1.2-1B model..." | |
| ``` | |
| --- | |
| Step 6: Sovereign UI Customization (Open WebUI) | |
| To make the interface reflect your sovereign branding: | |
| 1. Go to Admin Panel β Settings β Branding | |
| 2. Set: | |
| Β· App Name: VertaLily Sovereign | |
| Β· Default Model: VertaLily-1.2-1B | |
| Β· Theme: Dark (or custom CSS) | |
| 3. Add custom avatar for your AI | |
| 4. Disable telemetry (Settings β Analytics β Disable All) | |
| --- | |
| Complete Directory Structure | |
| ``` | |
| ~/sovereign-agent/ | |
| βββ models/ | |
| β βββ VertaLily-1.2-1B-Q4_K_M-stable.gguf | |
| βββ agent_memory/ (ChromaDB persists here) | |
| βββ knowledge_base/ (your documents for RAG) | |
| βββ sovereign_agent.py (OpenClaw version) | |
| βββ hermes_sovereign.py (Hermes version) | |
| βββ start.sh | |
| ``` | |
| --- | |
| Quick Start Script (OpenClaw) | |
| Create start.sh: | |
| ```bash | |
| #!/bin/bash | |
| echo "Starting Sovereign Agent..." | |
| export MODEL_PATH="./models/VertaLily-1.2-1B-Q4_K_M-stable.gguf" | |
| python sovereign_agent.py & | |
| echo "Agent running on http://localhost:5000" | |
| echo "Open WebUI should be on http://localhost:3000" | |
| wait | |
| ``` | |
| --- | |
| Security & Privacy Notes | |
| Feature Implementation | |
| No data leaves your machine All inference local | |
| Memory is encrypted ChromaDB stored locally | |
| Web scraper respects robots.txt Ethical scraping only | |
| Open WebUI telemetry Disable in settings | |
| No API keys required Fully self-contained | |
| --- | |
| # Tool Use and Agent Skill | |
| This guide shows how to extend your VertaLily model with **tool use** and **agent skills** β enabling capabilities like web search, API integrations (Gmail, Calendar), file operations, and custom automation. | |
| All examples respect the model's **32K context window**, with approximately **50 tokens reserved for internal processing** β leaving ~31,900 tokens for your conversation and tool outputs. | |
| --- | |
| ## Overview of Available Skills | |
| | Skill | What It Does | Use Case | | |
| |---|---|---| | |
| | **Web Search** | Fetches real-time information | News, facts, research | | |
| | **Gmail API** | Read, send, search emails | Email automation | | |
| | **Google Calendar** | Create, read, update events | Schedule management | | |
| | **Web Scraper** | Extracts text from any URL | Document analysis | | |
| | **Calculator** | Solves mathematical expressions | Numbers, formulas | | |
| | **File Reader** | Reads local files (.txt, .md, .json, .csv) | Document processing | | |
| | **File Writer** | Saves content to disk | Note taking, logging | | |
| | **Code Interpreter** | Executes Python code safely | Data analysis | | |
| | **Custom API** | Connect to any REST API | Your own services | | |
| | **Database Query** | Search local vector databases | RAG, knowledge retrieval | | |
| --- | |
| # Option 1: OpenClaw Agent Framework | |
| ## Installation | |
| ```bash | |
| pip install openclaw[full] | |
| ``` | |
| Basic Agent with Calendar & Gmail | |
| ```python | |
| from openclaw import Agent | |
| from openclaw.tools import ( | |
| WebSearchTool, | |
| CalculatorTool, | |
| FileReaderTool, | |
| FileWriterTool | |
| ) | |
| # Gmail and Calendar require OAuth setup | |
| from openclaw.integrations import GmailTool, CalendarTool | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| tools=[ | |
| WebSearchTool(), | |
| CalculatorTool(), | |
| FileReaderTool(base_path="./documents"), | |
| FileWriterTool(base_path="./output"), | |
| GmailTool(credentials_path="./gmail_oauth.json"), | |
| CalendarTool(credentials_path="./calendar_oauth.json") | |
| ], | |
| system_prompt=""" | |
| You are VertaLily, a sovereign AI assistant with tool-use capabilities. | |
| Available tools: | |
| - web_search: Get current information from the internet | |
| - calculator: Solve math problems | |
| - file_reader: Read documents from ./documents | |
| - file_writer: Save notes and results to ./output | |
| - gmail: Read, search, and send emails | |
| - calendar: Check, create, and update events | |
| When using a tool, state what you're doing. Always confirm before sending emails or deleting items. | |
| """, | |
| max_iterations=8, | |
| temperature=0.7 | |
| ) | |
| # Example: Calendar check | |
| response = agent.run("What's on my calendar for today?") | |
| print(response) | |
| # Example: Send email summary | |
| response = agent.run("Send an email to team@example.com with today's schedule summary") | |
| print(response) | |
| ``` | |
| Gmail OAuth Setup | |
| 1. Go to Google Cloud Console | |
| 2. Create a project and enable Gmail API | |
| 3. Create OAuth 2.0 credentials (Desktop app type) | |
| 4. Download credentials.json to your project folder | |
| 5. Run once to authenticate: | |
| ```python | |
| from openclaw.integrations import GmailTool | |
| gmail = GmailTool(credentials_path="./credentials.json") | |
| # Browser will open for authentication | |
| # Token saved to ./gmail_oauth.json | |
| ``` | |
| Calendar OAuth Setup | |
| Same process, but enable Google Calendar API instead. | |
| ```python | |
| from openclaw.integrations import CalendarTool | |
| calendar = CalendarTool(credentials_path="./credentials.json") | |
| # Token saved to ./calendar_oauth.json | |
| ``` | |
| --- | |
| Option 2: Hermes Agent Framework | |
| Installation | |
| ```bash | |
| pip install hermes-gguf[all] | |
| ``` | |
| Complete Agent with Custom Skills | |
| ```python | |
| from hermes import Agent | |
| from hermes.tools import ( | |
| BraveSearchTool, | |
| CalculatorTool, | |
| FileSystemTool, | |
| CodeExecutorTool | |
| ) | |
| # Custom API integration example | |
| from hermes import BaseTool, tool | |
| @tool | |
| class GmailTool(BaseTool): | |
| name = "gmail" | |
| description = "Access Gmail: read, search, send emails" | |
| def run(self, action: str, **kwargs): | |
| # Your Gmail API implementation here | |
| if action == "read": | |
| return self.read_emails(**kwargs) | |
| elif action == "send": | |
| return self.send_email(**kwargs) | |
| return "Email operation complete" | |
| @tool | |
| class CalendarTool(BaseTool): | |
| name = "calendar" | |
| description = "Access Google Calendar" | |
| def run(self, action: str, **kwargs): | |
| # Your Calendar API implementation here | |
| if action == "today": | |
| return self.get_today_events() | |
| elif action == "create": | |
| return self.create_event(**kwargs) | |
| return "Calendar operation complete" | |
| @tool | |
| class CustomAPITool(BaseTool): | |
| name = "custom_api" | |
| description = "Connect to your own API endpoint" | |
| def run(self, endpoint: str, data: dict = None): | |
| import requests | |
| response = requests.post( | |
| f"https://your-api.com/{endpoint}", | |
| json=data, | |
| timeout=30 | |
| ) | |
| return response.json() | |
| # Initialize agent | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| tools=[ | |
| BraveSearchTool(api_key="your_brave_api"), | |
| CalculatorTool(), | |
| FileSystemTool(allowed_directories=["./data", "./docs"]), | |
| CodeExecutorTool(timeout=30), | |
| GmailTool(), | |
| CalendarTool(), | |
| CustomAPITool() | |
| ], | |
| skill_instructions=""" | |
| You have these skills available: | |
| 1. **brave_search** - Search the web for current information | |
| 2. **calculator** - Solve math problems | |
| 3. **file_system** - Read and write files in ./data and ./docs | |
| 4. **code_executor** - Run Python code for analysis | |
| 5. **gmail** - Read, search, and send emails | |
| 6. **calendar** - Check and manage calendar events | |
| 7. **custom_api** - Connect to external services | |
| Always announce which tool you are using. Ask for confirmation before sending emails or creating calendar events. | |
| """, | |
| temperature=0.7, | |
| max_iterations=10 | |
| ) | |
| ``` | |
| --- | |
| Custom Skill: Build Your Own | |
| Example 1: Weather API Skill | |
| ```python | |
| @tool | |
| class WeatherTool(BaseTool): | |
| name = "weather" | |
| description = "Get current weather for any city" | |
| def run(self, city: str) -> str: | |
| import requests | |
| # Free API (replace with your key) | |
| url = f"https://wttr.in/{city}?format=%C+%t" | |
| response = requests.get(url, timeout=10) | |
| return f"Weather in {city}: {response.text}" | |
| agent.add_tool(WeatherTool()) | |
| ``` | |
| Example 2: Database Query Skill | |
| ```python | |
| @tool | |
| class DatabaseTool(BaseTool): | |
| name = "db_query" | |
| description = "Query local SQLite database" | |
| def run(self, query: str) -> list: | |
| import sqlite3 | |
| conn = sqlite3.connect("./knowledge.db") | |
| cursor = conn.cursor() | |
| cursor.execute(query) | |
| results = cursor.fetchall() | |
| conn.close() | |
| return results | |
| agent.add_tool(DatabaseTool()) | |
| ``` | |
| Example 3: Slack Notification Skill | |
| ```python | |
| @tool | |
| class SlackTool(BaseTool): | |
| name = "slack" | |
| description = "Send notifications to Slack" | |
| def run(self, message: str, channel: str = "#general") -> str: | |
| import requests | |
| webhook_url = os.environ.get("SLACK_WEBHOOK") | |
| response = requests.post( | |
| webhook_url, | |
| json={"text": message, "channel": channel} | |
| ) | |
| return "Message sent to Slack" if response.ok else "Failed" | |
| agent.add_tool(SlackTool()) | |
| ``` | |
| --- | |
| Agent Skill: Research + Email + Calendar Workflow | |
| ```python | |
| research_agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| tools=[ | |
| WebSearchTool(), | |
| WebScraperTool(), | |
| GmailTool(), | |
| CalendarTool(), | |
| FileWriterTool() | |
| ], | |
| system_prompt=""" | |
| You are a research assistant that can: | |
| 1. Search the web for information | |
| 2. Read and summarize articles | |
| 3. Save findings to files | |
| 4. Send email summaries | |
| 5. Schedule follow-up reminders | |
| Workflow when asked to research a topic: | |
| - First, search for relevant information | |
| - Read the top 2-3 sources | |
| - Create a summary | |
| - Save to a file in ./output | |
| - Ask if user wants an email or calendar reminder | |
| """, | |
| max_iterations=12 | |
| ) | |
| # Example usage | |
| response = research_agent.run( | |
| "Research the latest developments in sovereign AI, " | |
| "save the findings to a file, and email me a summary" | |
| ) | |
| ``` | |
| --- | |
| Tool Output Size Management | |
| Since the model has ~31,900 tokens available after internal processing, large tool outputs should be truncated or summarized. | |
| Truncation Example (OpenClaw) | |
| ```python | |
| from openclaw.tools import WebScraperTool | |
| class TruncatingScraper(WebScraperTool): | |
| def run(self, url: str, max_chars: int = 8000): | |
| content = super().run(url) | |
| if len(content) > max_chars: | |
| content = content[:max_chars] + "\n...[truncated]" | |
| return content | |
| ``` | |
| Chunking Example (Hermes) | |
| ```python | |
| @tool | |
| class ChunkingReader(BaseTool): | |
| name = "chunked_read" | |
| description = "Read large files in chunks" | |
| def run(self, filepath: str, chunk_size: int = 3000): | |
| with open(filepath, 'r') as f: | |
| chunks = [] | |
| while True: | |
| chunk = f.read(chunk_size) | |
| if not chunk: | |
| break | |
| chunks.append(chunk) | |
| return chunks[0] + "\n...[file truncated, more content available]" | |
| ``` | |
| --- | |
| Context-Aware Agent Configuration | |
| Recommended settings for token management: | |
| ```python | |
| agent = Agent( | |
| model_path="VertaLily-1.2-1B-Q4_K_M-stable.gguf", | |
| n_ctx=32768, # Maximum context | |
| max_tokens=4096, # Limit output generation | |
| tool_output_limit=6000, # Truncate large tool returns | |
| memory_retention=10, # Keep last 10 exchanges | |
| temperature=0.7 | |
| ) | |
| ``` | |
| --- | |
| Running as a Server with API Endpoint | |
| ```python | |
| from flask import Flask, request, jsonify | |
| from flask_cors import CORS | |
| app = Flask(__name__) | |
| CORS(app) | |
| @app.route('/chat', methods=['POST']) | |
| def chat(): | |
| data = request.json | |
| user_message = data.get('message', '') | |
| # Agent processes with tool access | |
| response = agent.run(user_message) | |
| return jsonify({ | |
| "response": response, | |
| "context_used": agent.last_context_tokens, | |
| "tokens_remaining": agent.remaining_tokens | |
| }) | |
| app.run(host='0.0.0.0', port=5000) | |
| ``` | |
| --- | |
| Security Best Practices | |
| Risk Mitigation | |
| API keys exposed Use environment variables: os.environ.get("KEY") | |
| Email accidental sends Add confirmation prompt before sending | |
| Calendar deletions Require explicit user approval | |
| File access Restrict to specific directories | |
| Code execution Enable safe_mode with timeout | |
| ```python | |
| # Example: Confirmation before sending email | |
| if "send" in action.lower(): | |
| confirm = input("Send email? (y/n): ") | |
| if confirm != 'y': | |
| return "Email send cancelled by user." | |
| ``` | |
| --- | |
| ## Cross Breed Cobra | |
| Before OpenClaw or Hermes existed, I had already built my own private agent framework named Cross Breed Cobra. It has been running quietly for months β sovereign, efficient, and built entirely from scratch. While it is not yet publicly available, Cross Breed Cobra remains the foundation upon which newer frameworks stand. One day, it will be shared. For now, if not because of privacy concern. | |
| --- | |
| ## Model Purpose: Knowledge Harvest for writing any AI weight & Low-power Agentic Inferences | |
| **VertaLily-Student-PS-1B** is a specialized 1-billion parameter student model, quantized to **4-bit (Q4_K) or 3-bit (Q3_K)** for extreme efficiency, and **8-bit (Q8_0) for desktop quality**. Unlike general-purpose small models, this "Perfect Soil" variant is architected specifically as a **distillation vessel**, **writing model weights**, or **cloud/local agent inferences**. | |
| It's primary purpose is to act as a high-affinity student for **Knowledge Harvesting**. It is designed to learn the logits, reasoning patterns, and hidden representations of larger "Teacher" models with minimal information loss or any information fields it exposed with. | |
| ### Key Specifications: | |
| - **Model Name:** VertaLily-Student-PS-1B | |
| --- | |
| ## Distillation Strategy | |
| This model is intended to be used in **Soft Target Distillation** and **Intermediate Representation Matching**. | |
| 1. **Vessel Affinity:** Optimized for high learning rates during the distillation phase. | |
| 2. **Logit Mimicry:** Designed to mirror the probability distributions (soft targets) of Teacher models across diverse tasks. | |
| 3. **Perfect Soil:** Neutralized pre-training weights to prevent "Teacher-Student Conflict," ensuring the student inherits the Teacher's reasoning without bias from poor quality base data. | |
| --- | |
| ## About This Model | |
| This student model inherits the refined reasoning architecture of **Verta Lily Techina X** β also known as **Verta Lily - VOID** β a layered thinking system I first developed in 2024. This design predates and complements the dense, single-pass inference breakthroughs seen in models like DeepSeek (January 2025). Where others optimize for speed, VOID optimizes for **depth, safety, and recursive self-correction**. | |
| ## Compatibility & Deployment | |
| The model is fully compatible with **llama.cpp** and any of it's forks or heritage implementations. While I have not yet publicly released a dedicated VLTX fork of llama.cpp, that work is highly already on the roadmap. In due time, I will contribute the VLTX inference architecture to the public via a pull request or release my own fork β one optimized to load and run this model with full functional relevances. | |
| ## Scalability & Swarm Reasoning | |
| This model is designed to be lightweight enough to run on **low-CPU environments**, yet flexible enough to scale across **CPU + GPU inference sets** when more power is needed. Multiple instances can be run in **parallel swarms**, each trained or exposed to different knowledge domains β books, research papers, technical fields β and then interleaved or merged. This makes it possible to **grow new weights from scratch**, building a complete learning library for future AI systems. | |
| ## Bring Your Own Agent Setting | |
| This model comes pre-trained on tool use and web search inferences. When paired with a well-structured framework, it performs smoothly and reliably β and in many cases, it can exceed the capabilities of even the most advanced frontier models available today. | |
| ## πΉ Extended Capabilities | |
| This model is designed for versatility across a wide range of practical applications, including: | |
| - Web scraping and automated data extraction | |
| - Computer use for interface navigation and task execution | |
| - Integration with extended internet knowledge bases | |
| - Frontend network branching across cloud, mobile, and hybrid environments | |
| - Full local inference with no internet connection required | |
| - Deployment in robotic systems as a reasoning engine | |
| - Bootstrapping and training new AI models from the ground up | |
| ## A Personal Note from the Creator | |
| I develop this work as a **passion project** β a hobby pursued with love, not yet a fully funded or full-time endeavor. Progress may sometimes feel slow, but every line of code and every layer of reasoning is crafted with care. Thank you for your patience, your curiosity, and your trust. | |
| --- | |
| *With sovereignty and warmth,* | |
| **KEVIN** | |
| *Architect of Verta Lily AI β VLTX Lab* |