View a markdown version of this page

의료용 생성형 AI 솔루션 개발 및 오케스트레이션 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

의료용 생성형 AI 솔루션 개발 및 오케스트레이션

이 가이드의 솔루션을 구축하려면 미세 조정된 LLMs을 사용하여 증강된 환자 데이터, 임상 및 진단 인사이트, 예측된 환자 결과를 의료 공급자에게 제공하는 RAG 아키텍처를 구축해야 합니다. 이를 위해서는 응집력 있고 효율적인 워크플로를 만들기 위해 여러 AWS 서비스 및 도구를 통합해야 합니다. 이 섹션에서는 다음에 대해 설명합니다.

  • Amazon Q Developer - Amazon Q Developer를 사용하여 개발 프로세스 중에 엔지니어링 질문 및 코드 오류를 해결합니다.

  • 다중 검색 RAG 설계 - 여러 리트리버를 사용하여 사용자의 질문에 대한 올바른 의료 컨텍스트를 가져오는 RAG 솔루션을 설계하고 구현합니다.

  • ReAct 에이전트 - 추론과 동적 작업을 결합하는 에이전트를 구현합니다.

Amazon Q Developer

생성형 AI 솔루션을 구축할 때 AI 에이전트와 연결 키 서비스를 생성하기 어려울 수 있습니다. 그러나 Amazon Q Developer는 고급 생성형 AI 어시스턴트에 대한 액세스를 제공하여 데이터 과학자와 AI 엔지니어를 지원합니다. Amazon Q는 사용자 질문과 코드 오류를 빠르고 정확하게 해결할 수 있으므로 LLM 개발 프로세스를 최적화하는 데 도움이 될 수 있습니다. Amazon Q는 Amazon Bedrock 파운데이션 모델을 사용하는 애플리케이션을 생성하는 개발자에게 상당한 이점을 제공합니다. 워크플로를 간소화하고 코드 품질을 향상시킬 수 있습니다. Python 스크립트 및 코드형 인프라(IaC) 구성 생성을 자동화하여 개발 시간과 노력을 크게 줄입니다. Amazon Q는 고급 리팩터링 기능을 통해 코드 성능을 개선하고, 보안 취약성을 식별하고, 개발자가 모범 사례를 준수하도록 할 수 있습니다. 또한 컨텍스트 인식 제안 및 설명을 제공하여 초보자의 학습 및 채택을 용이하게 하여 복잡한 코딩 작업을 더 쉽게 액세스하고 효율적으로 만들 수 있습니다.

다중 검색 RAG 설계

생성형 AI 애플리케이션에서 다중 검색기 RAG 파이프라인은 여러 데이터 소스에서 정보를 효율적으로 검색하여 의료 서비스 제공자와 임상의가 의료 질문에 답변하는 데 도움이 될 수 있습니다. 이 파이프라인은 다양한 유형의 리트리버를 사용하여 다양한 지식 기반에서 관련 데이터를 가져옵니다. 각 리트리버는 환자 기록, 진단 인사이트, 임상 정보 또는 의학 연구 및 학술 텍스트의 콘텐츠와 같은 특정 유형의 정보를 가져오는 데 특화되어 있습니다.

데이터의 특성과 특정 애플리케이션 요구 사항을 사용하여 사용 사례에 맞는 올바른 백엔드 지식 기반을 결정합니다. Amazon OpenSearch Service 벡터 데이터베이스는 이미지 진단 평가 요약, 퇴원 요약, 임상 보고서, 의학 연구, 학술 텍스트 콘텐츠를 포함한 대량의 비정형 또는 반정형 의료 데이터에 매우 적합합니다. 반면 Amazon Neptune과 같은 그래프 데이터베이스 서비스는 환자, 환자 기록, 의료 서비스 제공자, 약물, 증상, 치료 등 개체 간의 시간적 관계를 심층 탐색해야 하는 의료 사용 사례에 적합할 수 있습니다.

이 파이프라인의 중요한 구성 요소는 사용자 쿼리 의도 예측입니다. 이렇게 하면 시스템이 쿼리를 올바른 리트리버 체인으로 라우팅합니다. 예를 들어 임상의가 환자의 치료 이력, 증상, 병원과의 상호 작용, 병원 재입원 가능성 또는 잠재적 환자 결과에 대해 묻는 경우 쿼리 의도 예측 모듈은이 의도를 식별합니다. 의료 지식 그래프에서 환자 레코드 또는 시간순 치료 데이터를 가져올 수 있는 리트리버 체인으로 요청을 보냅니다. 또는 질병 발견, 특정 진단 평가 또는 학술 교과서의 특정 임상 절차 세부 정보에 대한 질문이 있는 경우 쿼리는 OpenSearch Service 벡터 데이터베이스에서이 정보를 가져올 수 있는 리트리버 체인으로 라우팅됩니다. 의 도구 호출 기능을 사용하여 사용자 질문을 사전 정의된 의도로 분류할 수 있는 Amazon Bedrock LLM에 사용자 지정 도구를 바인딩LangChain할 수 있습니다.

이 다중 검색 RAG 시스템에는 특정 지식 기반에 대한 액세스를 관리하도록 설계된 LangChain 에이전트가 포함되어 있습니다. LangChain를 사용하여 Amazon Bedrock LLM, 다양한 리트리버 및 도구 간의 상호 작용을 오케스트레이션할 수 있습니다. LangChain에는 의도 분류기, Neptune용 리트리버, OpenSearch Service용 리트리버 또는 사용자 의도를 분류하고 특정 지식 기반의 데이터에 구조화된 형식으로 액세스하도록 개발할 수 있는 기타 도구와 같은 사용자 지정 도구를 생성하는 데 도움이 되는 도구 호출 클래스가 포함되어 있습니다. 그런 다음 이러한 도구를 클래스에 공급하여 추론 및 행동(ReAct) 에이전트를 생성합니다. ReAct 에이전트는 사용자 질문을 처리하고, 질문에 답변하기 위한 순차적 단계를 계획한 다음 사용 가능한 도구를 반복적으로 실행하고 도구 응답을 처리하여 사용자 쿼리에 최종적으로 답변합니다.

다음 이미지는 효율적인 지식 검색 및 지능형 쿼리 해결을 위해 설계된 다중 검색기 RAG 시스템이 작동하는 방식을 보여줍니다. LangChain ReAct 에이전트는 사용자의 의도를 분석하고, 실행을 위한 구조화된 계획을 공식화하고, 가장 관련성이 높은 검색 도구를 선택합니다. 시스템은 이전 질문 캐시를 쿼리하고 환자 ID, 의학적 상태, 방문 날짜와 같은 주요 속성을 기반으로 유사한 쿼리를 확인합니다. 매우 유사한 질문이 발견되면 해당 답변이 직접 검색됩니다. 그렇지 않으면 에이전트가 적절한 리트리버를 실행합니다. 시스템은 치료 기록, 증상, 병원 상호 작용 또는 재입원 가능성과 같은 환자 중심 정보를 검색하기 위해 그래프 리트리버를 사용합니다. 진단 평가, 임상 절차 및 구조화된 의학적 결과를 위해 에이전트는 벡터 데이터베이스 리트리버를 사용합니다. 두 데이터 스토어의 컨텍스트 지식을 조합하여 포괄적인 응답을 생성해야 하는 시나리오에서 시스템은 지식 그래프와 벡터 데이터베이스의 결과를 통합하는 하이브리드 검색 전략을 사용합니다.

여러 LangChain리트리버를 사용하여 검색 증강 생성을 수행하는 아키텍처입니다.

ReAct 에이전트

추론 및 행동(ReAct) 에이전트는 다면 RAG 애플리케이션을 위해 설계되었습니다. 이러한 에이전트는 추론과 동적 작업의 강력한 조합을 제공하며, 특히 step-by-step 논리적 정보 검색 워크플로가 포함된 복잡한 애플리케이션에 적합합니다. 자세한 내용은 ReAct: Synergizing Reasoning and Acting in Language Models를 참조하세요.

의료 및 의료 맥락에서 임상의 또는 의사의 쿼리는 종종 다면적입니다. 예를 들어, 임상의는 “긴장성 및 제2형 당뇨병이 모두 있는 유사한 환자에게 어떤 치료를 받았나요?”라고 질문할 수 있습니다. 사용자 의도를 식별한 후, 즉 당뇨병 및 제2형 당뇨병에 대한 처리를 가져오려면 AI 에이전트가이 쿼리를 하위 작업으로 나눈 다음 가장 효율적인 검색 전략을 선택해야 합니다. 이 경우 AI 에이전트는 가장 관련성이 높은 노드(예: 환자 연령, 성별, 상태, 치료 및 약물)를 식별한 다음 그래프에서 이러한 개체와 해당 속성 및 관계를 쿼리해야 합니다. ReAct 에이전트는 LLM의 추론(논리 추론) 기능을 작업(외부 리소스 또는 지식 기반 쿼리 또는 상호 작용)과 결합하기 때문에 매우 유용합니다.

사용자 쿼리 "어떤 치료를 받았나요?"에 답하기 위해 다음 예제에서는 ReAct 에이전트의 작동 방식을 보여줍니다.

  1. 에이전트 추론 - ReAct 에이전트는 질문에 조건에 대한 정보(당뇨병 및 당뇨병) 검색이 포함되어 있다고 유추합니다. 환자 연령, 치료, 약물 및 분석할 기간을 고려합니다.

  2. 에이전트 작업 - 에이전트는 openCypher를 사용하여 지식 그래프에서 제2형 당뇨병 및 당뇨병과 관련된 치료를 쿼리합니다. 또한 투여 약물, 병원 방문 날짜, 약물 부작용, 알려진 환자 결과, 유사한 환자(예: 동일한 성별 및 연령의 환자)에 대한 교차 참조 데이터를 검색합니다.

  3. 에이전트 관찰 - 지식 그래프에서 에이전트는 최근 6개월간의 표 형식 데이터를 검색하여 당뇨병과 제2형 당뇨병이 모두 있는 환자에게 제공된 치료법을 검색합니다.

  4. 에이전트 추론 - 검색된 레코드의 결과의 순위를 매기기 위해 에이전트는 최신성, 약물 부작용 또는 알려진 환자 결과와 같은 중요한 속성을 식별합니다.

  5. 에이전트 작업 - 에이전트는 식별된 속성과 시스템 프롬프트를 통해 부여된 사전 정의된 로직을 기반으로 레코드의 순위를 다시 매깁니다.

  6. 응답 생성 - Amazon Bedrock의 LLM은 ReAct 에이전트가 준비한 컨텍스트를 기반으로 응답을 생성합니다.