Maison  >  Article  >  développement back-end  >  OpenRAG : une application GenAI open source pour booster les requêtes de données avec de grands modèles de langage

OpenRAG : une application GenAI open source pour booster les requêtes de données avec de grands modèles de langage

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-22 14:17:02888parcourir

OpenRAG: An Open-Source GenAI Application to Supercharge Data Queries with Large Language Models

À l'ère de l'intelligence artificielle, les entreprises et les développeurs exploitent de plus en plus les grands modèles linguistiques (LLM) pour rationaliser l'analyse des données et les interactions avec les clients. OpenRAG, une application open source d'IA générative (GenAI), permet aux utilisateurs de combiner la flexibilité des LLM avec des capacités efficaces d'interrogation de données dans diverses bases de données vectorielles. Que vous travailliez avec des PDF, interrogeiez de grands ensembles de données ou recherchiez des informations à partir de données stockées, OpenRAG facilite l'interaction avec vos données à l'aide de requêtes en langage naturel.

Principales fonctionnalités d'OpenRAG

  1. Prise en charge de tous les modèles LLM open source OpenRAG est conçu pour s'intégrer à une variété de LLM open source, donnant aux utilisateurs la liberté de choisir le modèle qui correspond le mieux à leur cas d'utilisation unique. L'extensibilité de la plateforme permet une expansion future, garantissant que les utilisateurs peuvent exploiter les dernières avancées dans le domaine de l'IA sans aucune restriction.

  2. Bases de données vectorielles open source multiples Intégrations OpenRAG est préconfiguré pour prendre en charge les bases de données vectorielles open source populaires telles que Chroma, FAISS et Qdrant. Ces bases de données facilitent la recherche et la récupération de vecteurs hautes performances, garantissant aux utilisateurs d'obtenir des résultats précis lors de l'interrogation de leurs données.

  3. Téléchargement PDF et requête de données Une fonctionnalité remarquable d'OpenRAG est la possibilité de télécharger des fichiers PDF et de les convertir en collections de données structurées. Cela rend l'application très utile pour les professionnels traitant de gros volumes d'informations au format PDF. Une fois qu'un PDF est téléchargé, les utilisateurs peuvent interroger le contenu à l'aide d'un LLM de leur choix, extrayant ainsi des informations rapidement et efficacement.

  4. Noms de collection persistants pour la réutilisabilité OpenRAG attribue des noms de collection uniques aux PDF téléchargés, permettant aux utilisateurs de renvoyer et d'interroger les données sans avoir besoin de télécharger à nouveau les mêmes fichiers. Cette fonctionnalité permet de gagner du temps et rend la gestion des données plus transparente.

  5. Cohérence dans la base de données vectorielles Utilisation OpenRAG maintient la cohérence en liant les collections de données à des bases de données vectorielles spécifiques. Les utilisateurs ne peuvent pas changer de base de données une fois qu'elle est sélectionnée pour une collection, garantissant ainsi une récupération de données stable et précise à chaque fois.

Premiers pas avec OpenRAG

Avant de plonger dans le monde de l'interrogation de données basée sur l'IA, assurez-vous de remplir les conditions préalables suivantes pour une installation fluide :

Conditions préalables

Version Python : Assurez-vous que Python 3.9 ou supérieur est installé.
Qdrant Docker Image : OpenRAG s'intègre à Qdrant et l'image doit être en cours d'exécution. Assurez-vous que le port 6333 sur localhost est accessible.

Installation

  1. Cloner le dépôt :

clone de git https://github.com/yourrepo/openrag.git

  1. Créer un environnement virtuel :
python3 -m venv openrag-env
source openrag-env/bin/activate
  1. Installer les dépendances :

pip install -r exigences.txt

  1. Télécharger le modèle de langage Spacy :

python3 -m spacy télécharger en_core_web_sm

  1. Exécutez l'application :

uvicorn main:app --reload

Dockerisation pour un déploiement facile

Pour les développeurs qui préfèrent utiliser Docker pour le déploiement, OpenRAG peut être conteneurisé :

  1. Créer l'image Docker :

docker build -t openrag-app .

  1. Exécuter le conteneur :

docker run -d -p 8000:8000 openrag-app

Une fois l'application exécutée, accédez-y via http://localhost:8000 dans votre navigateur.

Utilisation : Interagissez avec OpenRAG via l'API

L'architecture API-first d'OpenRAG lui permet d'être intégré à diverses applications frontales. Voici un exemple de la façon de télécharger un PDF et d'interroger son contenu via une API :

Télécharger un PDF

curl -X POST "http://localhost:8000/upload" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "file=@yourfile.pdf" \
-F "model_name=GPT-3.5" \
-F "vector_db_name=qdrant"

Démarrer une session de discussion
Après avoir téléchargé un PDF, vous pouvez lancer une requête par chat :

curl -X POST "http://localhost:8000/chat" \
-H "Content-Type: application/json" \
-d '{
  "collection_name": "your_collection_name",
  "query": "your_query",
  "model_name": "GPT-3.5",
  "vector_db_name": "qdrant",
  "device": "cpu"
}'

Évolutivité avec OpenRAG
L'une des plus grandes forces d'OpenRAG est son évolutivité. Bien qu'il puisse être exécuté sur une machine locale à l'aide d'outils comme uvicorn, il est prêt pour la production et peut être déployé à l'aide de fournisseurs de cloud, Docker ou Kubernetes. Dans les environnements de production, OpenRAG prend en charge la mise à l'échelle via des outils tels que Gunicorn, offrant des performances robustes pour les cas d'utilisation à fort trafic.

Erreurs courantes et solutions
Pendant le développement, les utilisateurs peuvent rencontrer l'erreur courante suivante :

TypeError : Les descripteurs ne peuvent pas être créés directement.

Pour résoudre ce problème, envisagez de rétrograder le package protobuf vers la version 3.20.x ou inférieure, ou de définir la variable d'environnement

PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

Conclusion
OpenRAG se distingue comme une solution flexible et open source pour les utilisateurs cherchant à tirer parti de la puissance des LLM et des bases de données vectorielles pour l'interrogation et la compréhension des données. Que vous soyez développeur, chercheur ou utilisateur d'entreprise, OpenRAG fournit les outils nécessaires pour travailler avec vos données de manière très efficace et intuitive.

Pour une documentation détaillée sur l'API et plus d'exemples, visitez la documentation API d'OpenRAG.

Contribuer à OpenRAG
Nous apprécions les contributions de la communauté ! Pour plus de détails sur la façon de contribuer, de soumettre des problèmes ou de demander des fonctionnalités, consultez CONTRIBUTING.md.

Lien du dépôt Github
Ouvrir Rag Repo

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn