Skip to main content

An LLM wrapper built for scene prog projects

Project description

SceneProgLLM

SceneProgLLM is a powerful and versatile Python package that wraps around LangChain's LLM interface to provide enhanced functionality, including support for text, code, and JSON response formats, image input/output, caching, and multiple endpoints. This project is built to support SceneProg projects.


Features

  1. Flexible Response Formats:
    • Supports text, code, JSON, and image outputs.
  2. Image Input and Output:
    • Accepts image inputs and enables image generation through Stable Diffusion (SD) or OpenAI's image generation API.
  3. Caching:
    • Integrated caching system to store and retrieve previous query responses for faster execution.
  4. Strict JSON Validation:
    • Ensures correct JSON structure, particularly when specific keys are required.

Installation

To install the package and its dependencies, use the following command:

pip install sceneprogllm

For proper usage, export the respective variables

export OPENAI_API_KEY= YOUR_OPENAI_API_KEY
export AWS_ACCESS_KEY= YOUR_AWS_ACCESS_KEY
export AWS_SECRET_KEY= YOUR_AWS_SECRET_KEY
export AWS_REGION = AWS_REGION
export AWS_S3_BUCKET= AWS_S3_BUCKET

Getting Started

Importing the Package

from sceneprogllm import LLM

Usage Examples

  1. Generating Text Responses
llm = LLM(name="text_bot", response_format="text")
response = llm.run("What is the capital of France?")
print(response)
  1. Generating JSON Responses
llm = LLM(
    name="json_bot",
    response_format="json",
    json_keys=["capital", "currency"]
)
query = "What is capital and currency of India?"
response = llm.run(query)
print(response)
  1. Generating Python Code
llm = LLM(name="code_bot", response_format="code")
query = "Write a Python function to calculate factorial of a number."
response = llm.run(query)
print(response)
  1. Generating images from text
llm = LLM(name="image_bot", response_format="image")
response = llm.run("Generate an image of a futuristic cityscape.")
response.save("futuristic_city.jpg")
  1. Query using Images
llm = LLM(name="image_bot", response_format="text", num_images=1, image_generator="SD")
image_paths = ["path/to/input_image.jpg"]
response = llm.run("What is the color of the object in the image?", image_paths=image_paths)
  1. Clear LLM cache
from sceneprogllm import clear_llm_cache
clear_llm_cache()
```# sceneprogllm

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

sceneprogllm-0.1.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sceneprogllm-0.1.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file sceneprogllm-0.1.1.tar.gz.

File metadata

  • Download URL: sceneprogllm-0.1.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for sceneprogllm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b379be4472d5f8c978105f7d01e0146d7cd42cdcc9beaff7ba14ca53923ca8eb
MD5 eae7e5a066e267647e58193ce37931bf
BLAKE2b-256 a2b1ba2413b7e683aa04ba56d7652078693ecf9fb4bb9f16d408bf735fdfffcd

See more details on using hashes here.

File details

Details for the file sceneprogllm-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sceneprogllm-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for sceneprogllm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c4ffda6328bb764284516146d824b1fe4360a6b78b4f2d0b7af5b89a0b31215
MD5 17e7932c4d9bb08d2602438800f1b3af
BLAKE2b-256 eb0f780169ac82bc07b7f7e60401f1988a19af0032b26879397db2b56aa49f20

See more details on using hashes here.

Supported by

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