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.5.0.tar.gz (34.2 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.5.0-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dinnovos_agent-0.5.0.tar.gz
  • Upload date:
  • Size: 34.2 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.5.0.tar.gz
Algorithm Hash digest
SHA256 4f8c36c1358a6513d0df300376f437d40b05594bdb6ea506712aac27ad6cbdeb
MD5 09a0d21f425b491a1e6e5c8c89dec1a7
BLAKE2b-256 47c1a95dd1aa89757deff0cb8b8ceaeb2bde75455841964621856f15c1347da6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dinnovos_agent-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 37.1 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3a881636437070a4eb4801eccc3b163e1d8380f24047286a90562e44509243e
MD5 128f2add56213a306e35d7a8071a0c5a
BLAKE2b-256 c32b49bdbbfa26249a814bc03623fbac599dd0942ab7cb050fa6e2ef48104fb8

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