All Toolsโ€บPrompt Compressor
๐Ÿ”ง 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.0

Usage

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
Prompt Compressor โ€” AI Tools by AutoAIForge