# Document and chat pipelines

> **Upcoming in 1.0 (preview). These pages describe the main branch of LLMSlim Core, which becomes the 0.13 release candidate and then 1.0. `pip install llmslim` installs 0.12.0 today, which doesn't have everything described here.** Docs for what pip installs: https://www.llmslim.app/docs.md

> Use explicit provenance for retrieval and conversational context.

Compress retrieved documents and chat messages with role-aware defaults.

Category: API Reference · Version: 1.0 · Updated: September 2026 · 4 min read

## Retrieved documents

compress_documents() defaults to ContextRole.RAG. This is an intentional v0.3.1 behavior change.

rag.py:

```python
from llmslim import compress_documents
results = compress_documents(documents, query=user_query, target_ratio=0.4)
```

## Chat messages

compress_chat_messages() propagates system, developer, user, assistant, and tool roles. Unknown roles map to GENERAL.

chat.py:

```python
from llmslim import compress_chat_messages
compressed = compress_chat_messages(messages, target_ratio=0.5)
```

## FAQ

### Are system messages compressed by default?

No. The default chat pipeline leaves system messages unchanged.

## Related

- [Provenance and ContextRole](https://www.llmslim.app/docs/1.0/context-role.md)

Canonical page: https://www.llmslim.app/docs/1.0/pipelines
