IT

RAG 사용방법

esmile1 2024. 8. 12. 14:27

개요

AI 모델, 특히 대규모 언어 모델(LLM)은 때때로 부정확한 정보를 생성할 수 있습니다. 이를 'AI 환각(AI hallucinations)'이라고 부르며, 이러한 문제를 해결하기 위해 RAG(Retrieval-Augmented Generation) 기술이 사용됩니다. 이 글에서는 KJV Bible Verses를 기반으로 Moses의 법과 Apostle Paul의 13개 서신에서 동일한 질문에 대해 다른 답변을 제공할 때, RAG를 활용하여 질문의 성격을 파악하고, 왕국복음과 은혜복음 중 어느 쪽에 속하는지 분별하여 성경 구절을 찾아주는 방법을 단계별로 소개합니다. 기준은 "rightly dividing the word of truth"입니다.

1단계: RAG의 기본 이해

  1. RAG의 개념
    • RAG는 LLM의 단점을 보완하기 위해 개발된 기술로, 외부 데이터베이스에서 관련 정보를 검색하여 모델의 응답을 보강합니다.
    • RAG는 LLM의 강력한 언어 이해 및 생성 능력과 외부 지식 활용을 결합하여 보다 정확한 정보를 제공합니다.
  2. RAG의 동작 원리
    • 사용자의 질문을 인코딩하여 이해하기 쉬운 형태로 변환합니다.
    • 외부 지식 베이스에서 관련 정보를 검색합니다.
    • 검색된 지식을 활용하여 사용자 질문에 대한 답변을 생성합니다.

2단계: 데이터 준비 및 벡터 스토어 구축

  1. 데이터 수집
    • KJV Bible Verses를 수집하여 Moses의 법과 Apostle Paul의 서신을 포함한 데이터셋을 준비합니다.
    • 각 구절은 책, 장, 절 번호와 함께 저장됩니다.
  2. 데이터 전처리 및 임베딩
    • 텍스트 데이터를 정규화하고, 임베딩 벡터 형태로 변환하여 벡터 데이터베이스에 저장합니다.
    • 임베딩은 관련 데이터가 비슷한 벡터 공간에 위치하도록 하여 검색 효율성을 높입니다.

3단계: RAG 시스템 구성

  1. 질의 인코딩 및 검색
    • 사용자가 질문을 입력하면, 질문을 임베딩 벡터로 변환하여 벡터 데이터베이스에서 관련 구절을 검색합니다.
    • 검색된 구절은 질문의 맥락을 형성하는 데 사용됩니다.
  2. 프롬프트 구성 및 답변 생성
    • 검색된 구절과 사용자의 질문을 합쳐서 프롬프트를 구성합니다.
    • LLM에 입력하여 맥락에 기반한 답변을 생성합니다.

4단계: 질문의 성격 파악 및 구절 분별

  1. 질문의 성격 파악
    • 질문이 Moses의 법에 속하는지, Apostle Paul의 서신에 속하는지 분석합니다.
    • 질문의 주제가 왕국복음에 속하는지, 은혜복음에 속하는지를 분별합니다.
  2. 구절 분별 및 검색
    • 질문의 성격에 따라 적절한 범주의 구절을 벡터 데이터베이스에서 검색합니다.
    • "rightly dividing the word of truth"를 기준으로 구절을 선택하여 정확한 답변을 제공합니다.

5단계: 결과 평가 및 개선

  1. 결과 평가
    • 생성된 답변의 정확성을 평가하고, 필요에 따라 개선합니다.
    • 사용자의 피드백을 수집하여 시스템의 성능을 지속적으로 향상시킵니다.
  2. 시스템 개선
    • RAG 시스템의 성능을 최적화하기 위해 추가적인 데이터 소스를 통합하거나, 임베딩 기법을 개선할 수 있습니다.
    • 지속적인 모니터링과 업데이트를 통해 시스템의 안정성과 신뢰성을 유지합니다.

결론

RAG를 활용하여 KJV Bible Verses 기반의 AI 시스템에서 AI 환각을 줄이고, 정확한 성경 구절을 제공하는 방법을 살펴보았습니다. RAG는 외부 지식을 효과적으로 활용하여 LLM의 한계를 극복하는 강력한 도구입니다. 이를 통해 사용자는 보다 정확하고 신뢰할 수 있는 정보를 얻을 수 있으며, 성경의 복잡한 주제에 대한 이해를 돕는 데 기여할 수 있습니다.