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.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.2.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.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_foundation_kit-0.1.2.tar.gz
  • Upload date:
  • Size: 12.6 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.2.tar.gz
Algorithm Hash digest
SHA256 1f1dd3849662ecb20026e774282201521480a3b8bfc799fd40fe739c5b1858a9
MD5 fbe3b07c65166a86f53744ee857d70d1
BLAKE2b-256 775c4521d8d725f01bb46a65fd0c4efe4c5eec9822941c48dd4a3e7bdbf76fdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ai_foundation_kit-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b7b2b68a8e8ad39592cb46b4acb9a7a49c849ac2d54aeb64796ff3d09178c545
MD5 a4cb2f1eca057557daeeafa873881528
BLAKE2b-256 760192d4707865c6e1b466e303503fd72095ff80ccb5be9eaef09e277a478b5e

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