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.2.tar.gz (8.3 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.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sceneprogllm-0.1.2.tar.gz
  • Upload date:
  • Size: 8.3 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.2.tar.gz
Algorithm Hash digest
SHA256 7adc4c6656cd1276700d9effc25f82ea174eb0de8cbc67287366b056c6bb0c4a
MD5 29f506737e7fe297976abce3d568273a
BLAKE2b-256 03b8ce754f34cc76597ad318751d6c42c5faba584b649533af2864ef5a589217

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sceneprogllm-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 25023795c91dd6f94755a83c7c3a4fd86af91263b15dd908ad730bd86898c35f
MD5 8c4fce77d24d3481437fa60ee613030d
BLAKE2b-256 1f01968d152b8bc6a43dab339d926fb97d0e246192222fcbc7b23a871acc1c47

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