d[IA]gnosis: Entwicklung von RAG-Anwendungen mit IRIS for Healt

WBOY
Freigeben: 2024-08-29 06:32:35
Original
1211 Leute haben es durchsucht

Mit der Einführung von Vektordatentypen und der Vektorsuchfunktion in IRIS eröffnet sich eine ganze Welt voller Möglichkeiten für die Entwicklung von Anwendungen, und ein Beispiel für diese Anwendungen ist das, das ich kürzlich in einem öffentlichen Wettbewerb von veröffentlicht habe Gesundheitsministerium aus Valencia, in dem ein Tool zur Unterstützung der ICD-10-Kodierung mithilfe von KI-Modellen angefordert wurde.

Wie könnten wir eine ähnliche Anwendung wie die angeforderte umsetzen? Mal sehen, was wir brauchen würden:

  1. Liste der ICD-10-Codes, die wir als Kontext für unsere RAG-Anwendung verwenden werden, um in den Klartexten nach Diagnosen zu suchen.
  2. Ein trainiertes Modell, das die Texte vektorisiert, in denen wir nach Äquivalenzen in den ICD-10-Codes suchen werden.
  3. Die Python-Bibliotheken, die für die Aufnahme und Vektorisierung von ICD-10-Codes und -Texten erforderlich sind.
  4. Ein benutzerfreundliches Frontend, das Texte unterstützt, in denen wir nach möglichen Diagnosen suchen.
  5. Orchestrierung der vom Frontend empfangenen Anfragen.

Was bietet uns IRIS, um die oben genannten Bedürfnisse zu decken?

  1. CSV-Import, entweder mit der RecordMapper-Funktionalität oder direkt mit Embedded Python.
  2. Embedded Python ermöglicht es uns, den Python-Code zu implementieren, der zum Generieren der Vektoren mithilfe des ausgewählten Modells erforderlich ist.
  3. Veröffentlichen Sie REST-APIs, die von der Front-End-Anwendung aufgerufen werden.
  4. Interoperabilitätsproduktionen, die die Verfolgung von Informationen innerhalb von IRIS ermöglichen.

Nun, wir müssen uns nur das entwickelte Beispiel ansehen:

d[IA]gnosis

Im Zusammenhang mit diesem Artikel haben Sie Zugriff auf die entwickelte Anwendung. In den nächsten Artikeln werden wir im Detail sehen, wie wir die einzelnen Funktionen implementieren, von der Verwendung des Modells über die Speicherung der Vektoren bis hin zur Verwendung von Vektorsuchen .

Lassen Sie uns den Antrag überprüfen:

ICD-10-Codes importieren

d[IA]gnosis: developing RAG applications with IRIS for Healt

Auf dem Konfigurationsbildschirm wird uns das Format mitgeteilt, in dem die CSV-Datei den ICD-10-Codes entsprechen muss, die wir importieren möchten. Der Lade- und Vektorisierungsprozess verbraucht viel Zeit und Ressourcen, weshalb die Bereitstellung des Docker-Containers nicht nur den von Docker nutzbaren RAM-Speicher konfiguriert, sondern auch den Festplattenspeicher, falls die Anforderungen den zugewiesenen RAM überschreiten:

  # 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
Nach dem Login kopieren

Die Datei mit den ICD-10-Codes ist im Projektpfad /shared/cie10/icd10.csv verfügbar. Sobald 100 % erreicht sind, ist die Anwendung einsatzbereit.

In unserer Anwendung haben wir zwei verschiedene Funktionalitäten für die Diagnosecodierung definiert, eine basierend auf im System empfangenen HL7-Nachrichten und eine andere basierend auf Klartexten.

Diagnoseerfassung von HL7

Das Projekt enthält einige zum Testen vorbereitete HL7-Nachrichten. Es ist lediglich erforderlich, die Datei /shared/hl7/messagesa01_en.hl7 in den Ordner /shared/HL7In zu kopieren und die Die zugehörige Produktion ist dafür verantwortlich, die Diagnose daraus zu extrahieren, um sie in der Webanwendung anzuzeigen:

d[IA]gnosis: developing RAG applications with IRIS for Healt

Auf dem Bildschirm „Diagnoseanfragen“ können wir alle über HL7-Nachrichten empfangenen Diagnosen sehen. Um sie nach ICD-10 zu kodieren, müssen wir nur auf die Lupe klicken, um eine Liste der ICD-10-Codes anzuzeigen, die der erhaltenen Diagnose am nächsten kommen:

d[IA]gnosis: developing RAG applications with IRIS for Healt

Nach der Auswahl sehen wir die Diagnose und den zugehörigen ICD-10-Code in der Liste. Durch Klicken auf die Schaltfläche mit dem Briefumschlagsymbol wird eine Nachricht generiert, die das Original verwendet und die im Diagnosesegment ausgewählte neue Nachricht enthält:

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||
Nach dem Login kopieren

Diese Nachricht befindet sich im Pfad /shared/HL7Out

Screenshots von Diagnosen im Klartext

Mit der Textanalysator-Option kann der Benutzer einfachen Text einfügen, für den ein Analyseprozess durchgeführt wird. Die Anwendung sucht in Tupeln von drei lemmatisierten Wörtern (wobei Artikel, Pronomen und andere weniger relevante Wörter eliminiert werden). Nach der Analyse zeigt uns das System den relevanten unterstrichenen Text und die möglichen Diagnosen an:

d[IA]gnosis: developing RAG applications with IRIS for Healt

Sobald die Analyse durchgeführt wurde, kann sie jederzeit im Analyseverlauf eingesehen werden.

Analyseverlauf

Alle durchgeführten Analysen werden aufgezeichnet und können jederzeit eingesehen werden, wobei alle möglichen verfügbaren ICD-10-Codes angezeigt werden können:

Im nächsten Artikel...

Wir werden sehen, wie wir mithilfe von Embedded Python ein spezifisches LLM-Modell für die Vektorisierung sowohl der ICD-10-Codes, die wir als Kontext verwenden werden, als auch der freien Texte verwenden.

Wenn Sie Fragen oder Anregungen haben, zögern Sie nicht, einen Kommentar zum Artikel zu schreiben.

Das obige ist der detaillierte Inhalt vond[IA]gnosis: Entwicklung von RAG-Anwendungen mit IRIS for Healt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage