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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_foundation_kit-0.1.3.tar.gz.
File metadata
- Download URL: ai_foundation_kit-0.1.3.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c5b89715899f87ae562865dde261347f07a6e8c48f11ac7bd9d557ea0631c38
|
|
| MD5 |
ed29c71244019d4b0dd6c3b75fe52750
|
|
| BLAKE2b-256 |
4a7ae34dabfdeaeda4799d1c9b7a5458c82c0f2386a440c08f965603a19bb006
|
File details
Details for the file ai_foundation_kit-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ai_foundation_kit-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5870c623bcc0f1963a21e8ca265869683a79449e72b5676ca0af0df89062a84c
|
|
| MD5 |
3978b7539a0f893e5f5220c1feaccaf5
|
|
| BLAKE2b-256 |
4c1fcce52099c291d2a7d9f5531979385e237e2e0be5b69124cab67fdae3912d
|