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.0.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.0.tar.gz.
File metadata
- Download URL: minillmlib-0.2.0.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 |
3223621f46c0605839d9326f4b034cbe7d594d2a14668f4b8a2425b9c87d848c
|
|
| MD5 |
8ddf2b7a1af6f768c16464c3c8ab2161
|
|
| BLAKE2b-256 |
e076a0ab78d0f71d29fc4ea38ca4456612aaae5bb53302c4dbfb69b6ab72c7c6
|
File details
Details for the file minillmlib-0.2.0-py3-none-any.whl.
File metadata
- Download URL: minillmlib-0.2.0-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 |
5a9d9e487bbb3fc7c672f861e9870ae36f115cd7704ccf5f762f19a02e2939e4
|
|
| MD5 |
443ff59e61ce520f43b23ccea3aebf5d
|
|
| BLAKE2b-256 |
4e04d98d461ed182716ec49399aa133a2c0acb014fc250feb93b74af776b65e5
|