في مجال الطب، يعد دمج التقنيات المتقدمة أمرًا ضروريًا لتعزيز رعاية المرضى وتحسين منهجيات البحث. يعد توليد الاسترجاع المعزز (RAG) أحد هذه الابتكارات الرائدة، حيث يمزج قوة نماذج اللغات الكبيرة (LLMs) مع استرجاع المعرفة الخارجية. من خلال سحب المعلومات ذات الصلة من قواعد البيانات والأدبيات العلمية وسجلات المرضى، توفر أنظمة RAG أساس استجابة أكثر دقة وإثراء للسياق، ومعالجة القيود مثل المعلومات القديمة والهلوسة التي غالبًا ما يتم ملاحظتها في ماجستير إدارة الأعمال النقي.
في هذه النظرة العامة، سنستكشف الدور المتنامي لـ RAG في مجال الرعاية الصحية، مع التركيز على قدرتها على تحويل التطبيقات مثل اكتشاف الأدوية والتجارب السريرية. سنتعمق أيضًا في الأساليب والأدوات اللازمة لتقييم المتطلبات الفريدة لأنظمة RAG الطبية، مثل نقاط نهاية LangChain من NVIDIA وإطار عمل Ragas، جنبًا إلى جنب مع مجموعة بيانات MACCROBAT، وهي مجموعة من تقارير المرضى من PubMed Central.
قابلية التوسع: مع توسع البيانات الطبية بمعدل نمو سنوي مركب يزيد عن 35%، تحتاج أنظمة RAG إلى إدارة المعلومات واسترجاعها بكفاءة دون المساس بالسرعة، خاصة في السيناريوهات التي يمكن أن تؤثر فيها الرؤى في الوقت المناسب على رعاية المرضى.
متطلبات اللغة والمعرفة المتخصصة : تتطلب أنظمة RAG الطبية ضبطًا خاصًا بالمجال نظرًا لأن المعجم الطبي والمحتوى يختلفان بشكل كبير عن المجالات الأخرى مثل التمويل أو القانون.
غياب مقاييس التقييم المخصصة : على عكس تطبيقات RAG ذات الأغراض العامة، يفتقر RAG الطبي إلى معايير مناسبة تمامًا. تؤكد المقاييس التقليدية (مثل BLEU أو ROUGE) على تشابه النص بدلاً من الدقة الواقعية المهمة في السياقات الطبية.
التقييم على أساس المكونات : يتطلب التقييم الفعال تدقيقًا مستقلاً لكل من مكونات الاسترجاع والتوليد. يجب أن يقوم الاسترجاع بسحب البيانات الحالية ذات الصلة، ويجب أن يضمن مكون الإنشاء الإخلاص للمحتوى المسترد.
يقدم Ragas، وهو إطار تقييم مفتوح المصدر، نهجًا آليًا لتقييم خطوط أنابيب RAG. تركز مجموعة أدواتها على ملاءمة السياق، والتذكر، والإخلاص، وملاءمة الإجابة. باستخدام نموذج LLM كقاضي، يقلل Ragas من الحاجة إلى البيانات المشروحة يدويًا، مما يجعل العملية فعالة وفعالة من حيث التكلفة.
للحصول على تقييم قوي لـ RAG، فكر في الخطوات التالية:
إليك مثال على خط الأنابيب: بالنظر إلى سؤال مثل "ما هي قياسات ضغط الدم النموذجية في قصور القلب الاحتقاني؟" يقوم النظام أولاً باسترداد السياق ذي الصلة ثم يقوم بتقييم ما إذا كانت الإجابة تتناول السؤال بدقة.
للمتابعة، قم بإنشاء حساب NVIDIA واحصل على مفتاح API. قم بتثبيت الحزم الضرورية باستخدام:
pip install langchain pip install langchain_nvidia_ai_endpoints pip install ragas
قم بتنزيل مجموعة بيانات MACCROBAT، والتي توفر سجلات طبية شاملة يمكن تحميلها ومعالجتها عبر LangChain.
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()
باستخدام نقاط نهاية NVIDIA وLangChain، يمكننا الآن إنشاء مولد مجموعة اختبار قوي وإنشاء بيانات تركيبية بناءً على مجموعة البيانات:
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?"]
يرتبط كل سؤال بسياق مسترجع وإجابة حقيقية تم إنشاؤها، والتي يمكن بعد ذلك استخدامها لتقييم أداء كل من مكونات الاسترجاع والتوليد.
قد تحتاج أنظمة RAG الطبية إلى مقاييس مخصصة لتقييم دقة الاسترجاع. على سبيل المثال، يمكن أن يحدد المقياس ما إذا كان المستند الذي تم استرداده ملائمًا بدرجة كافية لاستعلام البحث:
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()])
للحصول على تقييم فعال وموثوق، تعمل المخرجات المنظمة على تبسيط عملية المعالجة. باستخدام نقاط نهاية LangChain من NVIDIA، قم بتنظيم استجابة LLM الخاصة بك إلى فئات محددة مسبقًا (على سبيل المثال، نعم/لا).
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?")
تعمل RAG على ربط برامج LLM واسترجاع المتجهات الكثيفة لتطبيقات عالية الكفاءة وقابلة للتطوير عبر المجالات الطبية ومتعددة اللغات ومجالات توليد الأكواد. في مجال الرعاية الصحية، تكون قدرتها على تقديم استجابات دقيقة واعية بالسياق واضحة، ولكن التقييم يجب أن يعطي الأولوية للدقة، وخصوصية المجال، وفعالية التكلفة.
يوفر مسار التقييم المحدد، الذي يستخدم بيانات الاختبار الاصطناعية ونقاط نهاية NVIDIA وRagas، طريقة قوية لتلبية هذه المتطلبات. للتعمق أكثر، يمكنك استكشاف أمثلة Ragas وNVIDIA Geneative AI على GitHub.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3