SDK & API Reference
Official SDK and REST API for Compresr.
View on GitHubInstallation
pip install compresrTwo Types of Compression
Choose the right compression type based on your use case:
Agnostic Compression
General-purpose compression without needing a specific question. Best for system prompts and static contexts.
Uses: CompressionClient
Question-Specific Compression
Compresses context based on a specific question. Best for RAG and Q&A systems.
Uses: QSCompressionClient
1. Agnostic Compression
from compresr import CompressionClient
client = CompressionClient(api_key="cmp_your_api_key")
result = client.compress(
context="Your very long context that needs compression...",
compression_model_name="A_CMPRSR_V1" # or "A_CMPRSR_V1_FLASH" for speed
)
print(f"Original: {result.data.original_tokens} tokens")
print(f"Compressed: {result.data.compressed_tokens} tokens")
print(f"Saved: {result.data.tokens_saved} tokens")2. Question-Specific Compression
from compresr import QSCompressionClient
client = QSCompressionClient(api_key="cmp_your_api_key")
result = client.compress(
context="Python was created in 1991. JavaScript in 1995. Java in 1995.",
question="Who created Python?",
compression_model_name="QS_CMPRSR_V1"
)
print(f"Compressed: {result.data.compressed_context}")
print(f"Saved: {result.data.tokens_saved} tokens")Streaming Support
from compresr import CompressionClient, QSCompressionClient
# Agnostic streaming
client = CompressionClient(api_key="cmp_your_api_key")
for chunk in client.compress_stream(
context="Your long context...",
compression_model_name="A_CMPRSR_V1"
):
print(chunk.content, end="", flush=True)
# Question-specific streaming
qs_client = QSCompressionClient(api_key="cmp_your_api_key")
for chunk in qs_client.compress_stream(
context="Your context...",
question="What is important?",
compression_model_name="QS_CMPRSR_V1"
):
print(chunk.content, end="", flush=True)Workflow Integration
Integrate Compresr into your existing LLM workflows. Works with any LLM provider.
Agnostic (System Prompts)
from compresr import CompressionClient
compresr = CompressionClient(api_key="cmp_xxx")
# Compress your system prompt or context
compressed = compresr.compress(
context="Your long system prompt...",
compression_model_name="A_CMPRSR_V1"
)
# Use with any LLM provider
messages = [
{"role": "system", "content": compressed.data.compressed_context},
{"role": "user", "content": "Your question..."}
]
# Pass to OpenAI, Anthropic, or any other LLMQuestion-Specific (RAG/QA)
from compresr import QSCompressionClient
compresr = QSCompressionClient(api_key="cmp_xxx")
user_question = "What is machine learning?"
# Compress retrieved documents based on the question
compressed = compresr.compress(
context="Retrieved documents from your vector DB...",
question=user_question,
compression_model_name="QS_CMPRSR_V1"
)
# Use with any LLM provider
messages = [
{"role": "system", "content": compressed.data.compressed_context},
{"role": "user", "content": user_question}
]Support
- Documentation: compresr.ai/docs/overview
- Email: [email protected]
- GitHub Discussions
License
Proprietary License - see LICENSE for details.