Skip to main content

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:

  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.

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-loop-0.2.tar.gz (1.9 kB view details)

Uploaded Source

Built Distribution

llm_loop-0.2-py3-none-any.whl (1.9 kB view details)

Uploaded Python 3

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

Hashes for llm-loop-0.2.tar.gz
Algorithm Hash digest
SHA256 02eadb0b7ed176210ad6cccf3b32864a0b65eef4e4a541386c10c9076d1bd9fd
MD5 9f702aa72e93627a3f21e1149138d034
BLAKE2b-256 4792147b3760a05e28f00d715425f5dcbff0b815212507746ff324078ad3ae6b

See more details on using hashes here.

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

Hashes for llm_loop-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f33cf89d7d08f0cbf13c4b020126ed1ac50f32c408fa78d3fc3be411045fe3e
MD5 900f49d6462e130f59795f0e6896c288
BLAKE2b-256 d8fa75c25eaa96461f9483f884fcd4e38c652a5d6de452aa35ca523664d2e317

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