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.47.tar.gz (147.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.47-py3-none-any.whl (180.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hanzo-0.3.47.tar.gz
Algorithm Hash digest
SHA256 4f58ab04b0cd451ee6fbebea07504677bce74287233e0ed49d3b7440b96c3d7e
MD5 a271bf84694278cefe807631532e4e91
BLAKE2b-256 c7dbe6c3e5ccf619fb0ad4b6cb1be3b5f3acd1c465fe2f05125fb5424f47ec9c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hanzo-0.3.47-py3-none-any.whl
Algorithm Hash digest
SHA256 a28ebed4c3e468e97f8fe11ff97bd78e330c36e1acd8438110660f823d345439
MD5 98f627ccf707056206c9a0f2212d63d6
BLAKE2b-256 e7d4de7ae02dfa527858387dbf8b12ffa151a84277ab1416fab66fbf05f8b4c1

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