A new package is designed to process complex conceptual prompts like 'Dark Enlightenment' by leveraging language models with structured pattern matching. Users provide a descriptive text input related
Project description
concept‑extractor
concept‑extractor is a lightweight Python package that turns complex, philosophical or thematic text prompts (e.g., “Dark Enlightenment”) into concise, well‑structured summaries or analyses. It leverages language models via LangChain and a pattern‑matching helper (llmatch) to guarantee that the output conforms to a user‑defined regular‑expression pattern.
Key points
- Text‑only – no multimedia handling.
- Deterministic output thanks to regex‑based validation.
- Works out‑of‑the‑box with the default
ChatLLM7model; any LangChain‑compatible LLM can be swapped in.
Installation
pip install concept_extractor
Quick start
from concept_extractor import concept_extractor
# Your prompt describing a complex concept
user_input = """
The Dark Enlightenment is a contemporary philosophical movement that...
"""
# Run the extractor (uses ChatLLM7 by default)
summary = concept_extractor(user_input)
print(summary)
summary is a list of strings that matches the pattern defined in concept_extractor.prompts.
Function signature
def concept_extractor(
user_input: str,
api_key: Optional[str] = None,
llm: Optional[BaseChatModel] = None,
) -> List[str]:
| Parameter | Type | Description |
|---|---|---|
| user_input | str |
The text you want to analyse. |
| api_key | Optional[str] |
API key for LLM7. If omitted, the environment variable LLM7_API_KEY is used; otherwise a placeholder "None" is supplied. |
| llm | Optional[BaseChatModel] |
Any LangChain BaseChatModel instance. When omitted the package creates a ChatLLM7 instance automatically. |
The function returns a List[str] containing the extracted data that matches the internal regex pattern.
Using a custom LLM
If you prefer another provider (OpenAI, Anthropic, Google, etc.), simply pass a LangChain chat model instance:
OpenAI
from langchain_openai import ChatOpenAI
from concept_extractor import concept_extractor
llm = ChatOpenAI(model="gpt-4o-mini")
response = concept_extractor(user_input, llm=llm)
print(response)
Anthropic
from langchain_anthropic import ChatAnthropic
from concept_extractor import concept_extractor
llm = ChatAnthropic(model="claude-3-haiku-20240307")
response = concept_extractor(user_input, llm=llm)
print(response)
Google Generative AI
from langchain_google_genai import ChatGoogleGenerativeAI
from concept_extractor import concept_extractor
llm = ChatGoogleGenerativeAI(model="gemini-1.5-flash")
response = concept_extractor(user_input, llm=llm)
print(response)
API key & rate limits
- The default free tier of LLM7 (the model used when you don’t supply an
llm) provides generous rate limits that satisfy most use cases of this package. - To use higher limits or your own quota, set the environment variable
LLM7_API_KEYor pass the key directly:
response = concept_extractor(user_input, api_key="your_llm7_api_key")
- Obtain a free API key by registering at: https://token.llm7.io/
Contributing & support
- Issues & bug reports: https://github.com/chigwell/concept_extractor/issues
- Pull requests are welcome – see the repository for the contribution guidelines.
Author
Eugene Evstafev – hi@euegne.plus
GitHub: chigwell
License
This project is licensed under the MIT License. See the LICENSE file in the repository for details.
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 concept_extractor-2025.12.21170754.tar.gz.
File metadata
- Download URL: concept_extractor-2025.12.21170754.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8785a7ff296ce6c01f844fe53869f42945ece5edd87ce22323b6733c7eaa7e2
|
|
| MD5 |
bd3aa0db972ba0e44969545c362679b7
|
|
| BLAKE2b-256 |
b3db8af416b2b5bec118f01fdf3704d2b86eb38f51e445108dc5d440441e7bc8
|
File details
Details for the file concept_extractor-2025.12.21170754-py3-none-any.whl.
File metadata
- Download URL: concept_extractor-2025.12.21170754-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6500eb2e2fc81cf3c7fd57dc0095088791a54ab0ac1908367f7f5c53ff2ec66c
|
|
| MD5 |
59e63ac2e68fedd66159b5f0d0e1dd97
|
|
| BLAKE2b-256 |
4dee678677ef73999ce38ee789ca96ab0fd8e5f70eb4eeadec38549318f5db8f
|