🦖 Dinnovos Agent
Agile AI Agents with Multi-LLM Support
Dinnovos Agent is a lightweight Python framework for building AI agents that can seamlessly switch between different Large Language Models (OpenAI, Anthropic, Google).
Features
- 🔄 Multi-LLM Support: OpenAI (GPT), Anthropic (Claude), Google (Gemini)
- 🎯 Simple API: Intuitive interface for building conversational agents
- 💾 Context Memory: Automatic conversation history management
- 🔌 Extensible: Easy to add new LLM providers
- 🪶 Lightweight: Minimal dependencies, maximum flexibility
Installation
Basic Installation
pip install dinnovos-agent
With specific LLM support
# For OpenAI only
pip install dinnovos-agent[openai]
# For Anthropic only
pip install dinnovos-agent[anthropic]
# For Google only
pip install dinnovos-agent[google]
# For all LLMs
pip install dinnovos-agent[all]
For development
pip install dinnovos-agent[dev]
Quick Start
from dinnovos import Agent, OpenAILLM
# Create an LLM interface
llm = OpenAILLM(api_key="your-api-key", model="gpt-4")
# Create an Agent
agent = Agent(
llm=llm,
system_prompt="You are a helpful assistant."
)
# Chat with your agent
response = agent.chat("Hello! What can you do?")
print(response)
Examples
Using Different LLMs
from dinnovos import Agent, OpenAILLM, AnthropicLLM, GoogleLLM
# OpenAI
openai_llm = OpenAILLM(api_key="sk-...", model="gpt-4")
agent_gpt = Agent(llm=openai_llm)
# Anthropic Claude
anthropic_llm = AnthropicLLM(api_key="sk-ant-...", model="claude-sonnet-4-5-20250929")
agent_claude = Agent(llm=anthropic_llm)
# Google Gemini
google_llm = GoogleLLM(api_key="...", model="gemini-1.5-pro")
agent_gemini = Agent(llm=google_llm)
Custom System Prompt
agent = Agent(
llm=llm,
system_prompt="You are an expert Python programmer.",
max_history=20 # Keep last 20 messages
)
response = agent.chat("Explain decorators in Python")
Managing Conversation
# Get conversation history
history = agent.get_history()
# Reset conversation
agent.reset()
# Change system prompt
agent.set_system_prompt("You are now a math tutor.")
API Reference
Agent Class
Agent(llm: BaseLLM, system_prompt: str = None, max_history: int = 10)
Methods:
chat(message: str, temperature: float = 0.7) -> str: Send a message and get responsereset(): Clear conversation historyget_history() -> List[Dict]: Get conversation historyset_system_prompt(prompt: str): Change system prompt and reset
LLM Interfaces
OpenAILLM(api_key: str, model: str = "gpt-4")
AnthropicLLM(api_key: str, model: str = "claude-sonnet-4-5-20250929")
GoogleLLM(api_key: str, model: str = "gemini-1.5-pro")
Requirements
- Python 3.8+
- Optional:
openai,anthropic,google-generativeai(based on which LLMs you use)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details
Links
Support
If you encounter any issues or have questions, please file an issue on GitHub. '''
Metadata
Release files for dinnovos-agent 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dinnovos_agent-0.7.0.tar.gz | 42.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dinnovos_agent-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 86.6 kB
Release files / dinnovos_agent-0.7.0.tar.gz
| Download URL | dinnovos_agent-0.7.0.tar.gz |
|---|---|
| Size | 42.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4245132920dda6404312f6514b5efee277acbaa2fe2abe016dd8189649161a11
|
|
BLAKE2b-256 checksum How to use checksums |
125993ca5cb898c3a18ad940e8388e53029c02287aa08590d11afff7c690df05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / dinnovos_agent-0.7.0-py3-none-any.whl
| Download URL | dinnovos_agent-0.7.0-py3-none-any.whl |
|---|---|
| Size | 44.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f18af0a64a2673532e3811543f1382817b01691236146c986dea12ac876f991
|
|
BLAKE2b-256 checksum How to use checksums |
fde63ccc624ebd8cd15e5ed9eaa116696014f596611f50d429bec90ad744ddd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|