A utility package for querying language models with pattern matching and retry logic
Project description
llm-loop
Overview
llm-loop
is a Python package designed to simplify the process of querying language models (like GPT or similar models) until a response matching a specified pattern is obtained or a maximum number of attempts is reached. This is particularly useful when working with AI models in scenarios where a specific format of response is required.
Installation
pip install llm-loop
This will install the necessary Python packages, including ctransformers
and any other dependencies.
Usage
Here's a basic example of how to use llm-loop
:
-
Import the necessary modules:
import os from ctransformers import AutoModelForCausalLM, AutoTokenizer from llm_loop.main import LLMLoop
-
Initialize the model with custom parameters:
model_name = "YourModelName" model_file = "YourModelFileName" start_dir = '/path/to/your/model' model_path = f"{start_dir}/{model_file}" llm = AutoModelForCausalLM.from_pretrained(model_name, model_file=model_path, model_type='YourModelType', gpu_layers=YourGPULayers)
-
Create an instance of LLMLoop and query the model:
loop = LLMLoop(llm, 10) # 10 is the maximum number of attempts prompt = "Your prompt here" pattern = r'Your regex pattern here' response = loop.query_llm(prompt=prompt, pattern=pattern) print("Response:", response)
Contributing
Contributions to llm-loop
are welcome! Please feel free to submit pull requests or open issues to suggest improvements or add new features.
License
MIT.
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
Built Distribution
File details
Details for the file llm-loop-0.2.tar.gz
.
File metadata
- Download URL: llm-loop-0.2.tar.gz
- Upload date:
- Size: 1.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02eadb0b7ed176210ad6cccf3b32864a0b65eef4e4a541386c10c9076d1bd9fd |
|
MD5 | 9f702aa72e93627a3f21e1149138d034 |
|
BLAKE2b-256 | 4792147b3760a05e28f00d715425f5dcbff0b815212507746ff324078ad3ae6b |
File details
Details for the file llm_loop-0.2-py3-none-any.whl
.
File metadata
- Download URL: llm_loop-0.2-py3-none-any.whl
- Upload date:
- Size: 1.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f33cf89d7d08f0cbf13c4b020126ed1ac50f32c408fa78d3fc3be411045fe3e |
|
MD5 | 900f49d6462e130f59795f0e6896c288 |
|
BLAKE2b-256 | d8fa75c25eaa96461f9483f884fcd4e38c652a5d6de452aa35ca523664d2e317 |