Skip to main content

Common utilities for AI projects including logging and exceptions

Project description

🏗️ AI Foundation Kit

The Professional / Development-First Standard for AI/ML Applications

ai-foundation-kit is an enterprise-grade Python library designed to provide the bedrock for building scalable, robust, and maintainable AI systems. It unifies core utilities—logging, exception handling, file management, model loading, and configuration—under a single, cohesive namespace: AIFoundationKit.

Designed for: RAG, Generative AI, Agentic Workflows, Deep Learning, and Machine Learning.


📦 Installation

From PyPI (Recommended)

pip install ai-foundation-kit

From Source (Development)

git clone https://github.com/your-repo/ai-foundation-kit.git
cd ai-foundation-kit
pip install -e .

🏛️ Package Architecture

The package is structured under the AIFoundationKit namespace. Each submodule targets a specific domain of AI application development.

Module Import Path Description Key Components
Base AIFoundationKit.base The Core Foundation. Essential utilities required by every application. BaseFileManager, ApiKeyManager, AppException, Logger
RAG AIFoundationKit.rag Retrieval-Augmented Generation. Tools for LLM loading and prompting. ModelLoader, BaseProvider, GenericPrompts
GenAI AIFoundationKit.genai Generative AI. (Upcoming) Specialized tools for image/video generation. Planned
Agentic AIFoundationKit.agentic Agentic AI. (Upcoming) Frameworks for autonomous agents. Planned
ML AIFoundationKit.ml Machine Learning. (Upcoming) Scikit-learn wrappers & utilities. Planned
DL AIFoundationKit.dl Deep Learning. (Upcoming) Torch/Tensorflow helpers. Planned

🛠️ Usage Guide

1. File Management (AIFoundationKit.base)

Stop writing boilerplate file readers. Use the BaseFileManager to handle PDFs, DOCX, JSON, and more seamlessly.

from AIFoundationKit.base.file_manager import BaseFileManager

file_manager = BaseFileManager()

# Read ANY file type (PDF, DOCX, CSV, TXT, etc.)
content = file_manager.read_file("path/to/document.pdf")
print(content[:100])

# Save files (handling bytes or file-like objects)
saved_path = file_manager.save_file(
    file_obj=b"Binary data", 
    save_dir="data/uploads", 
    file_name="invoice.pdf"
)

2. Model Loading (AIFoundationKit.rag)

Instantly switch between Google Gemini, Groq, or your own custom providers without changing application logic.

from AIFoundationKit.rag.model_loader import ModelLoader

# Initialize (loads config.yaml automatically or uses defaults)
loader = ModelLoader()

# Load LLM (Gemini Pro by default or configured)
llm = loader.load_llm(model_name="gemini-1.5-pro")

# Load Embeddings
embeddings = loader.load_embeddings()

# Use in LangChain
chain = prompt | llm

3. API Key Management (AIFoundationKit.base)

Securely manage keys from Environment Variables or Secret Stores.

from AIFoundationKit.base.model import ApiKeyManager

key_mgr = ApiKeyManager()
google_key = key_mgr.get("GOOGLE_API_KEY")

4. Enterprise Logging & Exceptions

Standardized structured logging and error handling.

from AIFoundationKit.base.logger.custom_logger import logger
from AIFoundationKit.base.exception.custom_exception import AppException

try:
    logger.info("Starting process", extra={"user_id": "12345"})
    # ... logic ...
except Exception as e:
    # Auto-wraps with standard error codes
    raise AppException(f"Process failed: {str(e)}") from e

🔮 Futuristic Example: The Agentic Workflow

Here is a glimpse of how you can build an autonomous file analysis agent using AIFoundationKit.

from AIFoundationKit.base.file_manager import BaseFileManager
from AIFoundationKit.rag.model_loader import ModelLoader
from AIFoundationKit.rag.prompts import get_generic_prompt

async def run_autonomous_analyst(file_path: str):
    # 1. Perception: Read the File
    fm = BaseFileManager()
    file_content = fm.read_file(file_path)
    
    # 2. Brain: Initialize Neural Core (LLM)
    loader = ModelLoader()
    llm = loader.load_llm(provider="groq", model_name="llama-3.3-70b-versatile")
    
    # 3. Cognition: Analyze with Generic Prompt
    analysis_prompt = get_generic_prompt("summary")
    chain = analysis_prompt | llm
    
    result = chain.invoke({"input_text": file_content})
    
    print("🤖 Analyst Report:")
    print(result.content)

# Execution
# await run_autonomous_analyst("contracts/q4_financials.pdf")

📝 Changelog

Version Changes
v0.1.0 Initial Release: Fresh launch of ai-foundation-kit (Stable).
Core: Includes base (File/Key Utils), rag (Model Loading), logging, exceptions.

License

MIT License

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

ai_foundation_kit-0.1.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

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

ai_foundation_kit-0.1.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file ai_foundation_kit-0.1.0.tar.gz.

File metadata

  • Download URL: ai_foundation_kit-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ai_foundation_kit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59792a40f6ffa9dfdbb2a352b0f70639827410d689a46193183a9b990f9efaaa
MD5 40a743d35fb776eac94da11b1ab4557b
BLAKE2b-256 4b075fb01817c0e4affa68efac5554d190d9d043dbda81472ffb266e0bfe8f5d

See more details on using hashes here.

File details

Details for the file ai_foundation_kit-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_foundation_kit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d77a5413009946ed994513c29b73ea94a74780a515f6430130eb2cdc94b6a1f2
MD5 3037c8925d0409002b628a1ecb7f19a7
BLAKE2b-256 c83d5a9391c38048e2cb9b2159c1da5d34eb7b7803a5b5a1826e455ff4ead0b2

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