Skip to main content

A micro-framework for building with LLMs, inspired by LangChain.

Reason this release was yanked:

unstable

Project description

Mini-Chain

Mini-Chain is a micro-framework for building applications with Large Language Models, inspired by LangChain. Its core principle is transparency and modularity, providing a "glass-box" design for engineers who value control and clarity.

Core Features

  • Modular Components: Swappable classes for Chat Models, Embeddings, Memory, and more.
  • Local & Cloud Ready: Supports both local models (via LM Studio) and cloud services (Azure).
  • Modern Tooling: Built with Pydantic for type-safety and Jinja2 for powerful templating.
  • GPU Acceleration: Optional faiss-gpu support for high-performance indexing.

Installation

pip install minichain-ai
#For Local FAISS (CPU) Support:
pip install minichain-ai[local]
#For NVIDIA GPU FAISS Support:
pip install minichain-ai[gpu]
#For Azure Support (Azure AI Search, Azure OpenAI):
pip install minichain-ai[azure]
#To install everything:
pip install minichain-ai[all]

Quick Start Here is the simplest possible RAG pipeline with Mini-Chain:

pip install minichain-ai[local]

from minichain.rag_runner import create_rag_from_files

# Load knowledge from files
rag = create_rag_from_files(
    file_paths=["path/manual.txt", "README.md"],
    system_prompt="You are a documentation assistant.",
    chunk_size=500,
    retrieval_k=3
)
rag.run_chat()

To Read the full directory

from minichain.rag_runner import create_rag_from_directory

# Load all Python files from a directory
rag = create_rag_from_directory(
    directory="./src",
    file_extensions=['.py', '.md'],
    system_prompt="You are a code assistant."
)
rag.run_chat()

Custom RAG Configuration

from minichain.rag_runner import RAGRunner, RAGConfig

config = RAGConfig(
    knowledge_texts=["Your knowledge here..."],
    knowledge_files=["file1.txt", "file2.md"],
    
    # Chunking settings
    chunk_size=1000,
    chunk_overlap=200,
    
    # Retrieval settings
    retrieval_k=4,
    similarity_threshold=0.7,  # Only include high-similarity results
    
    # Chat settings
    system_prompt="Custom system prompt...",
    conversation_keywords=["custom", "keywords", "for", "conversation", "detection"],
    
    # Components (optional - uses defaults if not provided)
    chat_model=None,  # Will use LocalChatModel
    embeddings=None,  # Will use LocalEmbeddings
    text_splitter=None,  # Will use RecursiveCharacterTextSplitter
    vector_store=None,  # Will create FAISSVectorStore
    
    debug=True  # Enable debug output
)

rag = RAGRunner(config).setup()
rag.run_chat()

Using Custom Components

from minichain.rag_runner import RAGConfig, RAGRunner
from minichain.chat_models import LocalChatModel, LocalChatConfig
from minichain.embeddings import LocalEmbeddings
from minichain.text_splitters import RecursiveCharacterTextSplitter

# Custom components
custom_model = LocalChatModel(LocalChatConfig(temperature=0.7))
custom_embeddings = LocalEmbeddings()
custom_splitter = RecursiveCharacterTextSplitter(chunk_size=800)

config = RAGConfig(
    knowledge_texts=["Your knowledge..."],
    chat_model=custom_model,
    embeddings=custom_embeddings,
    text_splitter=custom_splitter,
)

rag = RAGRunner(config).setup()
rag.run_chat()

for azure pip install minichain-ai[azure]

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

minichain_ai-7.0.0.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

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

minichain_ai-7.0.0-py3-none-any.whl (57.3 kB view details)

Uploaded Python 3

File details

Details for the file minichain_ai-7.0.0.tar.gz.

File metadata

  • Download URL: minichain_ai-7.0.0.tar.gz
  • Upload date:
  • Size: 44.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for minichain_ai-7.0.0.tar.gz
Algorithm Hash digest
SHA256 fb48d3469f0394cc3fa1b3be84436bb493029e3704708132bc2fe525f0b7c29a
MD5 17831b81d5704d518f55876b46afa193
BLAKE2b-256 fac1238027837560795bd471003644c92c294e3ba7e9dec29b73e333dd449fae

See more details on using hashes here.

File details

Details for the file minichain_ai-7.0.0-py3-none-any.whl.

File metadata

  • Download URL: minichain_ai-7.0.0-py3-none-any.whl
  • Upload date:
  • Size: 57.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for minichain_ai-7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 204b4733a431fa24702a3d3074341420f4013893c17e6f8332b3e1c1e87e3c90
MD5 a2bdf6f147caf3f1d9964406a86801ba
BLAKE2b-256 5c88c505f919735df394a9bf69f3b89f2bb9b0f3bab9fbf2ab3cb577cdfc8bde

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