


d[IA]gnosis: membangunkan aplikasi RAG dengan IRIS for Healt
Dengan pengenalan jenis data vektor dan fungsi Carian Vektor dalam IRIS, seluruh dunia kemungkinan terbuka untuk pembangunan aplikasi dan contoh aplikasi ini adalah yang baru-baru ini saya lihat diterbitkan dalam pertandingan awam oleh Kementerian Kesihatan dari Valencia di mana mereka meminta alat untuk membantu dalam pengekodan ICD-10 menggunakan model AI.
Bagaimanakah kami boleh melaksanakan aplikasi yang serupa dengan yang diminta? Mari lihat apa yang kita perlukan:
- Senarai kod ICD-10, yang akan kami gunakan sebagai konteks untuk aplikasi RAG kami untuk mencari diagnosis dalam teks biasa.
- Model terlatih yang mengvektorkan teks yang mana kita akan mencari persamaan dalam kod ICD-10.
- Perpustakaan Python yang diperlukan untuk pengingesan dan vektorisasi kod dan teks ICD-10.
- Halaman hadapan mesra yang menyokong teks yang kami cari untuk kemungkinan diagnosis.
- Orkestrasi permintaan yang diterima daripada bahagian hadapan.
Apakah yang IRIS sediakan kepada kami untuk menampung keperluan di atas?
- Import CSV, sama ada menggunakan fungsi RecordMapper atau terus menggunakan Python Terbenam.
- Python Terbenam membolehkan kami melaksanakan kod Python yang diperlukan untuk menjana vektor menggunakan model yang dipilih.
- Terbitkan REST API yang akan digunakan daripada aplikasi bahagian hadapan.
- Pengeluaran kebolehoperasian yang membenarkan penjejakan maklumat dalam IRIS.
Nah, kita hanya perlu melihat contoh yang dibangunkan:
d[IA]gnosis
Berkaitan dengan artikel ini, anda mempunyai akses kepada aplikasi yang dibangunkan, dalam artikel seterusnya kami akan melihat secara terperinci bagaimana kami melaksanakan setiap fungsi, daripada penggunaan model, penyimpanan vektor dan penggunaan carian vektor .
Jom semak permohonan:
Mengimport kod ICD-10
Dari skrin konfigurasi kami diberitahu format bahawa fail CSV mesti mematuhi kod ICD-10 yang akan kami import. Proses pemuatan dan vektorisasi memakan banyak masa dan sumber, itulah sebabnya penggunaan bekas Docker mengkonfigurasi bukan sahaja memori RAM yang boleh digunakan oleh Docker tetapi juga memori cakera sekiranya keperluan melebihi RAM yang diperuntukkan:
# iris iris: init: true container_name: iris build: context: . dockerfile: iris/Dockerfile ports: - 52774:52773 - 51774:1972 volumes: - ./shared:/shared environment: - ISC_DATA_DIRECTORY=/shared/durable command: --check-caps false --ISCAgent false mem_limit: 30G memswap_limit: 32G
Fail dengan kod ICD-10 tersedia dalam laluan projek /shared/cie10/icd10.csv, sebaik sahaja 100% dicapai, aplikasi akan sedia untuk digunakan.
Dalam aplikasi kami, kami telah menentukan dua fungsi berbeza untuk pengekodan diagnostik, satu berdasarkan mesej HL7 yang diterima dalam sistem dan satu lagi berdasarkan teks biasa.
Tangkapan diagnostik daripada HL7
Projek ini mengandungi beberapa mesej HL7 yang disediakan untuk ujian, ia hanya perlu menyalin fail /shared/hl7/messagesa01_en.hl7 ke folder /shared/HL7In dan pengeluaran yang berkaitan akan bertanggungjawab untuk mengekstrak diagnosis daripadanya untuk memaparkannya dalam aplikasi web:
Dari skrin permintaan diagnosis kita boleh melihat semua diagnosis yang diterima melalui pemesejan HL7. Untuk mengekodkannya kepada ICD-10, kita hanya perlu klik pada kaca pembesar untuk menunjukkan senarai kod ICD-10 yang paling hampir dengan diagnosis yang diterima:
Setelah dipilih, kami akan melihat diagnosis dan kod ICD-10 yang berkaitan dalam senarai. Dengan mengklik pada butang dengan ikon sampul surat, mesej akan dijana menggunakan yang asal dan termasuk yang baharu yang dipilih dalam segmen diagnosis:
MSH|^~\&|HIS|HULP|EMPI||||ADT^A08|592956|P|2.5.1 EVN|A01| PID|||1556655212^^^SERMAS^SN~922210^^^HULP^PI||GARCÍA PÉREZ^JUAN^^^||20150403|M|||PASEO PEDRO ÁLVAREZ 195 1 CENTRO^^LEGANÉS^MADRID^28379^SPAIN||555283055^PRN^^JUAN.GARCIA@YAHOO.COM|||||||||||||||||N| PV1||N DG1|1||O10.91^Unspecified pre-existing hypertension complicating pregnancy^CIE10-ES|Gestational hypertension||A||
Mesej ini boleh ditemui dalam laluan /shared/HL7Out
Tangkapan skrin diagnosis dalam teks biasa
Daripada pilihan Penganalisis Teks, pengguna boleh memasukkan teks biasa yang mana proses analisis akan dijalankan. Aplikasi akan mencari dalam tupel 3 perkataan yang dilemmatiskan (menghapuskan rencana, kata ganti nama dan perkataan lain yang kurang relevan). Setelah dianalisis, sistem akan menunjukkan kepada kami teks bergaris bawah yang berkaitan dan kemungkinan diagnosis yang ditemui:
Setelah analisis telah dijalankan, ia boleh dirujuk pada bila-bila masa daripada sejarah analisis.
Sejarah analisis
Semua analisis yang dijalankan direkodkan dan boleh dirujuk pada bila-bila masa, dapat melihat semua kemungkinan kod ICD-10 yang tersedia:
Dalam artikel seterusnya...
Kami akan melihat bagaimana, menggunakan Embedded Python, kami menggunakan model LLM khusus untuk vektorisasi kedua-dua kod ICD-10 yang akan kami gunakan sebagai konteks dan teks percuma.
Jika anda mempunyai sebarang soalan atau cadangan, jangan teragak-agak untuk menulis ulasan pada artikel tersebut.
Atas ialah kandungan terperinci d[IA]gnosis: membangunkan aplikasi RAG dengan IRIS for Healt. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.
