Skip to main content

A new package would process user-provided text input related to historical or thematic content—such as summaries, descriptions, or analyses of topics like persuasion techniques from antiquity—and retu

Project description

thematic-structurizer

PyPI version License: MIT Downloads LinkedIn

Thematic Structurizer is a Python package designed to process user-provided text related to historical or thematic content—such as summaries, descriptions, or analyses of topics like persuasion techniques from antiquity—and extract structured, pattern-validated data. It leverages large language models (LLMs) to generate responses in a predefined format, ensuring consistency and reliability through regex validation and retry mechanisms.

Installation

Install the package via pip:

pip install thematic_structurizer

Usage

Here's an example of how to use the package:

from thematic_structurizer import thematic_structurizer

# Example user input
user_input = "Describe the persuasion techniques used by Cicero in ancient Rome."

# Calling the function with default LLM (ChatLLM7)
response = thematic_structurizer(user_input)
print(response)

Custom LLM Support

The package uses ChatLLM7 from langchain_llm7 by default. You can provide your own language model instance to customize the behavior. Supported models include those from OpenAI, Anthropic, Google Generative AI, etc.

Example with a custom LLM:

from langchain_openai import ChatOpenAI
from thematic_structurizer import thematic_structurizer

llm = ChatOpenAI()
response = thematic_structurizer(user_input, llm=llm)

Alternatively, using other providers:

from langchain_anthropic import ChatAnthropic
from thematic_structurizer import thematic_structurizer

llm = ChatAnthropic()
response = thematic_structurizer(user_input, llm=llm)

API Key Management

For the default ChatLLM7, you can set your API key via environment variable:

export LLM7_API_KEY='your_api_key'

or pass it directly:

response = thematic_structurizer(user_input, api_key='your_api_key')

To obtain a free API key, register at https://token.llm7.io/.

Function Details

def thematic_structurizer(
    user_input: str,
    api_key: Optional[str] = None,
    llm: Optional[BaseChatModel] = None
) -> List[str]:
  • user_input: The text to process, such as a description, summary, or analysis.
  • llm: An optional language model instance; defaults to ChatLLM7.
  • api_key: Optional string; API key for ChatLLM7.

This function processes the input, invokes the LLM, and returns a list of extracted data that match the predefined pattern validation.

License

This project is maintained by Eugene Evstafev. For issues or contributions, please visit https://github.com/chigwell/thematic-structurizer.

Contact

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

thematic_structurizer-2025.12.21114407.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file thematic_structurizer-2025.12.21114407.tar.gz.

File metadata

File hashes

Hashes for thematic_structurizer-2025.12.21114407.tar.gz
Algorithm Hash digest
SHA256 ba38a8c929bac1e3fb4633353c5ccc66aa4e29ee5fe1ac0bb17c200835f84b72
MD5 49e0633cfd133ab08c106bfc7106cee4
BLAKE2b-256 2a784db15a792f43af0b9c0707d3aaa9700cdcf67f013f9f268b928614f34c55

See more details on using hashes here.

File details

Details for the file thematic_structurizer-2025.12.21114407-py3-none-any.whl.

File metadata

File hashes

Hashes for thematic_structurizer-2025.12.21114407-py3-none-any.whl
Algorithm Hash digest
SHA256 0fde17f4476e136c2967692ca7189717223a426d42478bed7e4d5e320935067b
MD5 d98750f64fc1d9dc8e14639952262b4b
BLAKE2b-256 421a1f23230dc2279b04dd91651fb6305e3d5f7718e15f0d445215b18551e0a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page