Skip to main content

Simple interface for creating and managing LLM chains

Project description

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_blocks
    • chat_utils.py: Python file containing the definition of the GenericChain class 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm-blocks-0.2.0.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

llm_blocks-0.2.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file llm-blocks-0.2.0.tar.gz.

File metadata

  • Download URL: llm-blocks-0.2.0.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for llm-blocks-0.2.0.tar.gz
Algorithm Hash digest
SHA256 14062bef5a8ccacc1ce3b35799acae4c975611f30107a327523b41896aa07cd3
MD5 7882263065aed75808f56da4dfe3bd8a
BLAKE2b-256 a7037abe44db0c707e6c5d84afe2f939a9c9ac6256bb919bf64d6f61f287e392

See more details on using hashes here.

File details

Details for the file llm_blocks-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: llm_blocks-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for llm_blocks-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22d7a8f3eab115a13d660aa81e711c12dfad84feaad1c280b5c026df8b8ce054
MD5 4d4a28593d865d94c4baf73c73bed421
BLAKE2b-256 4b49877875c1e534ab0ce8f9b83c205524284bf55dd4d5a0d2761d2983033b4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page