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.4.tar.gz (34.5 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.4-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dinnovos_agent-0.5.4.tar.gz
  • Upload date:
  • Size: 34.5 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.4.tar.gz
Algorithm Hash digest
SHA256 75e7fd8591a766f3a0a56b92d3e0954a4db13f9048425459691a18f8e4e8e482
MD5 6bc1fd060daa03fbaee76c73fad1018d
BLAKE2b-256 0c583d8efef56e0a3cf84525414e4f0e550558262c1e0e82e92eee1bd96e2539

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dinnovos_agent-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 38.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fcdf9c20a54c8b7c6a883857c19e6ca71d6a9c9b768fa4ee17b9449b85b2b7f7
MD5 a2d42f2db899bbc393d56906d40c50cb
BLAKE2b-256 d4fd48aef78354e35b39ecaedec32a7cf3c0fab049ac202689106a4598c8c664

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