Hanzo AI - Complete AI Infrastructure Platform with CLI, Router, MCP, and Agent Runtime
Project description
Hanzo CLI and Orchestration Tools
Core CLI and orchestration tools for the Hanzo AI platform.
Installation
pip install hanzo
Features
- Interactive Chat: Chat with AI models through CLI
- Node Management: Run local AI inference nodes
- Router Control: Manage LLM proxy router
- REPL Interface: Interactive Python REPL with AI
- Batch Orchestration: Orchestrate multiple AI tasks
- Memory Management: Persistent conversation memory
Usage
CLI Commands
# Interactive chat
hanzo chat
# Use specific model
hanzo chat --model gpt-4
# Use router (local proxy)
hanzo chat --router
# Use cloud API
hanzo chat --cloud
Node Management
# Start local node
hanzo node start
# Check status
hanzo node status
# List available models
hanzo node models
# Load specific model
hanzo node load llama2:7b
# Stop node
hanzo node stop
Router Management
# Start router proxy
hanzo router start
# Check router status
hanzo router status
# List available models
hanzo router models
# View configuration
hanzo router config
# Stop router
hanzo router stop
Interactive REPL
# Start REPL
hanzo repl
# In REPL:
> /help # Show help
> /models # List models
> /model gpt-4 # Switch model
> /clear # Clear context
> What is Python? # Ask questions
Python API
Batch Orchestration
from hanzo.batch_orchestrator import BatchOrchestrator
orchestrator = BatchOrchestrator()
results = await orchestrator.run_batch([
"Summarize quantum computing",
"Explain machine learning",
"Define artificial intelligence"
])
Memory Management
from hanzo.memory_manager import MemoryManager
memory = MemoryManager()
memory.add_to_context("user", "What is Python?")
memory.add_to_context("assistant", "Python is...")
context = memory.get_context()
Fallback Handling
from hanzo.fallback_handler import FallbackHandler
handler = FallbackHandler()
result = await handler.handle_with_fallback(
primary_fn=api_call,
fallback_fn=local_inference
)
Configuration
Environment Variables
# API settings
HANZO_API_KEY=your-api-key
HANZO_BASE_URL=https://api.hanzo.ai
# Router settings
HANZO_ROUTER_URL=http://localhost:4000/v1
# Node settings
HANZO_NODE_URL=http://localhost:8000/v1
HANZO_NODE_WORKERS=4
# Model preferences
HANZO_DEFAULT_MODEL=gpt-4
HANZO_FALLBACK_MODEL=llama2:7b
Configuration File
Create ~/.hanzo/config.yaml:
api:
key: your-api-key
base_url: https://api.hanzo.ai
router:
url: http://localhost:4000/v1
auto_start: true
node:
url: http://localhost:8000/v1
workers: 4
models:
- llama2:7b
- mistral:7b
models:
default: gpt-4
fallback: llama2:7b
Architecture
Components
- CLI: Command-line interface (
cli.py) - Chat: Interactive chat interface (
commands/chat.py) - Node: Local AI node management (
commands/node.py) - Router: LLM proxy management (
commands/router.py) - REPL: Interactive Python REPL (
interactive/repl.py) - Orchestrator: Batch task orchestration (
batch_orchestrator.py) - Memory: Conversation memory (
memory_manager.py) - Fallback: Resilient API handling (
fallback_handler.py)
Port Allocation
- 4000: Router (LLM proxy)
- 8000: Node (local AI)
- 9550-9553: Desktop app integration
Development
Setup
cd pkg/hanzo
uv sync --all-extras
Testing
# Run tests
pytest tests/
# With coverage
pytest tests/ --cov=hanzo
Building
uv build
License
Apache License 2.0
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
hanzo-0.3.30.tar.gz
(100.7 kB
view details)
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
hanzo-0.3.30-py3-none-any.whl
(124.4 kB
view details)
File details
Details for the file hanzo-0.3.30.tar.gz.
File metadata
- Download URL: hanzo-0.3.30.tar.gz
- Upload date:
- Size: 100.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a0c25e8a564b21751a76f1e452ab86225468c0f500349c305d4b75dc88ca11a
|
|
| MD5 |
0840ae7f3a90aa86cf4fa5c77372f530
|
|
| BLAKE2b-256 |
a952a245573352ad919e3c921d6a1ce7e67ac00911c5f65071c5e6cbf2a004fb
|
File details
Details for the file hanzo-0.3.30-py3-none-any.whl.
File metadata
- Download URL: hanzo-0.3.30-py3-none-any.whl
- Upload date:
- Size: 124.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9005197260d360dd6555290085664aac4e6e1ae14f8284549aabffee02a0bb4
|
|
| MD5 |
f8a2e0fd6d61639966d44f37384557d9
|
|
| BLAKE2b-256 |
600a39014a2e96c0952b6ec54dc8d805d5234010fb83d8e201b4acd078f6bf19
|