随着 IRIS 中矢量数据类型和矢量搜索功能的引入,为应用程序的开发打开了一个充满可能性的世界,这些应用程序的一个示例是我最近在公开竞赛中看到的一个示例巴伦西亚卫生部要求提供一种工具来协助使用人工智能模型进行 ICD-10 编码。
我们如何实现与所请求的应用程序类似的应用程序?让我们看看我们需要什么:
IRIS 为我们提供什么来满足上述需求?
好吧,我们只需要看看开发的示例:
与本文相关,您可以访问已开发的应用程序,在接下来的文章中,我们将详细了解如何实现每个功能,从模型的使用、向量的存储和向量搜索的使用.
让我们回顾一下应用程序:
从配置屏幕中,我们被告知 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消息,只需将/shared/hl7/messagesa01_en.hl7文件复制到/shared/HL7In文件夹和相关生产将负责从中提取诊断结果并将其显示在 Web 应用程序中:
从诊断请求屏幕中,我们可以看到通过 HL7 消息传递收到的所有诊断。要将它们编码为 ICD-10,我们只需单击放大镜即可显示最接近收到的诊断结果的 ICD-10 代码列表:
选择后,我们将在列表中看到诊断及其相关的 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 个词形还原单词的元组(消除冠词、代词和其他不太相关的单词)。分析后,系统将向我们显示相关的带下划线的文本以及可能的诊断:
分析完成后,可以随时从分析历史记录中查阅。
所有进行的分析都会被记录并可以随时查阅,能够查看所有可能的 ICD-10 代码:
我们将了解如何使用嵌入式 Python,使用特定的 LLM 模型对用作上下文的 ICD-10 代码和自由文本进行矢量化。
如果您有任何问题或建议,请随时在文章中发表评论。
以上是d[IA]gnosis:使用 IRIS for Healt 开发 RAG 应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!