Skip to main content

llm-structured-summary

PyPI version License: MIT Downloads LinkedIn

llm-structured-summary is a small utility that takes a short piece of text (e.g., a research‑paper title or abstract snippet) and returns a structured summary of the core idea or problem addressed.
The heavy‑lifting is done by an LLM (by default ChatLLM7 from langchain_llm7). The LLM is guided by system & human prompts to produce output that conforms to a predefined XML‑like pattern, making the result easy to parse and reuse.


Table of Contents


Installation

pip install llm_structured_summary

Quick Start

from llm_structured_summary import llm_structured_summary

# Simple usage – the function will create a ChatLLM7 instance for you
text = "A novel neural architecture for low‑shot learning in computer vision."
summary = llm_structured_summary(user_input=text)

print(summary)          # -> List of extracted XML‑like tags

Function API

def llm_structured_summary(
    user_input: str,
    api_key: Optional[str] = None,
    llm: Optional[BaseChatModel] = None,
) -> List[str]:
Parameter Type Description
user_input str The text that you want to summarise (title, abstract snippet, etc.).
api_key Optional[str] API key for the LLM7 service. If omitted, the function will read the LLM7_API_KEY environment variable or fall back to a placeholder value ("None").
llm Optional[BaseChatModel] A pre‑configured LangChain chat model. Supplying a custom LLM lets you replace the default ChatLLM7 with OpenAI, Anthropic, Google, etc.

Returns: List[str] – a list of strings that match the regex pattern defined in llmatch_messages.pattern. Each string is a piece of structured data (e.g., <Problem>...</Problem>).


Using a Custom LLM

If you prefer to use another provider, simply pass an instantiated LangChain chat model via the llm argument.

OpenAI (ChatGPT)

from langchain_openai import ChatOpenAI
from llm_structured_summary import llm_structured_summary

my_llm = ChatOpenAI(model="gpt-4o-mini")
response = llm_structured_summary(user_input="Your text here", llm=my_llm)
print(response)

Anthropic (Claude)

from langchain_anthropic import ChatAnthropic
from llm_structured_summary import llm_structured_summary

my_llm = ChatAnthropic(model="claude-3-haiku-20240307")
response = llm_structured_summary(user_input="Your text here", llm=my_llm)

Google (Gemini)

from langchain_google_genai import ChatGoogleGenerativeAI
from llm_structured_summary import llm_structured_summary

my_llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash")
response = llm_structured_summary(user_input="Your text here", llm=my_llm)

All of the above examples work because they return a BaseChatModel compatible object, which llm_structured_summary expects.


Environment Variables & API Keys

  • LLM7_API_KEY – If you do not pass api_key directly, the function will look for this environment variable.
  • You can obtain a free API key by registering at https://token.llm7.io/.
export LLM7_API_KEY="your-llm7-api-key"

Rate Limits

The free tier of LLM7 provides generous rate limits that are sufficient for most prototyping and research tasks.
If you need higher throughput, upgrade your LLM7 plan or simply switch to another provider (OpenAI, Anthropic, Google) via the Custom LLM section above.


Contributing & Support


Author

Eugene Evstafev
📧 Email: hi@euegne.plus
🐙 GitHub: chigwell


License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for llm-structured-summary 2025.12.21124656

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

Source distribution (sdist)

Source distribution for llm-structured-summary 2025.12.21124656
File Size Uploaded
llm_structured_summary-2025.12.21124656.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-structured-summary 2025.12.21124656
File Interpreter ABI Platform
llm_structured_summary-2025.12.21124656-py3-none-any.whl Python 3 none any Details

Total release size: 11.3 kB

Release files / llm_structured_summary-2025.12.21124656.tar.gz

Download URL llm_structured_summary-2025.12.21124656.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8e18c007cd02ae6182aa68552e64f67c539492d85a942aa615a634a3f51343e6
BLAKE2b-256 checksum
How to use checksums
61d3066d12775c6d47cc25bdac44caa6a0ccfca6bc3a510d3247f0a378cdf083
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / llm_structured_summary-2025.12.21124656-py3-none-any.whl

Download URL llm_structured_summary-2025.12.21124656-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f7105056a2933d7c7848022e87e0b5d444b81ab986d4f64965117708e4cf0d2
BLAKE2b-256 checksum
How to use checksums
b5461638801db878532ec52f603247e7e0de81b85cca7e882b7daba43723fb67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

2025.12.21124656 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