LLM Blocks
LLM Blocks is a Python module that helps users interact with Language Learning Model (LLM) chains. It provides a simple and flexible way to create and manage LLM chains, ensuring efficient interactions with models such as OpenAI's GPT-3.5 Turbo.
Installation
First, make sure to have Python installed. Then, to install the required dependencies for this module, run the following commands:
pip install -r requirements.txt
pip install -r requirements.dev.txt
Configuration
To run the LLM Blocks, you'll need an OpenAI API key. Store your API key in a .env file or export it as an environment variable:
For a .env file:
OPENAI_API_KEY=your_openai_api_key
For environment variables:
export OPENAI_API_KEY=your_openai_api_key
Usage
The llm_blocks folder contains the main ChatUtils class, which can be utilized to create and manage your LLM chains.
Here's a simple example of using the GenericChain class:
from llm_blocks.chat_utils import GenericChain
# Create a chain with a given template
template = "The meaning of {word} is:"
my_chain = GenericChain(template)
# Call the chain with any input you desire
response = my_chain("friendship")
print(response)
Module Structure
exclude.toml: Configuration file to specify files or directories to exclude.requirements.dev.txt: Development dependencies for this module.requirements.txt: Main dependencies for this module.llm_blockschat_utils.py: Python file containing the definition of theGenericChainclass and utility functions for working with LLM chains.
Logging Responses
The GenericChain class keeps a log of all interactions with the given LLM. The log is stored as a list of dictionaries and can be accessed with my_chain.logs.
Example:
for log in my_chain.logs:
print(f'Inputs: {log["inputs"]}')
print(f'Callback: {log["callback"]}')
print(f'Response: {log["response"]}')
print(f'Response Time: {log["response_time"]}')
print('---')
Contributing
Feel free to submit pull requests, report bugs, or suggest new features through the GitHub repository. We appreciate your contributions and feedback!
License
This project is licensed under the MIT License.
Metadata
Release files for llm-blocks 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llm-blocks-0.2.4.tar.gz | 3.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llm_blocks-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / llm-blocks-0.2.4.tar.gz
| Download URL | llm-blocks-0.2.4.tar.gz |
|---|---|
| Size | 3.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a39a6b2eccbef27c2ae94c88c8b149a23b8f65d5d93a44960fb0cedc7ce376f
|
|
BLAKE2b-256 checksum How to use checksums |
dbde54c9dc04811ee5f170145bd4bdeab5a46872da4589b71e620d3cae7df49c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.1
|
Release files / llm_blocks-0.2.4-py3-none-any.whl
| Download URL | llm_blocks-0.2.4-py3-none-any.whl |
|---|---|
| Size | 3.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9566bbf60eda0a9b84f30757b4b25af648a3841f891e203e5593ea9fe1b550f5
|
|
BLAKE2b-256 checksum How to use checksums |
0933ca577fc9f0436096be66f1fcce203c1a93cc613126494aa3c65bc17c237e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.1
|