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.7.0.tar.gz (42.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.7.0-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dinnovos_agent-0.7.0.tar.gz
  • Upload date:
  • Size: 42.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.7.0.tar.gz
Algorithm Hash digest
SHA256 4245132920dda6404312f6514b5efee277acbaa2fe2abe016dd8189649161a11
MD5 1c1d716ed473daacbc17598342b25858
BLAKE2b-256 125993ca5cb898c3a18ad940e8388e53029c02287aa08590d11afff7c690df05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dinnovos_agent-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 44.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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f18af0a64a2673532e3811543f1382817b01691236146c986dea12ac876f991
MD5 06e984d934a866c5d613bd6136fe0bce
BLAKE2b-256 fde63ccc624ebd8cd15e5ed9eaa116696014f596611f50d429bec90ad744ddd0

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