๐ง Efficient Token OptimizationJune 18, 2026โ
Tests passing
Prompt Compressor
A Python library that helps developers rewrite and compact prompts while retaining their semantic meaning. It leverages NLP techniques to remove redundancy, replace verbose wording with concise alternatives, and optionally compress numerical information.
What It Does
- Semantic-preserving prompt compression: Compress prompts while maintaining their original meaning.
- Configurable verbosity levels: Choose between high, medium, or low verbosity for the output.
- Easy integration: Designed to be easily integrated into existing Python projects.
Installation
Install the required dependencies using pip:
pip install transformers==4.33.3 nltk==3.8.1 python-Levenshtein==0.21.0Usage
Input:
This is a long and verbose prompt that needs to be rewritten in a concise manner.Output:
This is a concise prompt.Source Code
import argparse
import nltk
from transformers import pipeline
from Levenshtein import ratio
# Download necessary NLTK data
nltk.download('punkt')
def compress_prompt(prompt: str, verbosity: int = 1) -> str:
"""
Compresses a given prompt by removing redundancy and simplifying language.
Args:
prompt (str): The input prompt to compress.
verbosity (int): Level of verbosity for compression (1: high, 2: medium, 3: low).
Returns:
str: The compressed prompt.
"""
if not prompt.strip():
return ""
# Tokenize sentences
sentences = nltk.sent_tokenize(prompt)
# Use a summarization pipeline from transformers
summarizer = pipeline("summarization")
compressed_sentences = []
for sentence in sentences:
try:
summary = summarizer(sentence, max_length=15 * verbosity, min_length=5 * verbosity, do_sample=False)
compressed_sentences.append(summary[0]['summary_text'])
except Exception:
compressed_sentences.append(sentence) # Fallback to original sentence if summarization fails
compressed_prompt = " ".join(compressed_sentences)
# Remove redundancy by comparing sentence similarity
unique_sentences = []
for sentence in compressed_sentences:
if not any(ratio(sentence, s) > 0.8 for s in unique_sentences):
unique_sentences.append(sentence)
return " ".join(unique_sentences)
def main():
parser = argparse.ArgumentParser(description="Prompt Compressor: Compress prompts while retaining semantic meaning.")
parser.add_argument("prompt", type=str, help="The input prompt to compress.")
parser.add_argument("--verbosity", type=int, default=1, choices=[1, 2, 3], help="Verbosity level for compression (1: high, 2: medium, 3: low). Default is 1.")
args = parser.parse_args()
compressed = compress_prompt(args.prompt, args.verbosity)
print(compressed)
if __name__ == "__main__":
main()Community
Downloads
ยทยทยท
Rate this tool
No ratings yet โ be the first!
Details
- Tool Name
- prompt_compressor
- Category
- Efficient Token Optimization
- Generated
- June 18, 2026
- Tests
- Passing โ
Quick Install
Clone just this tool:
git clone --depth 1 --filter=blob:none --sparse \ https://github.com/ptulin/autoaiforge.git cd autoaiforge git sparse-checkout set generated_tools/2026-06-18/prompt_compressor cd generated_tools/2026-06-18/prompt_compressor pip install -r requirements.txt 2>/dev/null || true python prompt_compressor.py