Logo Lanfrica

maimouna-mbacke/wolof-RAG

Domaine:

natural language processing

Type de record:

software
Créateur:
mai
Hôte:
Local RAG system for Wolof linguistics - ChromaDB + LLM pipeline. # wolof-RAG **Retrieval-Augmented Generation for Wolof linguistics** *Semantic search · Multi-LLM generation · Confidence scoring · Evaluation dashboard* --- ## What is this? `wolof-RAG` is a local RAG system built for **Wolof**, a Niger-Congo language. The system indexes a curated corpus of primary Wolof linguistic sources into a semantic vector store, enabling grounded question-answering with full source traceability and confidence scoring. A companion to `wolof-nlp`, which handles Wolof text processing (tokenisation, POS tagging, NER, morphological glossing). --- ## Why this project matters Most mainstream NLP tooling has little to no support for Wolof. This project explores how Retrieval-Augmented Generation can be adapted to low-resource languages using curated linguistic corpora, semantic retrieval, and transparent confidence scoring. --- ## Features - **End-to-end RAG pipeline** — PDF extraction → linguistic chunking → vector indexing → retrieval → LLM generation - **Confidence scoring** — every chunk is scored; the system flags low-confidence responses rather than hallucinating - **Multi-LLM support** — RAG only (no API), Groq/Llama 3 (free), or Claude/Anthropic (paid) - **Structured knowledge base** — 5,585 segments across 13 linguistic categories (morphology, syntax, phonology, TAM, noun classes, clitics, etc.) - **Evaluation dashboard** — real-time latency, confidence tracking, and query history in the Streamlit interface - **Bilingual** — responds in the language of the question (French or English) --- ## Architecture ``` Wolof_Resources/ ← Source PDFs (grammar books, papers, dissertations) │ ▼ extract_text.py ← PDF text extraction (PyPDF2) │ ▼ segment_texts.py ← Chunking: clean → classify (5 types) → split │ ▼ extract_knowledge.py ← Keyword extraction → 13 linguistic categories │ ▼ build_rag.py ← ChromaDB vector indexing (5,585 segments) │ ▼ wolof_query.py ← Semantic sear …

Languages

Licenses