1 points par GN⁺ 2026-02-20 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Il s’agissait d’un article, désormais supprimé, présentant le processus d’implémentation d’une application RAG basée sur SQL à partir d’un dataset Harry Potter mis en ligne illégalement sur Kaggle
  • Azure SQL et Microsoft Fabric SQL DB prennent en charge la recherche vectorielle native, et langchain-sqlserver permet la gestion d’un Vector Store
  • Le flux couvre le chargement depuis Azure Blob Storage, le découpage du texte en chunks, la génération d’embeddings avec Azure OpenAI, puis le stockage des vecteurs dans SQL
  • Utilisation de la recherche par similarité vectorielle et de filtres de métadonnées pour construire un système de Q&A précis
  • Extension de l’implémentation jusqu’à une fonction de génération de fan fiction basée sur GPT4o en réutilisant le même vector store
  • Lien Archive.is

Prise en charge vectorielle native d’Azure SQL et intégration avec LangChain

  • Azure SQL et Microsoft Fabric SQL DB proposent en preview publique une fonction de recherche vectorielle native
  • Avec la publication du package langchain-sqlserver, SQL Server peut être géré comme LangChain Vector Store
    • Installation et exemples de code fournis via les dépôts PyPI et GitHub
  • En combinant Azure SQL DB, LangChain et un LLM, il est possible d’ajouter des fonctions d’IA générative avec seulement quelques lignes de code

Composition du dataset d’exemple

  • Utilisation d’un dataset texte des 7 tomes de Harry Potter fourni sur Kaggle
    • Contient 7 fichiers .txt
    • Dans la démo, seul le tome 1, Harry Potter and the Sorcerer’s Stone, est utilisé
  • Un dataset largement connu est utilisé pour proposer un exemple facile à comprendre

Étapes de construction de l’application d’exemple

1. Installation du package langchain-sqlserver

  • Installation du package d’intégration avec la commande pip install langchain-sqlserver==0.1.1
  • Activation des fonctionnalités de vector store basées sur SQL

2. Chargement des données depuis Azure Blob Storage et découpage en chunks

  • Stockage puis chargement des fichiers texte Harry Potter dans Azure Blob Storage
  • Utilisation de la fonction d’intégration AzureBlobStorage de LangChain
  • Découpage des textes longs en petits chunks avec langchain-text-splitter
    • Pour répondre aux limites de tokens en entrée des embeddings Azure OpenAI

3. Définition des embeddings et de Chat Completion

  • Utilisation d’Azure OpenAI pour générer des embeddings textuels pour chaque chunk
  • Possibilité de remplacer par divers modèles d’embeddings proposés par LangChain
  • Préparation du traitement question-réponse via la configuration de Chat Completion

4. Initialisation du Vector Store et insertion des documents

  • Initialisation du Vector Store avec les embeddings AzureOpenAI
  • Stockage des documents et des embeddings dans Azure SQL avec la fonction add_documents
  • Génération et stockage des vecteurs possibles avec peu de code

5. Exécution de la recherche par similarité

  • Exécution d’une recherche par similarité vectorielle avec la fonction similarity_search_with_score
  • Prise en charge des filtres de métadonnées
    • Possibilité de restreindre la portée de recherche selon des propriétés de métadonnées spécifiques

Cas d’usage 1 : construction d’un système de Q&A

  • Implémentation d’un système de Q&A sur l’histoire basé sur SQL Vector Store et LangChain
  • Pour chaque question utilisateur, recherche des 10 documents les plus pertinents avant génération de la réponse
  • Création d’un retriever à partir de vector_store
  • Construction d’une chaîne question-réponse avec create_stuff_documents_chain
  • Définition d’un format de réponse structuré avec ChatPromptTemplate
  • Avec create_retrieval_chain, les documents récupérés sont aussi renvoyés via la clé "context"
    • Prise en charge de l’affichage des sources utilisées pour générer la réponse

Cas d’usage 2 : génération de fan fiction Harry Potter

  • Implémentation d’une nouvelle fonction de génération de fan fiction par IA à partir du vector store
  • Lorsqu’un utilisateur saisit un prompt, recherche de paragraphes pertinents
    • Recherche de similarité contextuelle à partir des embeddings stockés dans le vector store SQL
  • Regroupement des paragraphes retrouvés en une seule chaîne pour constituer le contexte d’entrée du modèle
  • Transmission conjointe du contexte et du prompt utilisateur au modèle GPT4o
    • Génération d’une nouvelle histoire intégrant des éléments du contexte existant
  • Affichage également des informations sur les sources vectorielles référencées avec le résultat généré

Scénario d’utilisation intégré

  • La combinaison du système de Q&A et de la génération de fan fiction permet d’offrir une expérience de lecture interactive
    • Utilisation du Q&A lorsqu’il faut comprendre le contenu du livre
    • Possibilité d’étendre une scène donnée ou de générer une fin alternative

Exemples de code et ressources

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.