Skip to main content

SlotMatch

SlotMatch is a lightweight Python package for extracting structured key-value pairs from unstructured or noisy LLM outputs. It supports regex-based parsing, fuzzy key recovery, schema validation, and confidence scoring. Perfect for production RAG, chatbot, and NLU pipelines.


Installation

pip install slotmatch

## Features

- Regex-based value extraction

- Fuzzy key mapping (e.g., intnt → intent)

- Schema validation for expected keys and types

- Type coercion (str, int, float, bool)

- Confidence scoring (regex = high, fuzzy = partial, fallback = 0)

- Lightweight, no external dependencies

## Usage

from slotmatch import SlotExtractor

schema = {
    "name": str,
    "intent": str,
    "destination": str
}

llm_output = '''
Hi, I'm Alice.
{
  "intnt": "book_flight",
  "dest": "NYC",
  "name": "Alice"
}
'''

extractor = SlotExtractor(schema)
print(extractor.extract(llm_output))

## Output

{
  'name': {'value': 'Alice', 'confidence': 1.0},
  'intent': {'value': 'book_flight', 'confidence': ~0.64},
  'destination': {'value': None, 'confidence': 0.0}
}

## Example Use Cases

- Post-processing LLM outputs (chatbots, assistants, tools)

- Extracting form fields or user intents

- Structuring data for downstream APIs or storage

- Integrating LLMs with business logic (field validation, routing)

## License

This project is licensed under the MIT License.

Metadata

Release files for slotmatch 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slotmatch 0.1.0
File Size Uploaded
slotmatch-0.1.0.tar.gz 2.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slotmatch 0.1.0
File Interpreter ABI Platform
slotmatch-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.9 kB

Release files / slotmatch-0.1.0.tar.gz

Download URL slotmatch-0.1.0.tar.gz
Size 2.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0befc55ef7d54506405f3482f16ecd09c6cdea49f91a65a957218745ef1d7a27
BLAKE2b-256 checksum
How to use checksums
69b82d8d2e1062d284defb96ba66611877fdbe7353b839da1cc5adfe483a6b93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release files / slotmatch-0.1.0-py3-none-any.whl

Download URL slotmatch-0.1.0-py3-none-any.whl
Size 1.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6ed6ef1bdbeef379f3895ad38e6f4c67143007a1fb98f3f82dd0b4f4a12e7bd
BLAKE2b-256 checksum
How to use checksums
b508512c9bf1016b3a5b4fb3cc2a0f6c98863b46038e6fc2591fca38a0391817
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page