← Retour Γ  l'accueil

πŸ” Neural RAG Process

DuckDB embeddings + semantic search pour retrieval augmentΓ©

Pipeline Neural RAG

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    πŸ“„ COSMIC Documents (6 files)    β”‚
β”‚         170+ pages, mixed formats   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  βœ‚οΈ Text Chunking    β”‚
    β”‚  β€’ 512 tokens/chunk  β”‚
    β”‚  β€’ Overlap: 50 tok   β”‚
    β”‚  β€’ 115+ chunks total β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  🧠 nomic-embed-text β”‚
    β”‚  β€’ Ollama local      β”‚
    β”‚  β€’ 768-dim vectors   β”‚
    β”‚  β€’ Batch: 32 chunks  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸ’Ύ DuckDB Storage   β”‚
    β”‚  β€’ Vector index      β”‚
    β”‚  β€’ 2.8 MB size       β”‚
    β”‚  β€’ In-memory         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸ” Query Processing │◄─── User Query
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸ“ Cosine Similarityβ”‚
    β”‚  β€’ Top-K: 5 chunks   β”‚
    β”‚  β€’ Threshold: 0.7    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸ“¦ Context Assembly β”‚
    β”‚  β€’ Merge chunks      β”‚
    β”‚  β€’ Add metadata      β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸ€– LLM Augmentation │──► Answer
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

4 Γ‰tapes du Process

1

Document Ingestion

Chargement des 6 documents COSMIC (170+ pages)

  • Markdown parsing
  • PDF extraction
  • Text chunking (512 tokens)
  • Metadata preservation
2

Embedding Generation

Transformation en vecteurs avec nomic-embed-text

  • 768-dimensional vectors
  • Batch processing (32 chunks/batch)
  • Local Ollama inference
  • ~78ms avg latency
3

DuckDB Storage

Indexation dans DuckDB vector database

  • 115+ chunks indexed
  • 2.8 MB database size
  • In-memory for speed
  • Disk persistence
4

Semantic Search

Recherche par similaritΓ© cosinus

  • Query embedding
  • Cosine similarity calculation
  • Top-K retrieval (k=5)
  • Context assembly

SpΓ©cifications Techniques

Documents
6 files
170+ pages
Chunks
115+
512 tokens each
Vector Dimension
768
nomic-embed-text
Database Size
2.8 MB
DuckDB
Avg Latency
78ms
embedding generation
Top-K Retrieval
5
most relevant chunks

πŸ’‘ Avantages ClΓ©s

  • 100% Local: Ollama inference = zero cloud dependency
  • Fast Search: 78ms average latency for semantic retrieval
  • Compact: 2.8 MB total footprint for 170+ pages
  • Precision: Cosine similarity threshold 0.7 filters noise
  • Scalable: DuckDB handles millions of vectors efficiently

πŸ“Š Architecture Visualisations

Platform Overview

Platform Overview Architecture

User Journey Flow

User Journey Flow