검색 증강 생성(RAG): 정의

정의

검색 증강 생성(RAG)은 시스템이 먼저 문서 모음에서 관련 구절을 찾아 질문과 함께 LLM에 건네, 답변이 그 텍스트에 근거하게 하는 방법입니다.

검색 증강 생성의 작동 방식

이 용어는 2020년 Lewis 등의 논문에서 나왔습니다. 사전 학습된 시퀀스 투 시퀀스 모델과 위키백과 구절의 검색 가능한 색인을 결합한 것이었습니다. 신경망 검색기가 입력에 관련된 구절을 가져오고, 생성기가 그것을 이용해 출력을 만들었습니다. 이 발상은 그 특정 설계보다 오래되고 넓으며, 지금은 이 이름이 많은 시스템을 가리킵니다.

전형적인 형태에는 네 단계가 있습니다.

  1. 색인. 문서를 구절로 나누어 검색 가능한 색인에 저장합니다. 단어뿐 아니라 의미로도 검색되도록 흔히 숫자 임베딩을 씁니다.
  2. 검색. 사용자의 질문을 쿼리로 바꾸고 가장 가까운 구절을 돌려줍니다.
  3. 증강. 그 구절들을 질문과 지시문 옆에 LLM의 입력으로 넣습니다.
  4. 생성. 모델이 가능하면 구절이 말하는 내용만 이용해 답변을 씁니다.

이점은 모델을 다시 학습시키지 않고 문서만 바꿔도 시스템이 아는 것을 바꿀 수 있다는 것입니다. 지식 베이스는 이런 시스템이 검색하는 문서 모음입니다.

검색이 정답을 보장하지는 않습니다. 검색이 엉뚱한 구절이나 아무것도 돌려주지 않을 수 있고, 구절들이 서로 모순될 수 있으며, 모델이 구절에 없는 내용을 덧붙일 수도 있습니다. 검색은 환각을 줄이지만 없애지는 못합니다.

음성 에이전트에게 중요한 이유

통화에서는 검색이 발신자가 기다리는 동안 일어납니다. 검색과 더 길어진 입력은 음성 지연에 더해지므로, 팀은 구절을 짧게 유지하고, 가져오는 수를 제한하며, 질문이 필요로 할 때만 검색하기도 합니다.

쿼리의 출발점도 음성 전사입니다. 잘못 들은 제품명이나 끝나지 않은 문장 때문에 검색이 엉뚱한 곳으로 갈 수 있습니다. 검색 전에 질문을 다시 쓰고 인식기에 예상 용어 목록을 주는 것이 둘 다 도움이 됩니다.

출력은 읽히는 것이 아니라 들립니다. 발신자는 출처 목록이나 긴 발췌문을 볼 수 없으므로, 에이전트는 가져온 텍스트를 한두 문장의 구어체로 바꾸고 관련된 것을 찾지 못했을 때는 분명히 그렇게 말해야 합니다.

예시

클리닉 전화 회선의 설명용 검색 사례입니다.

  • 발신자: “토요일에 예약 없이도 진료하나요?”
  • 가져온 구절: “토요일 진료 시간은 9시부터 1시까지이며 예약제로만 운영합니다.”
  • 에이전트: “토요일은 예약제로만 9시부터 1시까지 운영합니다. 예약해 드릴까요?”

출처

오늘 시작하세요

전문가와 상담하세요.

팀원과 연결해 Cartesia가 세계적 수준의 음성 경험을 만드는 데 어떻게 도움이 되는지 알아보세요.

영업팀 문의

개발을 시작하세요.

API로 모델을 사용하고 몇 분 만에 음성 에이전트를 프로덕션에 배포하세요.

Cartesia 사용해 보기