A simple Ollama-like tool for running LLMs locally
Project description
Easy Edge
A simple Ollama-like tool for running Large Language Models (LLMs) locally using llama.cpp under the hood.
Features
- 🚀 Local LLM Inference: Run models locally using llama.cpp
- 📥 Automatic Downloads: Download models from URLs or Hugging Face
- 💬 Interactive Chat: Chat with models in an interactive terminal
- 📋 Model Management: List, download, and remove models
- ⚙️ Configurable: Customize model parameters and settings
Installation
Install Easy Edge from PyPI:
pip install easy-edge
Or, to install the latest version from source:
git clone https://github.com/criminact/easy-edge.git
cd easy-edge
pip install .
Usage
After installation, use the easy-edge command from your terminal:
Download a Model
easy-edge pull --repo-id TheBloke/Llama-2-7B-Chat-GGUF --filename llama-2-7b-chat.Q4_K_M.gguf
Or download from a Hugging Face URL:
easy-edge pull --url https://huggingface.co/google/gemma-3-1b-it-qat-q4_0-gguf/resolve/main/gemma-3-1b-it-q4_0.gguf
Run the Model
Single prompt:
easy-edge run gemma-3-1b-it-qat-q4_0-gguf --prompt "Hello, how are you?"
Interactive chat:
easy-edge run gemma-3-1b-it-qat-q4_0-gguf --interactive
List Installed Models
easy-edge list
Remove a Model
easy-edge remove gemma-3-1b-it-qat-q4_0-gguf
Configuration
The tool stores configuration in models/config.json. You can modify settings like:
max_tokens: Maximum tokens to generate (default: 2048)temperature: Sampling temperature (default: 0.7)top_p: Top-p sampling parameter (default: 0.9)
Requirements
- Python 3.11+
- 8GB+ RAM (for 7B models)
- 16GB+ RAM (for 13B models)
- 4GB+ free disk space per model
Troubleshooting
Common Issues
-
"llama-cpp-python not installed"
pip install llama-cpp-python
-
Out of memory errors
- Try smaller models (7B instead of 13B)
- Use more quantized models (Q4_K_M instead of Q8_0)
- Close other applications to free up RAM
-
Slow inference
- The tool uses all CPU cores by default
- For better performance, consider using GPU acceleration (requires CUDA)
GPU Acceleration (Optional)
For faster inference with NVIDIA GPUs:
pip uninstall llama-cpp-python
pip install llama-cpp-python --force-reinstall --index-url=https://jllllll.github.io/llama-cpp-python-cuBLAS-wheels/AVX2/cu118
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Acknowledgments
- llama.cpp - The underlying inference engine
- Ollama - Inspiration for the tool design
- Hugging Face - Model hosting and distribution
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easy_edge-0.1.2.tar.gz.
File metadata
- Download URL: easy_edge-0.1.2.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bb67172fa03fb802881165873d4d567ce9aa425c934edc0e6b6959685618c8a
|
|
| MD5 |
f203a3e8317ffa70edf97f3930dfb5e7
|
|
| BLAKE2b-256 |
be9a71a8daba6947d808754c2fbd316a811f1826163ef3749d8bd47ab15c8465
|
File details
Details for the file easy_edge-0.1.2-py3-none-any.whl.
File metadata
- Download URL: easy_edge-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76de38689fb4fa8734ea44c6b545f27a221041eed2c96c35d43be388469fbbf7
|
|
| MD5 |
8d56610a7bb68b5c83025874951b0b1b
|
|
| BLAKE2b-256 |
9ae2bfc99ae25d69b88a83873a46579cb661660d0dad71a6fa3b8097192476ed
|