"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एनवीआईडीआईए एआई एंडपॉइंट और रागों के साथ मेडिकल रिट्रीवल-ऑगमेंटेड जेनरेशन (आरएजी) का मूल्यांकन

एनवीआईडीआईए एआई एंडपॉइंट और रागों के साथ मेडिकल रिट्रीवल-ऑगमेंटेड जेनरेशन (आरएजी) का मूल्यांकन

2024-11-15 को प्रकाशित
ब्राउज़ करें:583

Evaluating Medical Retrieval-Augmented Generation (RAG) with NVIDIA AI Endpoints and Ragas

चिकित्सा के क्षेत्र में, रोगी की देखभाल बढ़ाने और अनुसंधान पद्धतियों में सुधार करने के लिए उन्नत प्रौद्योगिकियों को शामिल करना आवश्यक है। पुनर्प्राप्ति-संवर्धित पीढ़ी (आरएजी) इन अग्रणी नवाचारों में से एक है, जो बाहरी ज्ञान पुनर्प्राप्ति के साथ बड़े भाषा मॉडल (एलएलएम) की शक्ति का मिश्रण है। डेटाबेस, वैज्ञानिक साहित्य और रोगी रिकॉर्ड से प्रासंगिक जानकारी खींचकर, आरएजी सिस्टम अधिक सटीक और प्रासंगिक रूप से समृद्ध प्रतिक्रिया आधार प्रदान करते हैं, जो शुद्ध एलएलएम में अक्सर देखी जाने वाली पुरानी जानकारी और मतिभ्रम जैसी सीमाओं को संबोधित करते हैं।

इस सिंहावलोकन में, हम स्वास्थ्य देखभाल में आरएजी की बढ़ती भूमिका का पता लगाएंगे, दवा खोज और नैदानिक ​​​​परीक्षण जैसे अनुप्रयोगों को बदलने की इसकी क्षमता पर ध्यान केंद्रित करेंगे। हम मेडिकल आरएजी सिस्टम की अनूठी मांगों का मूल्यांकन करने के लिए आवश्यक तरीकों और उपकरणों पर भी विचार करेंगे, जैसे कि एनवीआईडीआईए के लैंगचेन एंडपॉइंट्स और रागस फ्रेमवर्क, साथ ही मैकक्रोबैट डेटासेट, पबमेड सेंट्रल से रोगी रिपोर्टों का संग्रह।


मेडिकल आरएजी की प्रमुख चुनौतियाँ

  1. स्केलेबिलिटी: 35% से अधिक सीएजीआर पर मेडिकल डेटा के विस्तार के साथ, आरएजी सिस्टम को गति से समझौता किए बिना जानकारी को कुशलतापूर्वक प्रबंधित और पुनर्प्राप्त करने की आवश्यकता है, खासकर उन परिदृश्यों में जहां समय पर अंतर्दृष्टि रोगी की देखभाल को प्रभावित कर सकती है।

  2. विशेष भाषा और ज्ञान आवश्यकताएँ: मेडिकल आरएजी सिस्टम को डोमेन-विशिष्ट ट्यूनिंग की आवश्यकता होती है क्योंकि मेडिकल लेक्सिकॉन और सामग्री वित्त या कानून जैसे अन्य डोमेन से काफी भिन्न होती है।

  3. अनुरूप मूल्यांकन मेट्रिक्स का अभाव: सामान्य प्रयोजन आरएजी अनुप्रयोगों के विपरीत, मेडिकल आरएजी में उपयुक्त बेंचमार्क का अभाव है। पारंपरिक मेट्रिक्स (जैसे BLEU या ROUGE) चिकित्सा संदर्भों में महत्वपूर्ण तथ्यात्मक सटीकता के बजाय पाठ समानता पर जोर देते हैं।

  4. घटक-वार मूल्यांकन: प्रभावी मूल्यांकन के लिए पुनर्प्राप्ति और उत्पादन दोनों घटकों की स्वतंत्र जांच की आवश्यकता होती है। पुनर्प्राप्ति को प्रासंगिक, वर्तमान डेटा खींचना चाहिए, और पीढ़ी घटक को पुनर्प्राप्त सामग्री के प्रति विश्वसनीयता सुनिश्चित करनी चाहिए।

आरएजी मूल्यांकन के लिए रागों का परिचय

रागास, एक ओपन-सोर्स मूल्यांकन ढांचा, आरएजी पाइपलाइनों के आकलन के लिए एक स्वचालित दृष्टिकोण प्रदान करता है। इसका टूलकिट संदर्भ प्रासंगिकता, स्मरण, विश्वसनीयता और उत्तर प्रासंगिकता पर केंद्रित है। एलएलएम-ए-जज मॉडल का उपयोग करते हुए, रागस मैन्युअल रूप से एनोटेट किए गए डेटा की आवश्यकता को कम करता है, जिससे प्रक्रिया कुशल और लागत प्रभावी हो जाती है।

आरएजी सिस्टम के लिए मूल्यांकन रणनीतियाँ

मजबूत आरएजी मूल्यांकन के लिए, इन चरणों पर विचार करें:

  1. सिंथेटिक डेटा जनरेशन: सिंथेटिक परीक्षण डेटा बनाने के लिए वेक्टर स्टोर दस्तावेज़ों के आधार पर ट्रिपल डेटा (प्रश्न, उत्तर, संदर्भ) उत्पन्न करें।
  2. मीट्रिक-आधारित मूल्यांकन: उत्पन्न सिंथेटिक डेटा के प्रति इसकी प्रतिक्रियाओं की जमीनी सच्चाई के रूप में तुलना करते हुए, सटीकता और रिकॉल जैसे मेट्रिक्स पर आरएजी प्रणाली का मूल्यांकन करें।
  3. स्वतंत्र घटक मूल्यांकन: प्रत्येक प्रश्न के लिए, पुनर्प्राप्ति संदर्भ प्रासंगिकता और पीढ़ी की उत्तर सटीकता का आकलन करें।

यहां एक उदाहरण पाइपलाइन है: "कंजेस्टिव हृदय विफलता में विशिष्ट बीपी माप क्या हैं?" जैसे प्रश्न दिया गया है। सिस्टम पहले प्रासंगिक संदर्भ को पुनः प्राप्त करता है और फिर मूल्यांकन करता है कि क्या प्रतिक्रिया प्रश्न का सटीक समाधान करती है।

NVIDIA API और लैंगचेन के साथ RAG की स्थापना

आगे बढ़ने के लिए, एक NVIDIA खाता बनाएं और एक एपीआई कुंजी प्राप्त करें। इसके साथ आवश्यक पैकेज स्थापित करें:

pip install langchain
pip install langchain_nvidia_ai_endpoints
pip install ragas

MACCROBAT डेटासेट डाउनलोड करें, जो व्यापक मेडिकल रिकॉर्ड प्रदान करता है जिसे लैंगचेन के माध्यम से लोड और संसाधित किया जा सकता है।

from langchain_community.document_loaders import HuggingFaceDatasetLoader
from datasets import load_dataset

dataset_name = "singh-aditya/MACCROBAT_biomedical_ner"
page_content_column = "full_text"

loader = HuggingFaceDatasetLoader(dataset_name, page_content_column)
dataset = loader.load()

एनवीआईडीआईए एंडपॉइंट्स और लैंगचेन का उपयोग करके, अब हम एक मजबूत परीक्षण सेट जनरेटर बना सकते हैं और डेटासेट के आधार पर सिंथेटिक डेटा बना सकते हैं:

from ragas.testset.generator import TestsetGenerator
from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings

critic_llm = ChatNVIDIA(model="meta/llama3.1-8b-instruct")
generator_llm = ChatNVIDIA(model="mistralai/mixtral-8x7b-instruct-v0.1")
embeddings = NVIDIAEmbeddings(model="nv-embedqa-e5-v5", truncate="END")

generator = TestsetGenerator.from_langchain(
    generator_llm, critic_llm, embeddings, chunk_size=512
)
testset = generator.generate_with_langchain_docs(dataset, test_size=10)

पाइपलाइन की तैनाती और मूल्यांकन

अपने RAG सिस्टम को एक वेक्टर स्टोर पर तैनात करें, वास्तविक मेडिकल रिपोर्ट से नमूना प्रश्न तैयार करें:

# Sample questions
["What are typical BP measurements in the case of congestive heart failure?",
 "What can scans reveal in patients with severe acute pain?",
 "Is surgical intervention necessary for liver metastasis?"]

प्रत्येक प्रश्न एक पुनर्प्राप्त संदर्भ और उत्पन्न जमीनी सच्चाई के उत्तर से जुड़ा होता है, जिसका उपयोग पुनर्प्राप्ति और पीढ़ी दोनों घटकों के प्रदर्शन का मूल्यांकन करने के लिए किया जा सकता है।

रागों के साथ कस्टम मेट्रिक्स

मेडिकल आरएजी सिस्टम को पुनर्प्राप्ति परिशुद्धता का आकलन करने के लिए कस्टम मेट्रिक्स की आवश्यकता हो सकती है। उदाहरण के लिए, एक मीट्रिक यह निर्धारित कर सकता है कि पुनर्प्राप्त दस्तावेज़ किसी खोज क्वेरी के लिए पर्याप्त प्रासंगिक है या नहीं:

from dataclasses import dataclass, field
from ragas.evaluation.metrics import MetricWithLLM, Prompt

RETRIEVAL_PRECISION = Prompt(
    name="retrieval_precision",
    instruction="Is this result relevant enough for the first page of search results? Answer '1' for yes and '0' for no.",
    input_keys=["question", "context"]
)

@dataclass
class RetrievalPrecision(MetricWithLLM):
    name: str = "retrieval_precision"
    evaluation_mode = EvaluationMode.qc
    context_relevancy_prompt: Prompt = field(default_factory=lambda: RETRIEVAL_PRECISION)

# Use this custom metric in evaluation
score = evaluate(dataset["eval"], metrics=[RetrievalPrecision()])

परिशुद्धता और विश्वसनीयता के लिए संरचित आउटपुट

एक कुशल और विश्वसनीय मूल्यांकन के लिए, संरचित आउटपुट प्रसंस्करण को सरल बनाता है। NVIDIA के लैंगचेन एंडपॉइंट के साथ, अपनी एलएलएम प्रतिक्रिया को पूर्वनिर्धारित श्रेणियों (उदाहरण के लिए, हां/नहीं) में व्यवस्थित करें।

import enum

class Choices(enum.Enum):
    Y = "Y"
    N = "N"

structured_llm = nvidia_llm.with_structured_output(Choices)
structured_llm.invoke("Is this search result relevant to the query?")

निष्कर्ष

आरएजी मेडिकल, बहुभाषी और कोड जेनरेशन डोमेन में अत्यधिक कुशल, स्केलेबल अनुप्रयोगों के लिए एलएलएम और सघन वेक्टर पुनर्प्राप्ति को जोड़ता है। स्वास्थ्य सेवा में, सटीक, प्रासंगिक रूप से जागरूक प्रतिक्रियाएँ लाने की इसकी क्षमता स्पष्ट है, लेकिन मूल्यांकन में सटीकता, डोमेन विशिष्टता और लागत-दक्षता को प्राथमिकता दी जानी चाहिए।

सिंथेटिक परीक्षण डेटा, एनवीआईडीआईए एंडपॉइंट और रागों को नियोजित करते हुए उल्लिखित मूल्यांकन पाइपलाइन, इन मांगों को पूरा करने के लिए एक मजबूत तरीका प्रदान करती है। अधिक गहराई से जानने के लिए, आप GitHub पर रागों और NVIDIA जेनरेटिव AI उदाहरणों का पता लगा सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/koolkamalkishor/evaluating-medical-retrieval-augmented-generation-rag-with-nvidia-ai-endpoints-and-ragas-2m34?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3