Metadata-Version: 2.1
Name: LLMSmith
Version: 0.5.0
Summary: Lightweight Python library designed for developing functionalities powered by Large Language Models (LLMs)
Author: Dheeraj Gopinath
Author-email: dheeraj.gopinath@gmail.com
Requires-Python: >=3.9,<3.13
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all
Provides-Extra: chromadb
Provides-Extra: claude
Provides-Extra: cohere
Provides-Extra: gemini
Provides-Extra: openai
Provides-Extra: qdrant
Requires-Dist: anthropic (>=0.19.2,<0.20.0) ; extra == "claude" or extra == "all"
Requires-Dist: chromadb-client (>=0.4.25.dev0,<0.5.0) ; extra == "chromadb" or extra == "all"
Requires-Dist: cohere (>=5.3.2,<6.0.0) ; extra == "cohere" or extra == "all"
Requires-Dist: google-generativeai (>=0.4.0,<0.5.0) ; extra == "gemini" or extra == "all"
Requires-Dist: onnxruntime (>=1.17.1,<2.0.0) ; extra == "chromadb" or extra == "all"
Requires-Dist: openai (>=1.23.2,<2.0.0) ; extra == "openai" or extra == "all"
Requires-Dist: protobuf (==3.20.3) ; extra == "chromadb" or extra == "all"
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Requires-Dist: qdrant-client (>=1.8.2,<2.0.0) ; extra == "qdrant" or extra == "all"
Requires-Dist: tokenizers (>=0.15.2,<0.16.0) ; extra == "chromadb" or extra == "all"
Description-Content-Type: text/markdown

# 🧰 LLMSmith

## What is LLMSmith?

**LLMSmith** is a lightweight Python library designed for developing functionalities powered by Large Language Models (LLMs). It allows developers to integrate LLMs into various types of applications, whether they are web applications, GUI applications, or any other kind of application.

## Installation

LLMSmith does not download extra dependencies (like openai, google-generativeai, chromadb etc.) by default. This is to minimize bloat and keep your application package size in check. The recommended way to install LLMSmith is by specifying the extra dependencies explicitly.

For example, if your project is using an OpenAI LLM and Chroma DB vector database, install LLMSmith using the below command.

```
pip install "llmsmith[openai,chromadb]"
```

The above command ensures that only the required dependencies (openai and chromadb clients in this case) are downloaded. The rest are ignored, thus reducing the package size.

Here's the list of extra dependencies supported by LLMSmith:
- `openai`
- `claude`
- `gemini`
- `chromadb`
- `qdrant`
- `cohere`
- `all` (downloads all extra dependencies)

## Example

Refer [this](https://llmsmith.readthedocs.io/en/latest/examples.html) page from the documentation to see examples on how LLMSmith can be used to build LLM powered functionalities.

## Documentation

An extensive documentation for LLMSmith is hosted in Read the Docs here - [https://llmsmith.readthedocs.io/en/latest](https://llmsmith.readthedocs.io/en/latest)

