• यह एक ऐसा लेख था जिसमें Kaggle पर अवैध रूप से अपलोड किए गए Harry Potter dataset का उपयोग करके SQL-आधारित RAG application बनाने की प्रक्रिया दिखाई गई थी, लेकिन इसे पहले ही हटा दिया गया है
  • Azure SQL और Microsoft Fabric SQL DB, native vector search को support करते हैं, और langchain-sqlserver के जरिए Vector Store management संभव है
  • Azure Blob Storage से load करना, text chunking, Azure OpenAI embeddings बनाना, और फिर vectors को SQL में store करने का flow बनाया गया है
  • vector similarity search और metadata filter का उपयोग करके सटीक Q&A system बनाया गया है
  • उसी vector store का उपयोग करके GPT4o-आधारित fan fiction generation feature तक विस्तार किया गया है
  • Archive.is लिंक

Azure SQL native vector support और LangChain integration

  • Azure SQL और Microsoft Fabric SQL DB में native vector search feature public preview में उपलब्ध है
  • langchain-sqlserver package जारी होने से SQL Server को LangChain Vector Store के रूप में manage किया जा सकता है
    • PyPI और GitHub repository के जरिए installation और sample code उपलब्ध हैं
  • Azure SQL DB, LangChain, और LLM को जोड़कर सिर्फ कुछ lines of code से generative AI feature जोड़ा जा सकता है

example dataset की संरचना

  • Kaggle द्वारा उपलब्ध Harry Potter 7-पुस्तक text dataset का उपयोग किया गया
    • इसमें 7 .txt files शामिल हैं
    • demo में केवल पहली पुस्तक Harry Potter and the Sorcerer’s Stone का उपयोग किया गया
  • आम तौर पर परिचित dataset का उपयोग करके समझने में आसान उदाहरण तैयार किया गया

sample application बनाने के चरण

1. langchain-sqlserver package install करना

  • pip install langchain-sqlserver==0.1.1 command से integration package install किया जाता है
  • SQL-आधारित vector store feature सक्रिय होता है

2. Azure Blob Storage data load और chunking

  • Harry Potter text file को Azure Blob Storage में store करके फिर load किया जाता है
  • LangChain के AzureBlobStorage integration feature का उपयोग किया गया
  • langchain-text-splitter से लंबे text को छोटे chunks में बांटा गया
    • Azure OpenAI embedding input token limits से निपटने के लिए

3. embeddings और Chat Completion define करना

  • Azure OpenAI का उपयोग करके हर chunk के लिए text embeddings generate किए जाते हैं
  • LangChain में उपलब्ध अन्य embedding models से भी इसे बदला जा सकता है
  • Chat Completion configuration के जरिए question-answering के लिए तैयारी की जाती है

4. Vector Store initialize करना और documents insert करना

  • AzureOpenAI embeddings के साथ Vector Store initialize किया जाता है
  • add_documents function से documents और embeddings को Azure SQL में store किया जाता है
  • कम code में vector generation और storage संभव है

5. similarity search चलाना

  • similarity_search_with_score function से vector similarity search चलाया जाता है
  • metadata filter support उपलब्ध है
    • खास metadata properties के आधार पर search scope को सीमित किया जा सकता है

Use Case 1: Q&A system बनाना

  • SQL Vector Store और LangChain-आधारित story Q&A system लागू किया गया है
  • user question पर top 10 relevant documents खोजकर response generate किया जाता है
  • vector_store-आधारित retriever बनाया जाता है
  • create_stuff_documents_chain से question-answer chain बनाई जाती है
  • ChatPromptTemplate से structured response format define किया जाता है
  • create_retrieval_chain इस्तेमाल करने पर retrieved documents "context" key के साथ लौटते हैं
    • response generation में उपयोग किए गए source display feature का support मिलता है

Use Case 2: Harry Potter fan fiction generation

  • vector store के आधार पर नया AI fan fiction generation feature लागू किया गया है
  • user prompt देने पर संबंधित paragraphs खोजे जाते हैं
    • SQL vector store में stored embeddings के आधार पर context similarity खोजी जाती है
  • retrieved paragraphs को एक string में व्यवस्थित कर model input context बनाया जाता है
  • GPT4o model को context और user prompt साथ में दिया जाता है
    • मौजूदा context elements को प्रतिबिंबित करती नई कहानी बनाई जाती है
  • generated result के साथ referenced vector source information भी दिखाई जाती है

integrated usage scenario

  • Q&A system और fan fiction generation feature को जोड़कर interactive reading experience दिया जाता है
    • किताब की सामग्री समझनी हो तो Q&A उपयोग किया जा सकता है
    • किसी खास scene का विस्तार या alternative ending बनाया जा सकता है

code samples और resources

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.