1장. 과정 소개와 LLM 의 이해
LLM 챗봇의 짜임
식당에는 손님을 맞는 홀, 주문을 정리해 넘기는 주방 매니저, 요리하는 요리사, 재료가 있는 창고, 칼과 오븐 같은 연장이 있습니다. LLM 챗봇도 부분마다 맡은 일이 나뉘어 있습니다. 어느 부분을 어느 장에서 만드는지 알아 두면 과정 전체가 한눈에 들어옵니다.
윗줄은 질문이 흘러가는 길입니다. 파랑 화살표가 질문이 가는 길, 회청 화살표가 답이 돌아오는 길입니다. 사용자가 웹 화면에 질문을 쓰면, 챗봇 로직(LangChain)이 프롬프트를 꾸며 LLM 에 보내고, 받은 답을 다시 화면에 보여 줍니다. 아래의 두 상자(문서 검색, 도구)는 챗봇 로직이 필요할 때만 들르는 곳이라 하늘색 점선으로 이었습니다. 상자마다 적힌 장 번호가 그 부분을 만드는 장입니다. 여기서 홀이 웹 화면, 주방 매니저가 챗봇 로직, 요리사가 LLM, 창고가 문서 검색, 연장이 도구입니다.
부분마다 하는 일
| 부분 | 식당에서는 | 하는 일 | 쓰는 도구 | 장 |
|---|---|---|---|---|
| 웹 화면 | 홀 | 질문을 받고 답을 보여 준다 | Streamlit | 7장 |
| 챗봇 로직 | 주방 매니저 | 프롬프트를 꾸미고 부품을 잇는다 | LangChain(LCEL) | 3장, 4장 |
| LLM | 요리사 | 프롬프트를 읽고 답을 쓴다 | OpenAI API | 2장 |
| 대화 기억 | 주문 기록 | 앞의 대화를 모아 함께 보낸다 | LangChain 메모리 | 4장 |
| 문서 검색 | 창고 | 질문과 관련된 문서 조각을 찾는다 | FAISS, 임베딩 | 6장 |
| 도구 | 연장 | 계산, 파일 읽기 같은 일을 한다 | Tool Calling, MCP | 5장 |
질문 하나가 지나가는 길
"예약을 언제까지 바꿀 수 있나요?"라는 질문이 7장까지 만든 챗봇을 지나가는 순서입니다.
| 순서 | 부분 | 일어나는 일 |
|---|---|---|
| 1 | 웹 화면 | 손님이 질문을 쓰고 보내기를 누른다 |
| 2 | 문서 검색 | 약관에서 "예약 변경" 조항을 찾는다 |
| 3 | 챗봇 로직 | 시스템 메시지, 앞의 대화, 찾은 조항, 질문을 한 프롬프트로 꾸민다 |
| 4 | LLM | 프롬프트를 읽고 "출발 7일 전까지…"라는 답을 쓴다 |
| 5 | 웹 화면 | 답과 근거 조항을 손님에게 보여 준다 |
주의할 점
- 모든 챗봇에 모든 부분이 필요하지는 않습니다. 잡담 챗봇에는 문서 검색이 필요 없고, FAQ 안내에는 도구가 필요 없을 수 있습니다. 필요한 부분만 고릅니다.
- API 키는 챗봇 로직 쪽(서버)에만 둡니다. 웹 화면에 키가 보이면 누구나 가져다 쓸 수 있습니다. 키를 다루는 법은 2장에서 봅니다.