LangChain 챗봇4장 · 대화형 챗봇과 메모리 전략2 / 22← 이전목차다음 →MetaContents

4장. 대화형 챗봇과 메모리 전략

용어 짚고 가기

  • 구조화된 출력(structured output)모델의 답을 줄글 대신 정해 둔 칸(열쇠와 값)으로 받는 것입니다. structure 는 "짜임, 구조"라는 뜻입니다.
  • JSON(JavaScript Object Notation)자바스크립트 객체 표기법입니다. JavaScript(웹 프로그래밍 언어), Object(객체), Notation(표기법)의 머리글자입니다. {"목적지": "제주도"} 처럼 열쇠와 값을 적는 글의 형식으로, 파이썬의 사전과 모양이 거의 같습니다.
  • 파서(parser)글을 읽어 쓰기 좋은 모양(글자열, 사전, 객체)으로 바꾸는 부품입니다. parse 는 "문장을 낱낱이 뜯어 분석하다"라는 뜻입니다.
  • JsonOutputParser모델이 쓴 JSON 글을 파이썬 사전으로 바꾸는 LangChain 의 파서입니다. Output 은 "출력"이라는 뜻입니다.
  • 스키마(schema)데이터가 어떤 칸과 어떤 자료형을 가져야 하는지 적은 설계도입니다. 그리스 말로 "모양, 형태"라는 뜻에서 왔습니다.
  • Pydantic파이썬 클래스로 데이터의 틀을 정하고, 들어온 값이 틀에 맞는지 검사하는 라이브러리입니다. Py(파이썬)와 pedantic(깐깐한)을 합친 이름으로, 값을 깐깐하게 검사한다는 뜻을 담았습니다.
  • BaseModelPydantic 에서 틀을 만들 때 물려받는 기본 클래스입니다. base 는 "바탕"이라는 뜻입니다.
  • FieldPydantic 틀의 칸 하나에 설명(description)과 범위(ge, le) 같은 조건을 붙이는 함수입니다. field 는 "입력 칸"이라는 뜻입니다.
  • 검증(validation)값이 정해 둔 조건에 맞는지 확인하는 일입니다. valid 는 "유효한"이라는 뜻입니다. 맞지 않으면 ValidationError 가 납니다.
  • with_structured_output모델에게 틀(스키마)을 건네고, 그 틀에 맞춘 답을 객체로 돌려받게 하는 LangChain 의 메서드입니다. "구조화된 출력과 함께"라는 뜻입니다.
  • 메모리(memory)챗봇이 앞의 대화를 기억하는 것처럼 보이게 하는 장치입니다. 실제로는 우리 코드가 대화 기록을 모아 두었다가 요청마다 함께 보냅니다. memory 는 "기억"이라는 뜻입니다.
  • 대화 기록(chat history)지금까지 주고받은 메시지의 목록입니다. history 는 "지나온 일, 역사"라는 뜻입니다.
  • MessagesPlaceholder프롬프트 틀 안에 메시지 목록이 들어갈 자리를 비워 두는 부품입니다. placeholder 는 "자리를 맡아 두는 것"이라는 뜻입니다.
  • 세션(session)한 사람과 이어지는 대화 한 묶음입니다. 세션 id(identifier, 식별자)로 손님마다의 기록을 나눕니다. session 은 "한 차례의 모임, 회기"라는 뜻입니다.
  • InMemoryChatMessageHistory대화 기록을 컴퓨터 메모리(RAM) 안의 목록에 담아 두는 LangChain 의 기록 상자입니다. in memory 는 "메모리 안에"라는 뜻으로, 프로그램을 끄면 사라집니다.
  • RunnableWithMessageHistory체인을 감싸서, 부를 때마다 세션의 기록을 꺼내 넣고 답이 나오면 기록에 덧붙이는 LangChain 의 부품입니다. "메시지 기록을 단 실행 가능한 것"이라는 뜻입니다.
  • Window 메모리(window memory)대화 기록 가운데 최근 것만 창문 크기만큼 남겨 보내는 전략입니다. window 는 "창문"이라는 뜻으로, 창으로 보이는 만큼만 본다는 데서 왔습니다.
  • trim_messages메시지 목록을 토큰 상한에 맞게 잘라 주는 LangChain 의 함수입니다. trim 은 "다듬다, 잘라 내다"라는 뜻입니다.
  • Summary 메모리(summary memory)오래된 대화를 짧은 요약으로 바꿔, 요약과 최근 대화를 함께 보내는 전략입니다. summary 는 "요약"이라는 뜻입니다.
← 이전 절4장 · 먼저 큰 그림부터다음 절 →4장 · 구조화된 출력이 필요한 까닭