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

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.

Read the documentation - PyPI Distribution

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.

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.1.tar.gz (47.8 kB view details)

Uploaded Source

Built Distribution

glyphdeck-1.1.1-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glyphdeck-1.1.1.tar.gz
  • Upload date:
  • Size: 47.8 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.1.tar.gz
Algorithm Hash digest
SHA256 905c821f5f8ee5816d310eb4461039f19f8b5da30692c4776ac5d7938ef13433
MD5 f355ccfc8981b61eed954b0e005cf487
BLAKE2b-256 9011384eeec86dc16e2eae5cc2884ab901f2cb4b6091b58001bbafa0ea011a3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glyphdeck-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8430f65ac23928dac1d674d6ea0b9d55fe020b826bb59350a361309e2e75d916
MD5 1278fb40e736e043db97f0cf91ef83bf
BLAKE2b-256 550a1377d2ecf0cc4bef2a6c2016ce53f86d9ba312b5b12987f5ba4abb1279bf

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