Skip to main content

Hanzo AI - Complete AI Infrastructure Platform with CLI, Router, MCP, and Agent Runtime

Project description

Hanzo CLI and Orchestration Tools

PyPI Python Version

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


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.44.tar.gz (208.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hanzo-0.3.44-py3-none-any.whl (259.0 kB view details)

Uploaded Python 3

File details

Details for the file hanzo-0.3.44.tar.gz.

File metadata

  • Download URL: hanzo-0.3.44.tar.gz
  • Upload date:
  • Size: 208.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for hanzo-0.3.44.tar.gz
Algorithm Hash digest
SHA256 c3732557f07173c1e175c1016004d8140ad5bcd8385936b49859b75b7759de62
MD5 d786e0e7f04ccd9215da5c1c6f1adb30
BLAKE2b-256 1a53c13c4a673a2c03990c90d36630b302e73fa578ddee7d95c5cd34451496e0

See more details on using hashes here.

File details

Details for the file hanzo-0.3.44-py3-none-any.whl.

File metadata

  • Download URL: hanzo-0.3.44-py3-none-any.whl
  • Upload date:
  • Size: 259.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for hanzo-0.3.44-py3-none-any.whl
Algorithm Hash digest
SHA256 e7d77db6ca6e6d538d8dbd8f14ad54e7de570eb4d3fd138f0850cbb311bc98c2
MD5 fcf1bb9311ef1f4a9ec9314c4f066647
BLAKE2b-256 15174946811d23b732339c5a7ad81ca38bdc6b0e3c85bc23405fdc52a62fecc9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page