바이오모델RAG: RAG 기반 생물 모델링 어시스턴트

바이오모델RAG: RAG 기반 생물 모델링 어시스턴트
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

BioModels 데이터베이스에 저장된 SBML 모델을 Antimony 텍스트로 변환·요약하고, ChromaDB에 임베딩하여 RAG(Retrieval‑Augmented Generation) 파이프라인을 구축했다. 사용자는 자연어 질의만으로 모델의 핵심 구조·동역학을 빠르게 파악할 수 있으며, 컨텍스트 기반 검색으로 LLM의 환각을 크게 감소시켰다.

상세 분석

본 논문은 시스템 생물학 분야에서 널리 사용되는 BioModels 저장소의 방대한 SBML 모델을 인간이 이해하기 쉬운 형태로 제공하기 위한 엔드‑투‑엔드 파이프라인을 제시한다. 첫 단계에서는 BioModels API를 통해 모델 파일을 자동으로 다운로드하고, Tellurium·Antimony 라이브러리를 이용해 SBML을 Antimony 스크립트로 변환한다. 변환된 텍스트는 모델의 구조적 복잡성을 고려해 9개의 논리적 섹션(예: Compartments, Species, Reactions 등)으로 분할한다. 각 섹션은 사전 정의된 프롬프트(“Summarize the following segment of Antimony…”)를 사용해 Llama 3에게 요약을 요청함으로써, 원본 수치와 수식·변수명을 보존하면서도 길이를 제한한 텍스트 조각을 생성한다.

요약된 텍스트 조각은 sentence‑transformers의 all‑MiniLM‑L6‑v2 모델을 통해 384‑차원 벡터로 임베딩하고, ChromaDB에 저장한다. 사용자 질의는 동일한 임베딩 파이프라인을 거쳐 벡터화되며, 코사인 유사도 기반 검색으로 가장 유사한 5개의 텍스트 조각을 추출한다. 이 조각들은 “Context Piece 1~5” 형태로 LLM에게 전달되는 최종 프롬프트에 삽입된다. 프롬프트는 “You are a conversational agent. Answer the following question using the context provided. If the information is insufficient, state so.”라는 고정 문구와 함께 사용자의 질문을 포함한다.

실험에서는 온도 0, top‑k 20, top‑p 1.0 등 낮은 무작위성 파라미터가 요약 단계와 최종 응답 모두에서 토큰 셋 매칭(token‑set‑ratio)과 코사인 유사도를 크게 향상시켰으며, 비‑RAG(Llama 3 단독) 대비 환각 현상이 현저히 감소함을 확인했다. 특히, 토큰 셋 매칭 비율이 85 % 이상인 경우 비‑RAG 대비 30 % 이상 높은 정확도를 보였으며, 코사인 유사도 역시 0.78 → 0.92로 상승했다.

시스템 구현은 Streamlit 기반 웹 인터페이스와 백엔드 FastAPI로 구성돼, 사용자는 별도 IDE 없이 브라우저에서 질의를 입력하고 모델 요약·시뮬레이션 결과를 즉시 확인할 수 있다. 코드와 데이터베이스는 GitHub(https://github.com/TheBobBob/BioModelsRAG)와 공개 스트림릿 앱(https://biomodelsrag.streamlit.app/)에 공개돼 재현성과 확장성을 확보한다.

핵심 기여는 (1) 대규모 SBML 모델을 인간 친화적 텍스트로 자동 변환·요약하는 파이프라인, (2) 벡터 검색 기반 RAG를 통해 LLM의 환각을 억제하고 정확한 과학적 답변을 제공하는 방법, (3) 웹 기반 인터페이스를 통한 비전문가 친화적 접근성이다. 향후에는 모델 파라미터 최적화, 시뮬레이션 결과 시각화, 멀티‑모델 비교 기능 등을 추가해 시스템 생물학 연구 워크플로우 전반을 지원할 수 있을 것으로 기대된다.


댓글 및 학술 토론

Loading comments...

의견 남기기