Knowledge ingestion
---
title: Knowledge ingestion
---
flowchart TD
Ingest[POST /knowledge/sources] --> Q[(sources: status=pending)]
Q --> W[dispatch-ingest-worker]
W --> Chunk[chunk source]
Chunk --> Embed[embed chunks<br/>voyage-3]
Embed --> Store[(knowledge_chunks<br/>vector 1024, HNSW)]
Store --> Done[status=embedded]
Embed -- provider error --> Fail[status=failed]
Fail -.retry with backoff.-> W