Skip to main content

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:

  1. Import the necessary modules:

    import os
    from ctransformers import AutoModelForCausalLM, AutoTokenizer
    from llm_loop.main import LLMLoop
    
  2. 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)
    
  3. 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.

Metadata

Release files for llm-loop 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-loop 0.2
File Size Uploaded
llm-loop-0.2.tar.gz 1.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-loop 0.2
File Interpreter ABI Platform
llm_loop-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 kB

Release files / llm-loop-0.2.tar.gz

Download URL llm-loop-0.2.tar.gz
Size 1.9 kB
Tags Source
SHA-256 checksum
How to use checksums
02eadb0b7ed176210ad6cccf3b32864a0b65eef4e4a541386c10c9076d1bd9fd
BLAKE2b-256 checksum
How to use checksums
4792147b3760a05e28f00d715425f5dcbff0b815212507746ff324078ad3ae6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / llm_loop-0.2-py3-none-any.whl

Download URL llm_loop-0.2-py3-none-any.whl
Size 1.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f33cf89d7d08f0cbf13c4b020126ed1ac50f32c408fa78d3fc3be411045fe3e
BLAKE2b-256 checksum
How to use checksums
d8fa75c25eaa96461f9483f884fcd4e38c652a5d6de452aa35ca523664d2e317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page