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/aignishant/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.4 Update: Maintenance release.
Core: Same stable features as v0.1.1.
v0.1.3 Update: Bumped version due to PyPI conflict.
Core: Same stable features as v0.1.1.
v0.1.1 Update: Config/Readme update (Stable).
Core: Includes base (File/Key Utils), rag (Model Loading), logging, exceptions.
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.5.tar.gz (12.6 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.5-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_foundation_kit-0.1.5.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_foundation_kit-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ae3f1c064c06d0ff63ccb49a898eda016bd490370dffb5808a26a13161b7471c
MD5 959e2ef1194d3ae9ba9597ae56142bc0
BLAKE2b-256 805415ad8dd665549dc363962f7bcfb014e2e3499748f998e38788d8da9c672e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ai_foundation_kit-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 13fd83d3066e4199a1302d436e43a43664790f0cc4564629104660515ed61646
MD5 45ae0ec11665052525df84024244a128
BLAKE2b-256 c8f380e1d83bcedccc713109705c8890035d4fb1d932dda42a3859a69ccd8a8c

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