Skip to main content

MonoAI - The complete framework to build AI-powered applications

Project description

MonoAI

alt text

The complete framework to build AI-powered applications

MonoAI is a Python library that enables structured, standardized, and efficient interactions with multiple AI models, harnessing their collective intelligence to deliver richer, more accurate responses.


🚀 Quick Start

Prompts

In MonoAI, a prompt is the request you send to a model.
You can define prompts in three different ways:


1. Plain Text

Directly write the prompt inside the ask method:

from MonoAI.models import Model

model = Model()
response = model.ask("What is 2 + 2?")

2. Prompt Class

Use the Prompt class to enhance your prompts with additional parameters such as response types, chaining, and iteration control:

from MonoAI.models import Model
from MonoAI.prompts import Prompt

model = Model()
prompt = Prompt("What is 2 + 2?", response_type=int)
response = model.ask(prompt)

3. .prompt Files

Store prompts in external .prompt files to separate your codebase from content logic.

Example - sum.prompt:

What is 2 + 2?
from MonoAI.models import Model
from MonoAI.prompts import Prompt

model = Model()
prompt = Prompt(prompt_id="sum", response_type=int)
response = model.ask(prompt)

You can also define additional metadata using an XML-like syntax inside .prompt files:

Example with metadata:

# sum.prompt
<prompt response_type="int">
What is 2 + 2?
</prompt>

Models

MonoAI provides multiple model interfaces to handle different use cases, from basic generation to multi-model aggregation:


Model

The standard interface for interacting with a single AI model.


MultiModel

Send a prompt to multiple models asynchronously and retrieve their individual outputs:

from MonoAI.models import MultiModel

model = MultiModel(models=[
    {"provider": "openai", "model": "gpt-4o"},
    {"provider": "deepseek", "model": "chat"}
])
response = model.ask("What is the capital of Italy?")

CollectiveModel

Send a prompt to multiple models and aggregate their outputs using a separate aggregator model for a richer, consolidated answer:

from MonoAI.models import CollectiveModel

model = CollectiveModel(
    models=[
        {"provider": "openai", "model": "gpt-4o"},
        {"provider": "deepseek", "model": "chat"}
    ],
    aggregator={"provider": "openai", "model": "gpt-4o"}
)
response = model.ask("What is the capital of Italy?")

AutoModel

Automatically select the best model for a given prompt based on configuration or inference:

from MonoAI.models import AutoModel

model = AutoModel()
response = model.ask("What is the capital of Italy?")

🔑 API Key Management

MonoAI simplifies API key management through a providers.keys file in the root directory.
Each line should follow this format:

PROVIDER_NAME=API_KEY

Example providers.keys:

OPENAI=sk-proj-ABCDE12345
DEEPSEEK=sk-proj-FGHIJ67890

MonoAI automatically loads these keys at runtime — no extra setup needed.


⚙️ Configuration

Configure MonoAI globally via a monoai.yaml file.
Supported fields:

Field Description Default
prompts_path Directory where .prompt files are stored "" (current folder)
keysfile_path Path to the API keys file "providers.keys"
base_model Default model to use when no model is specified None

Example monoai.yaml:

prompts_path: prompts
keysfile_path: providers.keys
base_model:
  provider: openai
  model: gpt-4o-mini

📚 Documentation

Full documentation is available at:
👉 MonoAI Documentation

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

monoai-0.0.22.tar.gz (57.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monoai-0.0.22-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file monoai-0.0.22.tar.gz.

File metadata

  • Download URL: monoai-0.0.22.tar.gz
  • Upload date:
  • Size: 57.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for monoai-0.0.22.tar.gz
Algorithm Hash digest
SHA256 fa72cc3224ab91582e56e603e3e436da1e20a5df2878a5788743ffa30ae63c39
MD5 cc2ca127d4025d249cb123c44250413d
BLAKE2b-256 f6288ca81fcdb49b1306eba19f4e302a9f261430fb6c41424db7816cd8d09223

See more details on using hashes here.

File details

Details for the file monoai-0.0.22-py3-none-any.whl.

File metadata

  • Download URL: monoai-0.0.22-py3-none-any.whl
  • Upload date:
  • Size: 72.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for monoai-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 033d4563b5fbc6e8f69c8cfbbd6c6fc5a9c3369dd2037bf539560fb49677a911
MD5 5abd83f5d7b4e12f0d88316171d04b1a
BLAKE2b-256 bfa3765e8a95bc1e76db12ba51b1a9eb5a8d730673033d14bea245f14c43123b

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