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 Dinnovos, OpenAILLM

# Create an LLM interface
llm = OpenAILLM(api_key="your-api-key", model="gpt-4")

# Create a Dinnovos agent
dinnovos = Dinnovos(
    llm=llm,
    system_prompt="You are a helpful assistant."
)

# Chat with your agent
response = dinnovos.chat("Hello! What can you do?")
print(response)

Examples

Using Different LLMs

from dinnovos import Dinnovos, OpenAILLM, AnthropicLLM, GoogleLLM

# OpenAI
openai_llm = OpenAILLM(api_key="sk-...", model="gpt-4")
dinnovos_gpt = Dinnovos(llm=openai_llm)

# Anthropic Claude
anthropic_llm = AnthropicLLM(api_key="sk-ant-...", model="claude-sonnet-4-5-20250929")
dinnovos_claude = Dinnovos(llm=anthropic_llm)

# Google Gemini
google_llm = GoogleLLM(api_key="...", model="gemini-1.5-pro")
dinnovos_gemini = Dinnovos(llm=google_llm)

Custom System Prompt

dinnovos = Dinnovos(
    llm=llm,
    system_prompt="You are an expert Python programmer.",
    max_history=20  # Keep last 20 messages
)

response = dinnovos.chat("Explain decorators in Python")

Managing Conversation

# Get conversation history
history = dinnovos.get_history()

# Reset conversation
dinnovos.reset()

# Change system prompt
dinnovos.set_system_prompt("You are now a math tutor.")

API Reference

Dinnovos Class

Dinnovos(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.1.0.tar.gz (7.8 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.1.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dinnovos_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 7.8 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.1.0.tar.gz
Algorithm Hash digest
SHA256 6b114199973a1edeb8204a8230daec38c64038f164a8cf86473912d7d6925c1f
MD5 73ea506db1a007fa5109bbd07b1a91bb
BLAKE2b-256 080c6b8db538ff8d8ebc3a1f2dca9f5aa126856c8f86e90a6a86f3df9a6a02d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dinnovos_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fef4a1cb468a434abb9b11d7116466e8cbe24bcf98aca513707cbd950cd8ef6c
MD5 91ab631f27da81e529f73dd8d4970b0d
BLAKE2b-256 e9214499cc2fbc50c58a99e7d083152d958dd59a537a78d0138982e560314046

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