Skip to main content

The glyphdeck library is a comprehensive toolkit designed to streamline & simplify various aspects of asynchronous LLM data processing workflows over high-volume, dense semantic data - like customer feedback, reviews and comments.

Project description

GlyphDeck

PyPI version Python versions License Go to documentation Read the Docs Badge

The glyphdeck library is a comprehensive toolkit designed to streamline & simplify various aspects of asynchronous LLM data processing workflows over high-volume, dense semantic data - like customer feedback, reviews and comments.

Common aspects of the LLM data workflow are handled end-to-end including async llm calls, data validation, sanitisation, transformation, caching and step chaining, facilitating the fast development of robust, error free LLM data workflows.

Its also equiped with caching and a configurable logging facility that makes complex asyncronous LLM workflows much easier to configure, understand and debug.

Features

  • Asynchronous: Rip through tabular data with asynchronous llm usage
  • Auto-scaling: Don't worry about api errors - the LLMHandler automatically scales to your api limits
  • Rapid config: Simple syntax in a highly abstracted interface makes set up a breeze
  • Data chaining: Automatically pass data between steps with the Cascade class
  • Self validating: The Cascade class automatically maintains dataset integrity
  • Pydantic models: Use built-in or custom Pydantic data models for structured llm output
  • Type enforcement: Get your structured data in the correct format from the llm every time
  • Private data: Sanitiser class strips out common private data patterns before making api calls
  • Automatic caching: Save on API costs and re-use results
  • Logging: Built-in logging facility helps to debug your set-ups & peer inside the event loop

Set-up

🔧 Install

pip install glyphdeck

🔑 Set API Key

Set your OPENAI_API_KEY with a command, or add it to your environment variables.

setx OPENAI_API_KEY "your_api_key_here"

📥 Import

import glyphdeck as gd

Usage

🌊 Cascades

The Cascade class is the primary interface for the glyphdeck library. It handles and processes data in a record-like structure, providing easy to use syntax for LLM data handling workflows.

It validates and enforces all data movements against a common id, ensuring that each record has a unique, immutable identifier that remains consistent, regardless of other changes.

This all combines to let you spin up LLM workflows in record time.

🏄 Example

import glyphdeck as gd

# Provide a dataframe or a path to a file (csv or xlsx)
data_source = r"tests\testdata.pizzashopreviews.xlsx"

# Intialise cascade instance and identify the unique id (required) and target data
cascade = gd.Cascade(data_source, "Review", "Review Text")

# Optionally remove private information
cascade.sanitiser.run()

# Prepare the llm
cascade.set_llm_handler(
    provider="OpenAI",
    model="gpt-4o-mini",
    system_message=(
        "You are an expert pizza shop customer feedback analyst system."
        "Analyse the feedback and return results in the correct format."
    ),
    validation_model=gd.validators.SubCatsSentiment,
    cache_identifier="pizzshop_sentiment",
)

# Run the llm_handler
cascade.llm_handler.run("llm_category_sentiment")

✨ Output

Review Id Review Review_sub_categories Review_sentiment_score
1 I love this place, fantastic pizza and great service. It's family run and it shows. Out of heaps of good local options it is still the… Pizza Quality,Service Quality,Family Run,Local Options,Pricing,Parking 0.95
2 Got disappointed. Not good customer service. definitely not great pizza.We went there yesterday to… Customer Service,Pizza Quality,Dine-In Experience,Promotions,Family Experience -0.75

🚀 That's just the start!

Glyphdeck is highly customisable with useful optional commands in every function, class & method. Use the Cascade and other tools to mix and match, create feedback loops and more - all with blazing asynchronous speed through the OpenAI API.

See the full capabilities in the extensive documentation.

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

glyphdeck-1.1.2.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

glyphdeck-1.1.2-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file glyphdeck-1.1.2.tar.gz.

File metadata

  • Download URL: glyphdeck-1.1.2.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Windows/11

File hashes

Hashes for glyphdeck-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b8afdf3a0944f99a287d44a319c70d26048affcc778d2a5d6b7fe2b111062a6b
MD5 7705fe74f9fb98541df778852ff2e8da
BLAKE2b-256 4c67e77214d2df70b3d7936ddbbd9553b25e3147051198b35480e66e5619746b

See more details on using hashes here.

File details

Details for the file glyphdeck-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: glyphdeck-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Windows/11

File hashes

Hashes for glyphdeck-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d116275e12182ad57cd2542db15051abf2d70064a5fc814958bed98d8dd71d69
MD5 b47706626d9ebc2b532c33a9162e8b7a
BLAKE2b-256 9d33e2343c0c9ee37d94bf1d5dd56e08509422cb7ced90991fe6c17b61de99cf

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