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-gpusupport 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]
Release files for fady 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fady-0.0.1.tar.gz | 30.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fady-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.0 kB
Release files / fady-0.0.1.tar.gz
| Download URL | fady-0.0.1.tar.gz |
|---|---|
| Size | 30.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43b2a3d7970fb59b798c2bbe0f545fbbb3d084a6550c4ab1879b2c7ea66498cf
|
|
BLAKE2b-256 checksum How to use checksums |
3e33e1775052d4f90ea9f58500cdaad0fc86d4849721da094a0b0ed2fece2d21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.18
|
Release files / fady-0.0.1-py3-none-any.whl
| Download URL | fady-0.0.1-py3-none-any.whl |
|---|---|
| Size | 41.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
409c9f65123c9a1724ea6294c0f76e98f965b955de2179bb29967211423ba2de
|
|
BLAKE2b-256 checksum How to use checksums |
561880a8bfc75fca6c2bac66236adaba37d3f9979df8e6855869a72cd1e9e842
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.18
|