Skip to main content

RAGnificentAI - Your Magnificent RAG-Powered Chatbot Toolkit

Python RAG LLM Compatible CLI Enabled

RAGnificentAI is a Python package that enables developers to quickly build powerful chatbots with seamless tool integration and Retrieval-Augmented Generation (RAG) capabilities, supporting any OpenAI-compatible LLM.

Why RAGnificentAI?

  • LLM Agnostic - Works with Groq, OpenAI, Gemini, and any OpenAI-compatible API
  • Easy Tool Integration - Add custom functions as tools with minimal code
  • Conversation Management - Efficient short-term memory management with summarization technique
  • Prompt Customization - Flexible system and summary prompts
  • Lightweight - Minimal dependencies, maximum functionality

Installation

  1. Install using pip:
pip install RAGnificentAI

Quick Start

from RAGnificentAI import ChatAI, AgentParams

def add(x: int, y: int) -> int:
    """Add two numbers together."""
    return x + y


tools = [add]

# For OpenAI-compatible endpoints
rag = ChatAI()
chatbot = rag.initiate_chatbot(
    params=AgentParams(
        model="gpt-3.5-turbo",  # Or any other model
        api_key="your_api_key",
        base_url="https://api.openai.com/v1",  # Or your custom endpoint
        system_prompt="You are a helpful AI assistant.",
        summary_prompt="Summarize the conversation concisely.",
        thread_id='1',
        tools=tools,  # Optional
        temperature=0.7  # Optional
    )
)

while True:
    user_input = input("You (q to quit): ")
    if user_input.lower() == 'q':
        break
    response = chatbot.run(messages=user_input)
    print("AI:", response)

Configuration Options

AgentParams

Parameter Type Description Required
model str Model name (e.g. "gpt-3.5-turbo") Yes
api_key str Your API key Yes
base_url str API base URL (default: OpenAI) Yes
system_prompt str Initial system prompt Yes
summary_prompt str Prompt for conversation summaries Yes
thread_id str Conversation thread identifier Yes
user_information dict User metadata for personalization No
tools list[callable] Custom tools/functions to integrate No

Supported LLM Providers

  • OpenAI (including Azure OpenAI)
  • Groq
  • Gemini
  • Any OpenAI-compatible API (LocalAI, vLLM, etc.)
  • Anthropic Claude (via OpenAI compatibility layer)

Adding Custom Tools

def multiply(a: int, b: int) -> int:
    """Multiply two numbers together."""
    return a * b

def get_weather(city: str) -> str:
    """Get current weather for a given city."""
    return f"Weather in {city}: Sunny"

tools = [multiply, get_weather]

New CLI Interface

Example Workflow:

# First-time setup
ragnificentai configure

# Start chatting (uses saved config)
ragnificentai chat

# Override specific settings
ragnificentai chat --model gpt-4 --thread-id special-convo

CLI Features

Command Description Options
chat Start interactive chat session --model, --api-key, --base-url
configure Save default configuration (interactive wizard)
version Show package version None

Best Practices

  1. Use environment variables for API keys
  2. Include clear docstrings for your tools
  3. Use type hints for better tool understanding
  4. Keep system prompts concise but descriptive
  5. Handle sensitive user information appropriately

License

RAGnificentAI is licensed under the RAGnificentAI Custom License:

Copyright (c) 2025 [K. M. Abul Farhad-Ibn-Alam]

Permission is hereby granted to any person obtaining a copy of this software
and associated documentation files (the "Software") to use, modify, and distribute
the Software for any purpose, subject to the following conditions:

1. Redistributions must retain this copyright notice.
2. Commercial use requires written permission from the author.
3. The author is not liable for any damages arising from Software use.

All rights not expressly granted are reserved by the author.

Release files for RAGnificentAI 1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for RAGnificentAI 1.4
File Size Uploaded
ragnificentai-1.4.tar.gz 9.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for RAGnificentAI 1.4
File Interpreter ABI Platform
ragnificentai-1.4-py3-none-any.whl Python 3 none any Details

Total release size: 20.4 kB

Release files / ragnificentai-1.4.tar.gz

Download URL ragnificentai-1.4.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0117131f6a3a2fb3d5b183dcb292d77db77f7d571636fdbd8118aab353edb832
BLAKE2b-256 checksum
How to use checksums
5db6e102b0419368d51237a84de8451d31e2098257f97f2e60fa280b21d7fc9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / ragnificentai-1.4-py3-none-any.whl

Download URL ragnificentai-1.4-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be621a5a346053d6165c9c3e73e74599832bfa60cd2a0e949bd87f844cf4ce61
BLAKE2b-256 checksum
How to use checksums
6ea4c33d2fe5a7537385964b97131367840a7a129dfdb97832a4bf20170a499e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.4 This release

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page