# Stephen v1.0.1 - Table of Contents > ColBERT-style neural retrieval for Elixir ## Pages - [Stephen](readme.md) - Livebooks - [Getting Started with Stephen](getting_started.md) - Guides - [Architecture](architecture.md) - [Index Types](index_types.md) - [Compression](compression.md) - [Chunking](chunking.md) - [Configuration](configuration.md) ## Modules - Core - [Stephen](Stephen.md): ColBERT-style neural retrieval for Elixir. - [Stephen.Encoder](Stephen.Encoder.md): Encodes text into per-token embeddings using BERT. - [Stephen.Retriever](Stephen.Retriever.md): High-level retrieval operations combining encoding, indexing, and scoring. - [Stephen.Scorer](Stephen.Scorer.md): Implements ColBERT's late interaction scoring mechanism (MaxSim). - Indexes - [Stephen.Index](Stephen.Index.md): Manages the ColBERT document index. - [Stephen.Index.Compressed](Stephen.Index.Compressed.md): Compressed document index using residual compression. - [Stephen.Plaid](Stephen.Plaid.md): PLAID-style indexing for efficient ColBERT retrieval. - Utilities - [Stephen.Chunker](Stephen.Chunker.md): Passage chunking for long documents. - [Stephen.Compression](Stephen.Compression.md): ColBERTv2-style residual compression for token embeddings. - [Stephen.KMeans](Stephen.KMeans.md): K-means clustering wrapper around Scholar.Cluster.KMeans.