A new package that takes unstructured text input from users and returns structured, categorized feedback or suggestions. It uses pattern matching to ensure responses follow a consistent format, such a
Project description
StructuredSnip
StructuredSnip is a Python package that takes unstructured text input from users and returns structured, categorized feedback or suggestions. It uses pattern matching to ensure responses follow a consistent format, such as extracting key points, summarizing content, or organizing ideas into predefined sections.
Features
- Pattern Matching: Ensures responses follow a consistent format.
- Customizable LLM: Uses
ChatLLM7by default but can be customized with anyBaseChatModelfrom LangChain. - Flexible Input: Accepts user input text and processes it into structured output.
- Error Handling: Provides detailed error messages for failed LLM calls.
Installation
pip install structuredsnip
Usage
Basic Usage
from structuredsnip import structuredsnip
user_input = "Your unstructured text here."
response = structuredsnip(user_input)
print(response)
Using a Custom LLM
You can use any LLM compatible with LangChain's BaseChatModel. Here are examples using different LLMs:
Using OpenAI
from langchain_openai import ChatOpenAI
from structuredsnip import structuredsnip
llm = ChatOpenAI()
response = structuredsnip(user_input, llm=llm)
print(response)
Using Anthropic
from langchain_anthropic import ChatAnthropic
from structuredsnip import structuredsnip
llm = ChatAnthropic()
response = structuredsnip(user_input, llm=llm)
print(response)
Using Google
from langchain_google_genai import ChatGoogleGenerativeAI
from structuredsnip import structuredsnip
llm = ChatGoogleGenerativeAI()
response = structuredsnip(user_input, llm=llm)
print(response)
Using an API Key
You can pass an API key directly or via an environment variable.
Passing API Key Directly
from structuredsnip import structuredsnip
user_input = "Your unstructured text here."
api_key = "your_api_key_here"
response = structuredsnip(user_input, api_key=api_key)
print(response)
Using Environment Variable
export LLM7_API_KEY="your_api_key_here"
from structuredsnip import structuredsnip
user_input = "Your unstructured text here."
response = structuredsnip(user_input)
print(response)
Parameters
- user_input (str): The user input text to process.
- llm (Optional[BaseChatModel]): The LangChain LLM instance to use. Defaults to
ChatLLM7. - api_key (Optional[str]): The API key for LLM7. If not provided, it will use the environment variable
LLM7_API_KEY.
Rate Limits
The default rate limits for LLM7's free tier are sufficient for most use cases of this package. If you need higher rate limits, you can pass your own API key via the api_key parameter or the LLM7_API_KEY environment variable. You can get a free API key by registering at LLM7.
Issues
If you encounter any issues, please report them on the GitHub issues page.
Author
- Eugene Evstafev
- Email: hi@eugene.plus
- GitHub: chigwell
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file structuredsnip-2025.12.21115854.tar.gz.
File metadata
- Download URL: structuredsnip-2025.12.21115854.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7959e096b8878e47a5d3a4da29b30a15ff99c422bd4b3e76b5836f982daf168
|
|
| MD5 |
a3c8745544022c1f7be7dbb2b3c5bcf8
|
|
| BLAKE2b-256 |
4eeee5a5e65a3d147e3e9b2f4e7be6e6958e2fe1d87d739c66b865035b0b97e7
|
File details
Details for the file structuredsnip-2025.12.21115854-py3-none-any.whl.
File metadata
- Download URL: structuredsnip-2025.12.21115854-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eddf15bf0eee8d00375cb744501a4316b490faf403d54f5e6893d0a455087567
|
|
| MD5 |
e6dfcbbaf7aa2087707791e604184ef2
|
|
| BLAKE2b-256 |
d77e2748561d85835f76c27e8b2f72276ee557be90b8e97527e8a5b52a98ac3e
|