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.4.1.tar.gz (31.3 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.4.1-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dinnovos_agent-0.4.1.tar.gz
  • Upload date:
  • Size: 31.3 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.4.1.tar.gz
Algorithm Hash digest
SHA256 9d53cfd8d5b1f15c7a68f67156e06f61034fab8d3e8181ba256158ec87ac9544
MD5 4e99939d017ed565f6b437b40b1045e5
BLAKE2b-256 75419778c156cc2d6f5df61e3be8107d5de9b166454540947fb7778d6d8d6f43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dinnovos_agent-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 33.9 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.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3e4abe98a373af21501ca700eae90366214a4d9e0869fcb899fcd769eb371329
MD5 b17b522d615613c34688cdbb968b4b0b
BLAKE2b-256 191141a0de256f236c0553a66faec1d64b46e3a706c78216a98e9f30dfb86b1b

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