Metadata-Version: 2.4
Name: elizaos-plugin-local-ai
Version: 2.0.0a4
Summary: elizaOS Local AI Plugin - Local LLM inference using llama.cpp for text, embeddings, vision, and audio
Project-URL: Homepage, https://github.com/elizaos/eliza
Project-URL: Documentation, https://elizaos.ai/docs
Project-URL: Repository, https://github.com/elizaos/eliza
Author: elizaOS Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: agents,ai,elizaos,embeddings,llama,llm,local-ai,tts,whisper
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: llama-cpp-python>=0.2.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: openai-whisper>=20231117
Requires-Dist: pydantic>=2.10.0
Requires-Dist: scipy>=1.12.0
Requires-Dist: torch>=2.0.0
Requires-Dist: transformers>=4.40.0
Provides-Extra: dev
Requires-Dist: mypy>=1.14.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest-xprocess>=1.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.9.0; extra == 'dev'
Description-Content-Type: text/markdown

# elizaOS Local AI Plugin (Python)

Python implementation of the Local AI plugin for elizaOS, providing local LLM inference using llama.cpp.

## Installation

```bash
pip install elizaos-plugin-local-ai
```

## Requirements

- Python 3.11+
- llama-cpp-python
- Model files (GGUF format)

## Usage

```python
from elizaos_plugin_local_ai import LocalAIPlugin, LocalAIConfig, TextGenerationParams

# Create configuration
config = LocalAIConfig(
    models_dir="/path/to/models",
    small_model="DeepHermes-3-Llama-3-3B-Preview-q4.gguf",
)

# Initialize plugin
plugin = LocalAIPlugin(config)

# Generate text
result = plugin.generate_text(TextGenerationParams(
    prompt="Tell me a joke",
    max_tokens=100,
))

print(result.text)
```

## Configuration

Environment variables:

- `MODELS_DIR`: Directory containing model files
- `CACHE_DIR`: Directory for caching
- `LOCAL_SMALL_MODEL`: Filename of small model
- `LOCAL_LARGE_MODEL`: Filename of large model
- `LOCAL_EMBEDDING_MODEL`: Filename of embedding model
- `LOCAL_EMBEDDING_DIMENSIONS`: Embedding vector dimensions (default: 384)

## License

MIT



