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.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.1.tar.gz (12.8 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.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_foundation_kit-0.1.1.tar.gz
  • Upload date:
  • Size: 12.8 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.1.tar.gz
Algorithm Hash digest
SHA256 fc12724a5fc899331acc76b8ea588b0b0003a9bde43c125713cf5a73c9023a88
MD5 691b8b5d5941de7618649715ff28f76f
BLAKE2b-256 b7c5559c4ef4feb6d662040cb4f5012586410a29cd77829837866600f985b890

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ai_foundation_kit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d89d9492f3a1e6e8ceb6107a3e39eb05167daee3bf5bdd7ab8866d517120cf8e
MD5 946fb1a6a5632bc29e5d338a30733a56
BLAKE2b-256 9e2f251bb7abae955f6735acc087b8c65cc3e4fce9f3e67777bd7a1ef5010fcd

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