ホームページ  >  記事  >  バックエンド開発  >  d[IA]gnosis: IRIS for Healt を使用した RAG アプリケーションの開発

d[IA]gnosis: IRIS for Healt を使用した RAG アプリケーションの開発

WBOY
WBOYオリジナル
2024-08-29 06:32:35932ブラウズ

IRIS でのベクトル データ型とベクトル検索機能の導入により、アプリケーション開発の可能性が無限に広がります。これらのアプリケーションの一例は、私が最近見たものです。バレンシアの保健省は、AI モデルを使用した ICD-10 コーディングを支援するツールをリクエストしました。

要求されたものと同様のアプリケーションを実装するにはどうすればよいでしょうか?何が必要なのか見てみましょう:

  1. ICD-10 コードのリスト。RAG アプリケーションのコンテキストとして使用して、プレーン テキスト内の診断を検索します。
  2. ICD-10 コード内の同等性を探すテキストをベクトル化するトレーニング済みモデル。
  3. ICD-10 コードとテキストの取り込みとベクトル化に必要な Python ライブラリ。
  4. 診断の候補を探すテキストをサポートするフレンドリーなフロントエンド。
  5. フロントエンドから受信したリクエストのオーケストレーション。

IRIS は上記のニーズをカバーするために何を提供しますか?

  1. RecordMapper 機能を使用するか、埋め込み Python を直接使用して CSV インポートします。
  2. 組み込み Python を使用すると、選択したモデルを使用してベクトルを生成するために必要な Python コードを実装できます。
  3. フロントエンド アプリケーションから呼び出される REST API を公開します。
  4. IRIS 内の情報の追跡を可能にする相互運用性のプロダクション。

そうですね、開発された例を確認するだけで十分です。

d[IA]gnosis

この記事に関連して、開発されたアプリケーションにアクセスできます。次の記事では、モデルの使用、ベクトルの保存、ベクトル検索の使用に至るまで、各機能を実装する方法を詳しく説明します。 .

アプリケーションを確認してみましょう:

ICD-10 コードのインポート

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

設定画面には、インポートする CSV ファイルが ICD-10 コードに準拠している必要があるという形式が示されます。読み込みとベクトル化のプロセスは多くの時間とリソースを消費します。そのため、Docker コンテナのデプロイメントでは、要件が割り当てられた RAM を超える場合に備えて、Docker が使用できる RAM メモリだけでなくディスク メモリも構成されます。

  # 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

ICD-10 コードを含むファイルはプロジェクト パス /shared/cie10/icd10.csv で入手できます。100% に達すると、アプリケーションを使用できるようになります。

私たちのアプリケーションでは、診断コーディング用に 2 つの異なる機能を定義しました。1 つはシステムで受信した HL7 メッセージに基づいており、もう 1 つはプレーン テキストに基づいています。

HL7 からの診断キャプチャ

プロジェクトには、テスト用に準備された HL7 メッセージがいくつか含まれています。/shared/hl7/messagesa01_en.hl7 ファイルを /shared/HL7In フォルダーにコピーするだけで済みます。関連するプロダクションは、そこから診断を抽出して Web アプリケーションに表示する責任を負います:

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

診断リクエスト画面から、HL7 メッセージング経由で受信したすべての診断を確認できます。それらを ICD-10 にコード化するには、虫眼鏡をクリックするだけで、受け取った診断に最も近い ICD-10 コードのリストが表示されます。

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

選択すると、診断とそれに関連する ICD-10 コードがリストに表示されます。封筒アイコンのボタンをクリックすると、元のメッセージを使用し、診断セグメント内で選択された新しいメッセージを含むメッセージが生成されます。

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||

このメッセージはパス /shared/HL7Out

にあります。

平文での診断のスクリーンショット

[テキスト アナライザー] オプションから、ユーザーは分析プロセスが実行されるプレーン テキストを含めることができます。アプリケーションは、見出し語化された 3 つの単語のタプルを検索します (冠詞、代名詞、およびその他の関連性の低い単語を削除します)。分析が完了すると、システムは関連する下線付きのテキストと、特定された可能性のある診断を表示します。

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

分析が実行されると、分析履歴からいつでも参照できます。

分析履歴

実行されたすべての分析は記録され、いつでも参照でき、利用可能なすべての ICD-10 コードを表示できます。

次の記事では...

組み込み Python を使用して、コンテキストとして使用する ICD-10 コードとフリー テキストの両方のベクトル化に特定の LLM モデルを使用する方法を見ていきます。

ご質問やご提案がございましたら、お気軽に記事にコメントを書いてください。

以上がd[IA]gnosis: IRIS for Healt を使用した RAG アプリケーションの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。