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.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8afdf3a0944f99a287d44a319c70d26048affcc778d2a5d6b7fe2b111062a6b |
|
MD5 | 7705fe74f9fb98541df778852ff2e8da |
|
BLAKE2b-256 | 4c67e77214d2df70b3d7936ddbbd9553b25e3147051198b35480e66e5619746b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d116275e12182ad57cd2542db15051abf2d70064a5fc814958bed98d8dd71d69 |
|
MD5 | b47706626d9ebc2b532c33a9162e8b7a |
|
BLAKE2b-256 | 9d33e2343c0c9ee37d94bf1d5dd56e08509422cb7ced90991fe6c17b61de99cf |