---
title: "XI Lucent"
description: "Semantic ingestion and retrieval for .NET 10. Decompose, chunk, embed, and search documents with swappable adapters and no infrastructure lock-in."
published: 2026-05-14T12:11:08.678595+00:00
updated: 2026-05-14T12:11:08.678595+00:00
tags: ["lucent", "rag", "semantic-search"]
url: https://xiobjects.com/docs/xio/lucent
source: XI Objects
---

<!-- xion:doctype xion+markdown -->
<!-- xion:metadata
{
  "version": "1.0",
  "content_type": "application/xion\u002Bmarkdown",
  "source_type": "xi-content/doc",
  "generator": "xio-content-publisher/1.0.0",
  "generated": "2026-05-14T12:10:16.0925553\u002B00:00",
  "encoding": "utf-8",
  "render_intent": "markdown",
  "title": "XI Lucent",
  "slug": "xio/lucent",
  "copyright": "\u00A9 2026 XI Objects Inc"
}
-->

# XI Lucent

XI Lucent is a semantic ingestion and retrieval library for .NET 10. It takes documents in any common format, breaks them into semantically coherent chunks, embeds them locally via ONNX, and retrieves them with hybrid search. Every result comes back with its origin attached: which document, which page, which heading, which section. You know not just what matched but exactly where it came from.

Everything runs in-process. No external services required. Every component sits behind an interface, so you can swap the embedder, vector store, chunking strategy, or re-ranker independently.

## What Lucent does

**Provenance on every result.** Every chunk Lucent returns carries the metadata that tells you where in the source it came from: `PageNumber` for PDFs, `SlideIndex` for PowerPoint, `RowIndex` and `SheetName` for CSV, `ElementPath` for HTML, `Heading` and `SectionPath` for any structured document. This provenance flows from the decomposer through chunking and is stored alongside the vector. You get it back on every search result automatically, without any configuration.

**Ingestion.** Feed Lucent a PDF, Word document, PowerPoint deck, HTML page, CSV, Markdown file, or plain text. It detects the content type, decomposes binary formats to text, chunks on semantic seams, embeds each chunk, and stores everything atomically.

**Retrieval.** Queries run as hybrid search: vector cosine similarity via sqlite-vec and BM25 full-text via FTS5, fused with Reciprocal Rank Fusion. An optional cross-encoder re-ranking pass runs after fusion. Structured filter expressions narrow results over chunk metadata before ranking.

**Cryptographic attribution (XRAG).** When content is signed with [XION cryptographic trust blocks](/docs/xio/api/signing), Lucent verifies the signature before ingestion and attaches the signer's identity, trust hash, and certificate fingerprint to every chunk. Search results from verified documents tell you not just where the content came from but who signed it and when.

## Packages

| Package | Purpose |
|---------|---------|
| `Xio.Lucent` | Core engine, defaults, DI registration |
| `Xio.Lucent.Api` | ASP.NET Core controllers and middleware |
| `Xio.Lucent.Api.Client` | Typed .NET HTTP client |
| `Xio.Lucent.Grpc` | gRPC surface with `.proto` for polyglot codegen |
| `Xio.Lucent.Mcp` | Model Context Protocol tools |
| `Xio.Lucent.Cli` | `xio-lucent` terminal tool |
| `Xio.Lucent.Api.Host` | Ready-to-run Kestrel server |
| `Xio.Lucent.Mcp.Host` | Ready-to-run stdio MCP server |

## Getting Started

New to Lucent? The [Getting Started](/docs/xio/lucent/getting-started) guide takes you from install to first query in a few minutes.

## Core Concepts

- [Ingestion & Retrieval Pipeline](/docs/xio/lucent/concepts/pipeline) — how documents move through Lucent from bytes to ranked results
- [Chunking Strategies](/docs/xio/lucent/concepts/chunking) — semantic, structural, sentence, and fixed-size chunking
- [Hybrid Search](/docs/xio/lucent/concepts/hybrid-search) — vector + BM25 fusion, RRF weighting, filters, and scoring
- [XRAG: Verified-Provenance RAG](/docs/xio/lucent/concepts/xrag) — cryptographic trust verification integrated into the ingestion path

## Guides

- [Ingest Documents](/docs/xio/lucent/guides/ingest-documents) — text, streams, files, metadata, and XION content
- [Query a Collection](/docs/xio/lucent/guides/query-collection) — search, filter, score thresholds, and reading results
- [Swap Adapters](/docs/xio/lucent/guides/swap-adapters) — replace the embedder, vector store, scorer, or any other component

## API Reference

- [REST API](/docs/xio/lucent/api/rest) — HTTP endpoints, auth, and request/response shapes
- [MCP Tools](/docs/xio/lucent/api/mcp) — Model Context Protocol tool definitions
- [CLI Reference](/docs/xio/lucent/api/cli) — `xio-lucent` command documentation
<!-- xion:trust
{
  "v": 1,
  "canon_v": 1,
  "ctx": "xiobjects.com/content",
  "hash_blake3_hex": "15d1393ee6090e51b2cafb856e644188bcdf68aa5bc8bca7ead771579873226f",
  "hash_sha256_hex": null,
  "sig_alg": "ed25519",
  "sig_b64": "YHBWdA_UilLTxsGAdodaXe8bTgrGiNddfcE-ZvAedwtRDEnWEapGBufCsuKcEtHGBzJwWTz5AqzJ73TAA5tXDg",
  "pubkey_b64": "h-awvV8Rn-juph_c2Y7UH5A6e7NaFia3zBiMrJUOMOo",
  "x509_chain_pem": [
    "-----BEGIN CERTIFICATE-----\r\nMIIB9DCCAaagAwIBAgIQBrrNsmRlBvKQdA4idEliJjAFBgMrZXAwLjEsMCoGA1UE\r\nAwwjWEkgT2JqZWN0cyBJbmMgQ29udHJvbCBJbnRlcm1lZGlhdGUwHhcNMjYwNTEz\r\nMjI0NjA1WhcNMjYwNjEyMjI0NjA1WjBLMR4wHAYDVQQDDBV4aW8tY29udGVudC1w\r\ndWJsaXNoZXIxFzAVBgNVBAoMDlhJIE9iamVjdHMgSW5jMRAwDgYDVQQLDAdDb250\r\nZW50MCowBQYDK2VwAyEAh\u002BawvV8Rn\u002Bjuph/c2Y7UH5A6e7NaFia3zBiMrJUOMOqj\r\ngbwwgbkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYI\r\nKwYBBQUHAyQwZQYDVR0jBF4wXIAUOym3mFmw/qs1fgKrujCkxhrTk7KhLqQsMCox\r\nKDAmBgNVBAMMH0luc3RpdHV0ZSBvZiBQcm92ZW5hbmNlIFJvb3QgQ0GCFFJgN/ix\r\nQn72H6h3T5lEr9f8lJQFMB0GA1UdDgQWBBS1LSJi5\u002BeqBq8h974Ht9HTgIcdgTAF\r\nBgMrZXADQQCKjXbPwnk/DZHmLQstUWRzU6GSf\u002BSHTXTTZCtRLbmJKxT17Qlbpexc\r\nsRgdSpxNWpJPe9Fr4vwhRkESMqMIpgQO\r\n-----END CERTIFICATE-----\r\n",
    "-----BEGIN CERTIFICATE-----\r\nMIIByDCCAXqgAwIBAgIUUmA3\u002BLFCfvYfqHdPmUSv1/yUlAUwBQYDK2VwMCoxKDAm\r\nBgNVBAMMH0luc3RpdHV0ZSBvZiBQcm92ZW5hbmNlIFJvb3QgQ0EwHhcNMjUxMTAy\r\nMDMxNzEyWhcNMzAxMTAxMDMxNzEyWjAuMSwwKgYDVQQDDCNYSSBPYmplY3RzIElu\r\nYyBDb250cm9sIEludGVybWVkaWF0ZTAqMAUGAytlcAMhAFSS/pggSRmTcAMko7uc\r\nATH8OHgxVymd5mBFlPXbJkgio4GtMIGqMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYD\r\nVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQ7KbeYWbD\u002BqzV\u002BAqu6MKTGGtOTsjBlBgNV\r\nHSMEXjBcgBQAZRTDswSVORu\u002BkUOKX6WvrOvmQKEupCwwKjEoMCYGA1UEAwwfSW5z\r\ndGl0dXRlIG9mIFByb3ZlbmFuY2UgUm9vdCBDQYIUJqoJlpiSFg\u002B7W5IJLMrLttgR\r\nQp4wBQYDK2VwA0EA5FOht7YOsVRPp/FOKMQ\u002B3Mo9JxrvGR3ylKWAWNm6OUV7N3DB\r\nI9cD62wU5I0d0EKDBy0CX9DnoqUyxv5yguraAA==\r\n-----END CERTIFICATE-----\r\n",
    "-----BEGIN CERTIFICATE-----\r\nMIIBaTCCARugAwIBAgIUJqoJlpiSFg\u002B7W5IJLMrLttgRQp4wBQYDK2VwMCoxKDAm\r\nBgNVBAMMH0luc3RpdHV0ZSBvZiBQcm92ZW5hbmNlIFJvb3QgQ0EwHhcNMjUxMTAy\r\nMDMwNTEyWhcNMzUxMDMxMDMwNTEyWjAqMSgwJgYDVQQDDB9JbnN0aXR1dGUgb2Yg\r\nUHJvdmVuYW5jZSBSb290IENBMCowBQYDK2VwAyEAEWNZl\u002Br3IC7\u002BgBh90Yo1kWk1\r\npZCVzVuFdFT7qBBU8W2jUzBRMB0GA1UdDgQWBBQAZRTDswSVORu\u002BkUOKX6WvrOvm\r\nQDAfBgNVHSMEGDAWgBQAZRTDswSVORu\u002BkUOKX6WvrOvmQDAPBgNVHRMBAf8EBTAD\r\nAQH/MAUGAytlcANBAO6QeydOFNrN75qNyftggYudsxMyl4w9qWkSdZ6hlhrRcbSr\r\niG9Si0kbrIJOwYB/LTBU0RM4Rl\u002Bo9PM3Qp0mPwo=\r\n-----END CERTIFICATE-----\r\n"
  ],
  "key_id": "SDyVO7FvlAM-6CvQ62VZYOBO7JADFqLquUunUABRgKg",
  "created_at": "2026-05-14T12:10:16Z"
}
-->