Skip to main content

Dinnovos Agent - Agile AI Agents with multi-LLM support

Project description

🦖 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 response
  • reset(): Clear conversation history
  • get_history() -> List[Dict]: Get conversation history
  • set_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. '''

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

dinnovos_agent-0.3.0.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

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

dinnovos_agent-0.3.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file dinnovos_agent-0.3.0.tar.gz.

File metadata

  • Download URL: dinnovos_agent-0.3.0.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for dinnovos_agent-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8483d5f70a824d72764bfa33c4529478ce2011cb99456abaa74a0479d64bd7d9
MD5 349594730c7e51f8b1fbeb4a3e189dcd
BLAKE2b-256 065651ec38f1ec7fc23658723e6bcae5cf63cb4b585cab2bae79e32724572f1d

See more details on using hashes here.

File details

Details for the file dinnovos_agent-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: dinnovos_agent-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for dinnovos_agent-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 060bd6d6bb5dd08242d7a57aa12865404249785a569a8a5774ee0ea11ca44082
MD5 93abb7fa0b541c1dd1c5a489265fe408
BLAKE2b-256 5912ea978ead0b4b4a775ab746e37d7f116b1bd2f0f225f6b5ffef264c286247

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