首页  >  文章  >  后端开发  >  d[IA]gnosis:使用 IRIS for Healt 开发 RAG 应用程序

d[IA]gnosis:使用 IRIS for Healt 开发 RAG 应用程序

WBOY
WBOY原创
2024-08-29 06:32:351180浏览

随着 IRIS 中矢量数据类型和矢量搜索功能的引入,为应用程序的开发打开了一个充满可能性的世界,这些应用程序的一个示例是我最近在公开竞赛中看到的一个示例巴伦西亚卫生部要求提供一种工具来协助使用人工智能模型进行 ICD-10 编码。

我们如何实现与所请求的应用程序类似的应用程序?让我们看看我们需要什么:

  1. ICD-10 代码列表,我们将使用它作为 RAG 应用程序的上下文来搜索纯文本中的诊断。
  2. 经过训练的模型,可对文本进行矢量化,我们将在其中查找 ICD-10 代码中的等效项。
  3. ICD-10 代码和文本的摄取和矢量化所需的 Python 库。
  4. 友好的前端,支持我们寻找可能诊断的文本。
  5. 对从前端收到的请求进行编排。

IRIS 为我们提供什么来满足上述需求?

  1. CSV 导入,可以使用 RecordMapper 功能或直接使用嵌入式 Python。
  2. 嵌入式 Python 允许我们实现使用所选模型生成向量所需的 Python 代码。
  3. 发布将从前端应用程序调用的 REST API。
  4. 互操作性产品,允许在 IRIS 内跟踪信息。

好吧,我们只需要看看开发的示例:

d[IA]灵知

与本文相关,您可以访问已开发的应用程序,在接下来的文章中,我们将详细了解如何实现每个功能,从模型的使用、向量的存储和向量搜索的使用.

让我们回顾一下应用程序:

导入 ICD-10 代码

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

从配置屏幕中,我们被告知 CSV 文件的格式必须符合我们要导入的 ICD-10 代码。加载和矢量化过程会消耗大量时间和资源,这就是为什么 Docker 容器的部署不仅要配置 Docker 可用的 RAM 内存,还要配置磁盘内存,以防需求超出分配的 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%,应用程序就可以使用了。

在我们的应用程序中,我们定义了两种不同的诊断编码功能,一种基于系统中接收到的 HL7 消息,另一种基于纯文本。

来自 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,使用特定的 LLM 模型对用作上下文的 ICD-10 代码和自由文本进行矢量化。

如果您有任何问题或建议,请随时在文章中发表评论。

以上是d[IA]gnosis:使用 IRIS for Healt 开发 RAG 应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn