Dalam bidang perubatan, menggabungkan teknologi canggih adalah penting untuk meningkatkan penjagaan pesakit dan menambah baik metodologi penyelidikan. Penjanaan dipertingkatkan semula (RAG) ialah salah satu daripada inovasi perintis ini, menggabungkan kuasa model bahasa besar (LLM) dengan perolehan pengetahuan luaran. Dengan menarik maklumat yang berkaitan daripada pangkalan data, kesusasteraan saintifik dan rekod pesakit, sistem RAG menyediakan asas tindak balas yang lebih tepat dan diperkaya secara kontekstual, menangani batasan seperti maklumat lapuk dan halusinasi yang sering diperhatikan dalam LLM tulen.
Dalam gambaran keseluruhan ini, kami akan meneroka peranan RAG yang semakin meningkat dalam penjagaan kesihatan, memfokuskan pada potensinya untuk mengubah aplikasi seperti penemuan ubat dan ujian klinikal. Kami juga akan menyelami kaedah dan alatan yang diperlukan untuk menilai permintaan unik sistem RAG perubatan, seperti titik akhir LangChain NVIDIA dan rangka kerja Ragas, bersama-sama dengan set data MACCROBAT, koleksi laporan pesakit daripada PubMed Central.
Skalabiliti: Dengan data perubatan berkembang pada lebih 35% CAGR, sistem RAG perlu mengurus dan mendapatkan maklumat dengan cekap tanpa menjejaskan kelajuan, terutamanya dalam senario di mana cerapan tepat pada masanya boleh memberi kesan kepada penjagaan pesakit.
Keperluan Bahasa dan Pengetahuan Khusus: Sistem RAG perubatan memerlukan penalaan khusus domain memandangkan leksikon dan kandungan perubatan berbeza dengan ketara daripada domain lain seperti kewangan atau undang-undang.
Ketiadaan Metrik Penilaian Tersuai: Tidak seperti aplikasi RAG tujuan umum, RAG perubatan tidak mempunyai tanda aras yang sesuai. Metrik konvensional (seperti BLEU atau ROUGE) menekankan persamaan teks dan bukannya ketepatan fakta yang kritikal dalam konteks perubatan.
Penilaian Mengikut Komponen: Penilaian yang berkesan memerlukan penelitian bebas terhadap kedua-dua komponen perolehan dan penjanaan. Pengambilan semula mesti menarik data semasa yang relevan dan komponen penjanaan mesti memastikan kesetiaan kepada kandungan yang diambil.
Ragas, rangka kerja penilaian sumber terbuka, menawarkan pendekatan automatik untuk menilai saluran paip RAG. Kit alatnya memfokuskan pada perkaitan konteks, ingatan, kesetiaan, dan perkaitan jawapan. Dengan menggunakan model LLM-sebagai-hakim, Ragas meminimumkan keperluan untuk data beranotasi secara manual, menjadikan proses itu cekap dan menjimatkan kos.
Untuk penilaian RAG yang mantap, pertimbangkan langkah berikut:
Berikut ialah saluran paip contoh: diberikan soalan seperti "Apakah ukuran BP biasa dalam kegagalan jantung kongestif?" sistem mula-mula mendapatkan semula konteks yang berkaitan dan kemudian menilai sama ada respons menangani soalan dengan tepat.
Untuk mengikuti, buat akaun NVIDIA dan dapatkan kunci API. Pasang pakej yang diperlukan dengan:
pip install langchain pip install langchain_nvidia_ai_endpoints pip install ragas
Muat turun set data MACCROBAT, yang menawarkan rekod perubatan komprehensif yang boleh dimuatkan dan diproses melalui 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()
Menggunakan titik akhir NVIDIA dan LangChain, kami kini boleh membina penjana set ujian yang mantap dan mencipta data sintetik berdasarkan set data:
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)
Gunakan sistem RAG anda pada kedai vektor, menjana contoh soalan daripada laporan perubatan sebenar:
# 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?"]
Setiap soalan dipautkan dengan konteks yang diperoleh semula dan jawapan kebenaran asas yang dijana, yang kemudiannya boleh digunakan untuk menilai prestasi kedua-dua komponen perolehan dan penjanaan.
Sistem RAG perubatan mungkin memerlukan metrik tersuai untuk menilai ketepatan pengambilan semula. Sebagai contoh, metrik boleh menentukan sama ada dokumen yang diambil cukup relevan untuk pertanyaan carian:
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()])
Untuk penilaian yang cekap dan boleh dipercayai, output berstruktur memudahkan pemprosesan. Dengan titik akhir LangChain NVIDIA, susun respons LLM anda ke dalam kategori yang dipratentukan (mis., ya/tidak).
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 merapatkan LLM dan perolehan semula vektor padat untuk aplikasi berskala yang sangat cekap merentas domain perubatan, berbilang bahasa dan penjanaan kod. Dalam penjagaan kesihatan, potensinya untuk membawa respons yang tepat dan sedar dari segi konteks adalah jelas, tetapi penilaian mesti mengutamakan ketepatan, kekhususan domain dan kecekapan kos.
Garis paip penilaian yang digariskan, menggunakan data ujian sintetik, titik akhir NVIDIA dan Ragas, menawarkan kaedah yang teguh untuk memenuhi permintaan ini. Untuk menyelam lebih mendalam, anda boleh meneroka contoh Ragas dan NVIDIA Generative AI di GitHub.
Atas ialah kandungan terperinci Menilai Penjanaan Pertambahan Retrieval Perubatan (RAG) dengan Titik Akhir dan Ragas AI NVIDIA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!