🔍

EasySearch - RAG Local

Completed 2024 • Architecture Microservices avec Traitement Local - Streamlit, Qdrant, Redis, Ollama

EasySearch (LocalRAG Easy Search) est une application Retrieval Augmented Generation (RAG) locale qui permet aux utilisateurs d'interroger leurs documents utilisant traitement du langage naturel. L'application utilise une architecture entièrement locale, assurant confidentialité et protection des données en traitant toutes opérations sur site sans envoyer données à services externes. Le système exploite LangChain pour orchestration RAG, Qdrant pour stockage vectoriel, Redis pour historique de conversation et Ollama pour inférence LLM locale. L'application prend en charge plusieurs formats de documents (PDF, DOCX, TXT, MD) et fournit interface de chat intuitive basée sur Streamlit pour question-réponse basée sur documents.

Data Science Apprentissage automatique Développement Python RAG Traitement du Langage Naturel Intégration IA/LLM Traitement de Documents

Aperçu

EasySearch (LocalRAG Easy Search) est une application Retrieval Augmented Generation (RAG) locale qui permet aux utilisateurs d'interroger leurs documents utilisant traitement du langage naturel. L'application utilise une architecture entièrement locale, assurant confidentialité et protection des données en traitant toutes opérations sur site sans envoyer données à services externes. Le système exploite LangChain pour orchestration RAG, Qdrant pour stockage vectoriel, Redis pour historique de conversation et Ollama pour inférence LLM locale. L'application prend en charge plusieurs formats de documents (PDF, DOCX, TXT, MD) et fournit interface de chat intuitive basée sur Streamlit pour question-réponse basée sur documents.

Fonctionnalités clés

✓

Application RAG locale avec traitement entièrement sur site

✓

Support multi-formats de documents (PDF, DOCX, TXT, MD)

✓

Question-réponse langage naturel basée sur contenu de documents

✓

Base de données vectorielle Qdrant pour recherche sémantique

✓

Historique de conversation basé sur Redis pour réponses contextuelles

✓

Inférence LLM locale Ollama (Llama3/Llama3.2)

✓

Interface de chat Streamlit pour interaction intuitive

✓

Architecture préservant confidentialité sans appels API externes

✓

Déploiement Docker Compose avec architecture microservices

✓

Indexation automatique de documents et génération d'embeddings

✓

Réponses basées uniquement sur documents (pas d'hallucination)

✓

Gestion d'historique de chat basée sur sessions

✓

pages.portfolio.projects.easysearch_local_rag.features.12

Principales fonctionnalités

⚡

Développement d'application RAG entièrement locale assurant confidentialité des données

⚡

Implémentation d'orchestration RAG basée sur LangChain avec stockage vectoriel Qdrant

⚡

Création de pipeline de traitement de documents multi-formats

⚡

Intégration d'Ollama pour inférence LLM locale sans dépendances externes

⚡

Construction d'historique de conversation basé sur Redis pour réponses contextuelles

⚡

Conception d'architecture microservices Docker Compose pour déploiement facile

Défis et solutions

Configuration LLM Local

Configuration d'Ollama pour inférence LLM locale facile avec modèles pré-configurés

Gestion de Stockage Vectoriel

Implémentation de base de données vectorielle Qdrant avec embeddings HuggingFace pour recherche sémantique efficace

Contexte de Conversation

Développement d'historique de chat basé sur Redis avec gestion de sessions pour maintien de contexte

Traitement de Documents

Intégration de chargeurs de documents LangChain pour support multi-formats (PDF, DOCX, TXT, MD)

Qualité de Réponse

Assurance de réponses basées sur documents utilisant prompts système et filtrage de contexte

Complexité de Déploiement

Orchestration de plusieurs services utilisant Docker Compose pour déploiement et gestion faciles

Technologies

RAG Framework

LangChain LangChain Community LangChain HuggingFace LangChain Qdrant LangChain Ollama

Vector Database

Qdrant HuggingFace Embeddings

LLM

Ollama Llama3 Llama3.2

Frontend

Streamlit

Storage

Redis Redis Stack

Document Processing

PyPDF Docx2txt TextLoader UnstructuredMarkdownLoader RecursiveCharacterTextSplitter

Deployment

Docker Docker Compose

Environment

Python 3.11+ Poetry

Informations du projet

Statut
Completed
Année
2024
Architecture
Architecture Microservices avec Traitement Local - Streamlit, Qdrant, Redis, Ollama
Category
Data Science