[On-Device AI Chatbot] 5편: 문맥을 이해하는 챗봇: 로컬 RAG와 멀티 컨텍스트 구현
- TecAce Software
- 6시간 전
- 2분 분량

문맥을 이해하는 챗봇
로컬 RAG와 멀티 컨텍스트 구현
지난 4편에서는 기기 내부에서 동작하는 STT와 TTS를 연동하여 챗봇에게 '눈과 귀와 입'을 달아주었습니다. 하지만 챗봇이 아무리 사람의 말을 잘 알아듣고 자연스럽게 대답하더라도, 우리 회사의 사내 규정이나 특정 제품의 매뉴얼 등 '도메인 지식'을 모른다면 업무용 비서로서는 반쪽짜리에 불과합니다.
소형 언어 모델(SLM)은 크기가 작은 만큼 모든 사실적 지식을 파라미터 내부에 기억(Memorization)하는 데 한계가 있습니다. 이번 5편에서는 외부 인터넷 연결 없이 오직 스마트폰 내부에 저장된 문서를 읽고 답변하는 로컬 RAG(검색 증강 생성) 기술과, 다양한 대화 주제를 넘나드는 멀티 컨텍스트 스위칭(Multi-Context Switching)의 구현 과정을 상세히 다뤄보겠습니다.

1. 내 폰 안의 지식 창고: 온디바이스 RAG 도입
보안 지침 때문에 외부 클라우드로 사내 문서를 전송할 수 없는 상황에서, LLM에 새로운 지식을 주입하는 가장 안전하고 효과적인 방법은 기기 내부에서 RAG 파이프라인을 구축하는 것입니다.
최근 공개된 Google AI Edge의 RAG 라이브러리를 활용하면, 비용이 많이 드는 파인튜닝(Fine-tuning) 과정 없이도 애플리케이션에 특화된 데이터를 소형 언어 모델에 증강할 수 있습니다. 1000페이지 분량의 정보가 주어지더라도 RAG를 통해 모델에 입력할 가장 관련성 높은 몇 가지 데이터 조각을 신속하게 찾아낼 수 있습니다.
TecAce의 온디바이스 챗봇 앱은 사용자가 제공한 텍스트 파일(.txt)을 기기 내부에서 직접 임베딩하여 데이터베이스 파일(.bin)로 변환하고 보관합니다. 사용자의 질문이 입력되면, 이 로컬 임베딩 DB에서 질문과 의미적으로 가장 유사한 문단들을 검색(Retrieval)해 온디바이스 LLM에 컨텍스트로 주입함으로써 오프라인 상태에서도 정확한 근거를 바탕으로 답변을 생성해 냅니다.
2. 자유로운 주제 전환: 멀티 컨텍스트(Multi-Context) 스위칭
실제 업무 환경에서는 하나의 챗봇이 인사 규정, 제품 스펙, 기술 매뉴얼 등 수많은 주제의 문서를 다뤄야 합니다. TecAce 팀은 이를 검증하기 위해 '인테리어 키트 조립(Interior Kit Building)', 'Galaxy S25 스펙', 'Tesla 자동차 매뉴얼' 등 완전히 다른 도메인의 문서들을 테스트 케이스로 삼아 멀티 컨텍스트 환경을 구축했습니다.
사용자는 앱 내에서 파일 탐색기를 통해 원하는 도메인의 컨텍스트 파일(임베딩 DB)을 동적으로 변경할 수 있으며, 전환된 컨텍스트의 제목은 메인 UI 상단에 즉시 표시되어 사용자가 현재 어떤 지식 기반으로 대화 중인지 명확히 알 수 있게 구현되었습니다.
이 과정에서 가장 주의해야 할 점은 이전 대화의 잔재로 인한 환각(Hallucination)입니다. 예를 들어, 테슬라 매뉴얼에 대해 묻다가 갤럭시 S25 매뉴얼로 컨텍스트를 바꿨을 때 모델이 두 지식을 혼동해서는 안 됩니다. 이를 방지하기 위해, 사용자가 컨텍스트 파일을 전환할 때마다 기존의 채팅 기록(Chat history)을 자동으로 초기화하여 대화의 맥락이 섞이지 않도록 엄격히 통제했습니다.
3. 챗봇에서 AI 에이전트로: On-Device Function Calling
문서를 읽고 답하는 단계를 넘어, 챗봇이 사용자의 지시를 받아 기기의 기능을 직접 제어하거나 양식을 작성하는 진정한 '에이전트(Agent)'로 진화하기 위해서는 Function Calling(함수 호출) 기능이 필수적입니다.
Google AI Edge의 Function Calling 라이브러리를 사용하면, 온디바이스 언어 모델이 애플리케이션 내의 사전 정의된 함수나 API를 언제 호출할지 지능적으로 결정할 수 있습니다. 예를 들어, 사용자가 진료 예약 앱에서 자신의 병력과 개인 정보를 음성으로 말하면, 앱은 오프라인 LLM을 통해 음성을 텍스트로 변환하고 관련 정보를 정확히 추출한 뒤, 앱에 내장된 함수를 호출하여 개별 입력 필드를 자동으로 채울 수 있습니다.

다음 편 예고
"그렇다면 이렇게 문서를 읽고 답변하는 온디바이스 챗봇이 '진짜 문서에 있는 내용만' 진실하게 말하고 있는지 어떻게 확신할 수 있을까?"
LLM은 본질적으로 확률에 기반한 언어 생성을 하므로, 기존의 규칙 기반(Rule-based) 소프트웨어 테스트 방식으로는 그 품질을 검증하기 어렵습니다.
이어지는 [6편] AI 품질, 어떻게 검증할까? (Introduction to SuperVision)에서는 생성형 AI의 고질적 문제인 '환각(Hallucination)'을 잡아내고 챗봇의 정확도(Factuality)를 객관적인 수치로 평가하기 위해 TecAce가 도입한 자동화 검증 도구, 'AI SuperVision'에 대해 상세히 알아보겠습니다.

댓글