Minimalist Library for programming with LLMs
Project description
MiniLLMLib
Installation
pip install minillmlib
# For HuggingFace/local models: (Beta - not well tested)
pip install minillmlib[huggingface]
A Python library for interacting with various LLM providers (OpenAI, Anthropic, Mistral, HuggingFace, through URL).
Author: Quentin Feuillade--Montixi
Installation
From Source
git clone https://github.com/qfeuilla/MiniLLMLib.git
cd MiniLLMLib
pip install -e . # Install in editable mode
Usage
import minillmlib as mll
# Create a GeneratorInfo for your model/provider
import os
gi = mll.GeneratorInfo(
model="gpt-4",
_format="openai",
api_key=os.getenv("OPENAI_API_KEY") # Recommended: use env var for secrets
)
# Create a chat node (conversation root)
chat = mll.ChatNode(content="Hello!", role="user")
# Synchronous completion
response = chat.complete_one(gi)
print(response.content)
# Or asynchronous version
# response = await chat.complete_one_async(gi)
Features
- Unified interface for major LLM providers:
- OpenAI, Anthropic, Mistral, HuggingFace (local), custom URL (e.g. OpenRouter)
- Thread (linear) and loom (tree/branching) conversation modes
- Synchronous & asynchronous API
- Audio completions (OpenAI audio models, beta)
- Flexible parameter/config management via
GeneratorInfoandGeneratorCompletionParameters - Save/load conversation trees
- Extensible: add new models/providers easily
Documentation
- See the Usage Guide for advanced usage, parameter tables, and branching/loom semantics.
- See the Provider Matrix for supported models and configuration tips.
- See Troubleshooting for common issues and debugging.
Configuration
- Set API keys as environment variables for security (see the Configuration Guide).
Development & Contribution
- Run tests with:
pytest tests/ - See Contributing for contribution guidelines.
For more, see the full documentation at minillmlib.readthedocs.io or open an issue on GitHub if you need help.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
minillmlib-0.2.1.tar.gz
(46.6 kB
view details)
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 minillmlib-0.2.1.tar.gz.
File metadata
- Download URL: minillmlib-0.2.1.tar.gz
- Upload date:
- Size: 46.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb9b37275b8b41f87494319f144b514121c54d9d2a975ce687ad98fccf00730c
|
|
| MD5 |
e2f46480721c6569f0f645669f261118
|
|
| BLAKE2b-256 |
90fefd3fdd319645906b3e79f077e9682ed130db7132760ac4e905ae3e1a3ac4
|
File details
Details for the file minillmlib-0.2.1-py3-none-any.whl.
File metadata
- Download URL: minillmlib-0.2.1-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
352792f6b0927f75e91ad142d2d41f11c0dfa05c29b4b666322e954960640035
|
|
| MD5 |
05e729e1c46556a22cff6c19b706bc28
|
|
| BLAKE2b-256 |
d85d9c511beb8fcc985dddb5279c95d3d48179fa70f8a22889819defb18a492e
|