A modular AI API/chat manager supporting multiple backends
Project description
AI Chat Manager
A comprehensive Python package for managing AI-powered chat conversations with support for multiple backends, enhanced features, and extensible architecture.
Features
- Multiple AI Backends: Support for OpenAI, Venice AI, HuggingFace, ElevenLabs, and more
- Streaming Support: Real-time streaming responses
- Function Calling: Advanced function calling capabilities
- Vision Support: Image understanding with compatible models
- Audio Generation: Text-to-speech with ElevenLabs
- Conversation Management: Persistent conversation history with smart context handling
- Rate Limiting: Built-in rate limiting and retry logic
- Error Handling: Comprehensive error handling and conversion
- CLI Interface: Easy-to-use command line interface
- Extensible: Plugin architecture for adding new backends
Installation
pip install cybercore-ai-chat-manager
Quick Start
from ai_chat_manager import ChatManager, Config
from ai_chat_manager.backends import OpenAIBackend
# Create configuration
config = Config()
config.add_backend("openai", {
"api_key": "your-openai-api-key",
"model": "gpt-3.5-turbo"
})
# Create chat manager
manager = ChatManager(config)
# Start a conversation
response = await manager.chat("Hello, how are you?", backend="openai")
print(response.content)
Project Structure
ai_chat_manager/
├── __init__.py # Main package init
├── core/
│ ├── __init__.py
│ ├── types.py # Core type definitions
│ ├── exceptions.py # Exception definitions
│ ├── config.py # Configuration management
│ ├── bot.py # Bot implementation
│ └── manager.py # Chat manager
├── backends/
│ ├── __init__.py # Backend registry
│ ├── base.py # Base backend class
│ ├── openai_backend.py
│ ├── venice_backend.py
│ ├── huggingface_backend.py
│ └── elevenlabs_backend.py
├── cli/
│ ├── __init__.py
│ ├── main.py # Main CLI
│ └── wrapper.py # CLI wrapper
├── utils/
│ ├── __init__.py
│ └── helpers.py # Utility functions
└── examples/
├── basic.py
└── advanced.py
Backend Support
OpenAI
- GPT-3.5, GPT-4, and all variants
- Function calling
- Vision support (GPT-4V)
- Streaming responses
Venice AI
- Privacy-focused AI platform
- Anonymous and censorship-resistant
- OpenAI-compatible API
- Enhanced privacy controls
HuggingFace
- Inference API support
- Local model support
- Wide variety of open-source models
- Custom model hosting
ElevenLabs
- High-quality text-to-speech
- Voice cloning
- Multiple voice models
- Streaming audio generation
Configuration
The package uses a comprehensive configuration system:
from ai_chat_manager.core.config import Config, BackendConfig
config = Config()
# Add OpenAI backend
openai_config = BackendConfig(
name="openai",
backend_type="openai",
api_key="your-api-key",
model="gpt-4",
max_tokens=2000,
temperature=0.7
)
config.add_backend_config(openai_config)
Error Handling
The package provides comprehensive error handling:
from ai_chat_manager.core.exceptions import (
BackendError, AuthenticationError, RateLimitError,
ModelNotFoundError, QuotaExceededError
)
try:
response = await manager.chat("Hello")
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded")
except BackendError as e:
print(f"Backend error: {e}")
CLI Usage
# Initialize configuration
ai-chat-manager init
# Basic commands (all three work identically)
ai-chat-manager --help
acm --help
chat-manager --help
# Backend management
ai-chat-manager backend add openai
ai-chat-manager backend list
# Bot management
ai-chat-manager bot create assistant
ai-chat-manager bot list
# Start chatting
ai-chat-manager chat assistant
# System status
ai-chat-manager status
ai-chat-manager doctor
Examples
See the examples/ directory for more detailed usage examples:
basic.py: Simple chat interactionsadvanced.py: Advanced features like function calling, streaming, and conversation management
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
Version 1.0.0
- Initial release
- Support for OpenAI, Venice AI, HuggingFace, and ElevenLabs
- Comprehensive configuration system
- CLI interface with three command aliases:
ai-chat-manager,acm,chat-manager - Error handling and retry logic
- Conversation management
- Streaming support
- Function calling
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
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 cybercore_ai_chat_manager-1.0.3.tar.gz.
File metadata
- Download URL: cybercore_ai_chat_manager-1.0.3.tar.gz
- Upload date:
- Size: 116.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd1b583254dd0e238d071d3f67b397140f992d832552b18b3e3328de28381539
|
|
| MD5 |
f9a6e4f67f1192f0fb8feee6b2b41725
|
|
| BLAKE2b-256 |
9a5b12dd9e0469fa73aaff244ed00e28a22b9e6f77d727edbed8d11a3058a20e
|
File details
Details for the file cybercore_ai_chat_manager-1.0.3-py3-none-any.whl.
File metadata
- Download URL: cybercore_ai_chat_manager-1.0.3-py3-none-any.whl
- Upload date:
- Size: 127.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e45f01ba2bfad678dd826e4a4a2cde4e07130009cc593e3619f7c78180477faa
|
|
| MD5 |
7fba362960fb9f8c2dd40df8a8cd2335
|
|
| BLAKE2b-256 |
7bfe4faa05c5c1c1742d606995f59e64d5fe4bf8f23d2a02f778736e3e1acc4b
|