memory 7

[LangChain RAG 구축 시리즈 Ep.28] 🧵 멀티 테이블 + 대화형 흐름을 위한 Memory 설계 전략

지금까지 우리는 사용자 질문을 기반으로적절한 Iceberg 테이블을 선택하고, 해당 문서에서 정보를 검색해GPT가 정답을 생성하는 단발성 RAG 시스템을 구축해왔습니다.하지만 실제 업무에서 사용자가 묻는 방식은 이렇습니다:“상품 목록 알려줘”(이후) “그 중에서 가격이 가장 높은 건 뭐야?”(이후) “그 상품의 고객 리뷰는 있어?”이처럼 대화 흐름이 이어지는 구조에서는이전 질문과 응답이 다음 질문에 영향을 주어야 합니다.이번 글에서는 이러한 흐름을 구현하기 위해ConversationBufferMemory를 기반으로 대화 상태를 유지하는 구조를 설계합니다.🎯 목표LangChain의 Memory 기능을 이해하고 적용질문-응답의 히스토리를 유지한 대화형 RAG 구현다양한 테이블에서 이어지는 질의를 자연스럽게..

[LangChain RAG 구축 시리즈 Ep.19] 🧠 대화형 QA 시스템: ConversationalRetrievalChain 구성하기

이 글에서는 사용자의 이전 질문과 답변을 기억하여자연스러운 대화 흐름을 이어갈 수 있는ConversationalRetrievalChain을 구성해봅니다.🎯 목표ConversationalRetrievalChain 구성이전 대화 내용을 기억하여 문맥 기반 응답 생성메모리(ConversationBufferMemory)를 통해 히스토리 저장🧠 대화형 RAG의 개념기존 RetrievalQA는 "단일 질문-답변" 방식이라면,ConversationalRetrievalChain은 질문 맥락을 기억하며 대화를 이어갑니다.예시:1️⃣ Q: 상품 테이블 알려줘2️⃣ Q: 컬럼은 뭐야? ← 이전 질문 맥락이 없다면 “무슨 테이블?”로 이해 안 됨🛠️ Step 1. 체인 구성 함수 만들기# src/conversationa..

[LangChain RAG 구축 시리즈 Ep.12] 🧵 대화형 검색과 맥락 기억 기능 구현해보기

이 글에서는 GPT 기반 RAG 시스템에 대화 기능과 맥락 유지(memory) 기능을 추가하여사용자가 연속적인 질문을 할 수 있도록 만들어보겠습니다.바로 ConversationalRetrievalChain의 등장입니다!🧠 ConversationalRetrievalChain이란?단일 질의 응답이 아닌, 이전 질문과 답변을 바탕으로 문맥을 기억하며 이어지는 대화를 가능하게 하는 RAG 체인입니다. 특징 설명 🧵 대화 흐름 유지앞선 질문 내용을 기억🧠 메모리 사용ConversationBufferMemory로 과거 대화 저장🔗 Retriever + LLM 통합문서 검색 + 문맥형 응답 생성📦 기본 흐름[질문1] → 문서 검색 → GPT 응답[질문2] (이전 내용 기억) → 문서 검색 → GPT 응답...

[Scenario Playbook - 심화편 | Medium Level #17] 쿠버네티스 클러스터에서 발생하는 OutOfMemory(OOM) 문제 해결

쿠버네티스 환경에서 Pod이 과도한 메모리를 사용하여 OOM(Out of Memory) 문제가 발생하면, 애플리케이션이 강제 종료되거나 클러스터 전체의 안정성이 저하될 수 있습니다.이 글에서는 OOM 문제의 원인을 분석하고, 리소스 요청(Request) 및 제한(Limit) 설정을 통해 이를 방지하는 방법을 다룹니다. 📌 글에서 다루는 상황들  1. Pod이 과도한 메모리를 사용하여 OOMKilled 상태가 되는 문제 해결 2. 리소스 요청 및 제한을 설정하여 메모리 사용량을 제어하는 방법 3. kubectl 및 메모리 사용량 모니터링 도구를 활용한 트러블슈팅 방법 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Pod이 과도한 메모리를 사용하여 ..

[Scenario Playbook - 심화편 | Medium Level #1] 리소스 요청/제한을 고려한 Deployment 최적화 전략

쿠버네티스에서는 적절한 리소스 요청(Request) 및 제한(Limit) 설정이 없으면 특정 애플리케이션이 과도한 리소스를 사용하여 클러스터 전체에 영향을 미칠 수 있습니다.이를 방지하기 위해 CPU 및 메모리 리소스를 효과적으로 설정하고, 애플리케이션의 안정성을 유지하는 방법을 다룹니다. 📌 글에서 다루는 상황들  1. CPU 및 메모리 요청(Request) 및 제한(Limit) 설정 2. 리소스 과부하 방지를 위한 QoS 클래스 적용 3. OOM(Out of Memory) 발생 방지 및 안정적인 운영 전략 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ CPU 및 메모리 요청(Request) 및 제한(Limit) 설정 ❓ 문제 상황 운영팀에서 ..

[Scenario Playbook - 심화편 | Low Level #7] Horizontal Pod Autoscaler(HPA) 설정 및 활용 방법

쿠버네티스에서 애플리케이션의 부하가 증가할 때 자동으로 Pod 개수를 조정하는 것이 중요합니다.이를 위해 Horizontal Pod Autoscaler(HPA)를 활용하여 CPU 및 메모리 사용량을 기준으로 동적으로 확장하는 방법을 다룹니다. 📌 글에서 다루는 상황들  1. HPA를 활용한 CPU 기반 자동 확장 설정 2. HPA를 활용한 메모리 기반 자동 확장 설정 3. HPA의 동작 방식 및 리소스 활용 최적화 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ HPA를 활용한 CPU 기반 자동 확장 설정 ❓ 문제 상황 운영팀에서 애플리케이션의 CPU 부하가 증가할 경우, Pod의 개수를 자동으로 확장해야 합니다.CPU 사용률이 50%를 초과하면 ..

[Scenario Playbook - 심화편 | Low Level #6] Pod의 리소스 요청(Request) 및 제한(Limit) 설정

쿠버네티스에서 Pod이 과도한 리소스를 사용하면 클러스터 전체 성능에 영향을 줄 수 있습니다.따라서 CPU 및 메모리 사용량을 적절하게 설정하여 리소스를 효율적으로 관리하는 것이 중요합니다.이 글에서는 Pod의 리소스 요청(Request) 및 제한(Limit)을 설정하는 방법을 다룹니다. 📌 글에서 다루는 상황들  1. Pod의 CPU 및 메모리 요청(Request) 설정 2. Pod의 CPU 및 메모리 제한(Limit) 설정 3. 리소스 요청(Request)과 제한(Limit)을 활용한 최적의 운영 전략 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Pod의 CPU 및 메모리 요청(Request) 설정 ❓ 문제 상황 운영팀에서 애플리케이션이 실..

728x90