RAG_Hack icon indicating copy to clipboard operation
RAG_Hack copied to clipboard

Project: système de recherche optimisé par l'indexation avec FAISS

Open alice-crypto opened this issue 1 year ago • 1 comments

Project Name

Ragify

Description

Ce projet est une application web basée sur Flask, qui permet de gérer des documents textuels et d'effectuer des requêtes de type question-réponse en utilisant un modèle de langage basé sur OpenAI. Le projet inclut plusieurs fonctionnalités pour ajouter, stocker, et interroger des documents textuels tout en utilisant un système de recherche optimisé par l'indexation avec FAISS (un index de recherche vectorielle). Le projet se structure autour des éléments suivants :

Fonctionnalités Principales Ajout de Phrases et de Documents :

Les utilisateurs peuvent ajouter des documents ou phrases textuelles à une base de données via un endpoint. Chaque document est stocké et indexé dans FAISS pour permettre des recherches et des analyses rapides. Recherche et Gestion des Documents :

Une fonctionnalité permet d'extraire les documents pertinents en fonction d'une requête utilisateur en comparant le texte avec les documents indexés dans FAISS, tout en utilisant les embeddings générés par OpenAI. Question-Réponse :

Une fonctionnalité de type Question-Réponse (QA) permet aux utilisateurs de poser des questions en langage naturel. Le système utilise un modèle OpenAI pour comprendre la question, récupère les documents pertinents de la base de données, et utilise un pipeline d'intelligence artificielle pour générer une réponse. Indexation avec FAISS :

Le projet intègre FAISS, une bibliothèque de Facebook dédiée à la recherche et à l'indexation des vecteurs. Cette bibliothèque permet d'optimiser les recherches textuelles en créant des embeddings des documents et en indexant ces embeddings pour des recherches rapides et efficaces. Modèle de Langage OpenAI :

Le projet utilise les OpenAI Embeddings pour convertir des questions et des documents en vecteurs numériques. Ces vecteurs sont ensuite utilisés pour faire correspondre les requêtes des utilisateurs avec les documents les plus pertinents dans FAISS. Endpoints Disponibles /add_phrase : Permet d'ajouter une phrase/document à la base de données et de l'indexer dans FAISS.

/list_phrases : Retourne la liste de toutes les phrases/documents actuellement stockés dans la base de données.

/ask : Permet de poser une question en langage naturel et d'obtenir une réponse générée par le modèle de question-réponse basé sur les documents disponibles.

Technologies Utilisées Python/Flask : Framework web utilisé pour développer l'application backend. FAISS (Facebook AI Similarity Search) : Utilisé pour la recherche et l'indexation vectorielle des documents. OpenAI API : Pour générer des embeddings et des réponses basées sur les questions des utilisateurs. SQLAlchemy : Utilisé pour interagir avec la base de données (modèle Document). NumPy : Pour manipuler les vecteurs d'embeddings. Objectif Le projet vise à créer une application qui permet de poser des questions sur un ensemble de documents textuels ajoutés par les utilisateurs. Il permet ainsi d'indexer, rechercher, et analyser rapidement des documents grâce à des outils d'intelligence artificielle et des modèles de langage avancés.

Technology & Languages

  • [ ] JavaScript
  • [ ] Java
  • [ ] .NET
  • [X] Python
  • [ ] AI Studio
  • [ ] AI Search
  • [X] PostgreSQL
  • [ ] Cosmos DB
  • [ ] Azure SQL

Project Repository URL

https://github.com/alice-crypto/Ragify/tree/develop

Deployed Endpoint URL

No response

Project Video

https://www.youtube.com/watch?v=jQOpo8ZdtQg

Team Members

alice-crypto,

alice-crypto avatar Sep 16 '24 16:09 alice-crypto

Hello @alice-crypto, thank you for participating in RAG Hack!

The team is working hard to distribute badges. Please have each team member fill out this form: aka.ms/raghack/badge-dist

Thank you!

multispark avatar Oct 23 '24 01:10 multispark