본문 바로가기
Git Stash와 Git Rebase 언제 어떻게 쓰는게 효과적일까 ? Git을 활용하여 소프트웨어를 개발하다 보면, 다양한 기능 브랜치에서 작업하던 도중 긴급한 버그가 생기거나, 원격 저장소에서 새로운 변경 사항을 받아와야 하는 상황이 자주 발생합니다. 이때 작업 중인 변경 사항이 완성되지 않았는데도 불구하고 다른 작업으로 전환해야 한다면, 단순히 바로 커밋하기도 꺼려지고, 그렇다고 현재 상태를 무시하고 새 브랜치로 이동하기도 부담스럽습니다. 이런 상황에서 “Git stash”는 작업 디렉토리의 변경 사항을 임시로 저장할 수 있는 강력한 도구입니다. 또한, 개발을 진행하다가 여러 갈래로 나뉜 커밋 기록을 깔끔하게 정리하고자 할 때는 “Git rebase”가 큰 도움이 됩니다.────────────────────────────────────────────────────1. .. 2025. 3. 24.
LCEL Based Memory와 RunnablePassthrough의 활용: LangChain의 진화된 메모리 관리 대화형 AI 시스템에서는 사용자와의 지속적인 대화 맥락을 효율적으로 관리하는 것이 중요합니다. 최근 LangChain에서는 LCEL 기반 메모리를 도입하여, 대화의 핵심 정보를 요약하고 저장하는 방식과 함께 불필요한 연산을 줄이기 위해 RunnablePassthrough 개념을 결합한 새로운 메모리 관리 방식을 선보이고 있습니다.LCEL : LangChain Execution Language1. LCEL 기반 메모리 개요LCEL(LangChain Execution Language) 기반 메모리는 기존의 대화 메모리보다 효율적으로 대화의 핵심 정보를 관리할 수 있도록 설계되었습니다. 이 방식은 다음과 같은 특징을 갖습니다.효율적인 메모리 관리:대화 내용을 요약하여 저장함으로써, 메모리의 크기를 제한하면서도.. 2025. 2. 1.
Chat Based Memory: 대화형 AI의 기억 관리 이해하기 오늘은 Chat Based Memory라는 주제로, 대화형 AI에서 어떻게 대화의 맥락을 저장하고 활용하는지 알아보겠습니다. 특히, LangChain 라이브러리의 ConversationSummaryBufferMemory를 활용한 예제 코드를 중심으로 설명드리겠습니다.이 글에서는 코드에 대한 자세한 설명과 함께 제가 느낀 생각도 함께 공유하여, 초보자부터 중급 개발자, AI 연구원까지 쉽게 이해할 수 있도록 구성했습니다.1. Chat Based Memory란?대화형 AI 시스템은 사용자와의 대화를 지속하면서 맥락을 기억해야 합니다. 이를 위해 메모리(memory) 모듈을 사용하면, 이전 대화 내용을 요약하거나 저장하여 이후 응답에 반영할 수 있습니다.주요 포인트:맥락 유지: 이전 대화 내용이 이후 대화에 .. 2025. 2. 1.
LLMChain: 간단하면서 강력한 LangChain의 핵심 구성요소 LangChain에서 LLMChain은 가장 기본적이면서도 중요한 개념입니다.간단히 말해, 하나의 프롬프트(Prompt)와 하나의 LLM(대규모 언어 모델) 호출 과정을 연결해주는 파이프라인이라고 할 수 있는데요.여기에 메모리(Memory)를 더하면, 여러 번의 호출에서 맥락(Context) 을 유지할 수 있어, 대화형 또는 연속적인 작업에 활용하기가 좋아집니다.이번 글에서는 LLMChain이 어떤 원리로 동작하는지, 그리고 어떻게 확장할 수 있는지 살펴보겠습니다.1. LLMChain이란?1) 정의LLMChain은 LangChain에서 가장 기본적인 체인(Chain) 형태입니다.“하나의 입력(문자열)”을 받아서 “하나의 LLM 호출”을 실행한 뒤, “하나의 결과(문자열)”를 반환합니다.예를 들어, [Us.. 2025. 2. 1.
ConversationSummaryBufferMemory: 요약과 버퍼의 절묘한 조합 LangChain에서 메모리(Memory)는 과거 대화를 저장·활용해, LLM(대규모 언어 모델)이 맥락을 유지하고 일관성 있는 답변을 생성하도록 돕는 핵심 요소입니다.이때, 단순히 대화 기록을 통째로 저장하는 방식(예: ConversationBufferMemory)은 대화가 길어지면 토큰 사용량이 폭발할 수 있고,요약만 하는 방식(예: ConversationSummaryMemory)은 최근 대화의 정교한 정보를 잃을 위험이 있죠.ConversationSummaryBufferMemory는 이러한 문제점을 절충한 메모리 방식으로,“최근 대화”는 버퍼(Buffer) 형태로 원문을 유지하고,그 이전 대화는 요약(Summary) 해서 간결하게 저장함으로써“중요한 최신 대화”와 “과거 맥락”을 모두 놓치지 않게 .. 2025. 1. 31.
ConversationBufferWindowMemory: 핵심만 기억하는 효율적인 대화 메모리 LangChain에는 여러 가지 메모리(Memory) 방식이 있습니다.그중에서 ConversationBufferMemory가 전체 대화 내용을 전부 저장해 둔다면,ConversationBufferWindowMemory는 최근 일정 개수의 대화만 유지하는 방식이에요.장시간 대화가 이어지는 경우, 모든 대화를 무작정 기억하면 토큰 비용이나 맥락 처리가 부담될 수 있습니다.그래서 최근 대화만 추적하면 충분한 상황이라면, ConversationBufferWindowMemory가 훨씬 효율적이죠.1. ConversationBufferWindowMemory란?“최근 N개의 대화만 기억” 하는 메모리 방식예: k=3이라면, 마지막 3개의 (질문-답변) 쌍만 저장전체 기록 대신, 윈도우(Window) 크기에 맞춰서 가.. 2025. 1. 29.
LangChain의 메모리 개념과 ConversationBufferMemory 완벽 이해하기 요즘 LangChain을 써서 LLM(Language Model) 기반 애플리케이션을 개발하는 분들이 많습니다.LLM을 여러 차례 호출하면서, “이전 대화 내용이나 문맥을 모델이 기억하고 있다면 좋을 텐데…”라고 생각해 보신 적 있으실 거예요.LangChain은 이러한 “메모리(Memory)” 개념을 도입해, 대화형 AI나 컨텍스트가 중요한 작업에서 훨씬 더 자연스러운 흐름을 구현할 수 있도록 도와줍니다.오늘은 LangChain의 메모리 개념과, 가장 기본적이면서도 자주 쓰이는 ConversationBufferMemory에 대해 자세히 살펴보겠습니다.1. LangChain의 메모리(Memory)란 무엇인가?1) 메모리가 필요한 이유일반적으로 LLM은 하나의 요청(prompt) 을 받으면, 그에 대한 단발.. 2025. 1. 29.
OpenAI 사용량 추적의 비밀병기: get_openai_callback LLM(Language Model)을 활용할 때, 가장 골치가 아픈 점 중 하나가 사용량 관리입니다.토큰 사용량이 많아지면 비용이 기하급수적으로 늘어날 수 있기 때문이죠.그렇다면 어떤 요청에 얼마나 많은 토큰이 쓰이고 있는지, 총 비용이 얼마나 되는지를실시간으로 추적할 수 있으면 어떨까요?오늘은 LangChain에서 제공하는 get_openai_callback 을 소개해 드리겠습니다.이걸 활용하면 OpenAI API를 쓰는 과정에서 토큰 사용량과 비용을 한눈에 파악할 수 있어요.1. get_openai_callback 이 뭔가요?get_openai_callback 은 OpenAI API에 요청을 보낼 때마다,몇 개의 토큰을 사용했는지, 얼마의 비용이 발생했는지 등을 콜백(callback) 방식으로 알려주.. 2025. 1. 28.
LLM 활용도를 높이는 꿀팁: set_llm_cache, set_debug, 그리고 InMemoryCache LLM 활용도를 높이는 꿀팁: set_llm_cache, set_debug, 그리고 InMemoryCache요즘 LangChain을 활용해 대규모 언어 모델(LLM)을 다루는 분들이 늘고 있죠.하지만 모델이 점점 복잡해질수록, 반복 요청이나 디버깅 이슈에 부딪히는 분들도 많을 텐데요.오늘은 LangChain에서 제공하는 세 가지 기능,set_llm_cache, set_debug, InMemoryCache 에 대해 쉽게 정리해 보겠습니다.1. set_llm_cache: 중복 요청을 캐싱해 효율 극대화1) 왜 LLM 캐시가 필요할까?LLM 호출은 비용이 많이 들고, 응답 시간도 꽤 걸리는 편입니다.반복되는 동일한 요청이 있다면, 굳이 매번 LLM API를 새로 호출할 필요가 없겠죠.캐싱을 통해 이미 한 번 .. 2025. 1. 28.
LLM을 제대로 활용하는 꿀팁: FewShotPromptTemplate & StreamingStdOutCallbackHandler 요즘 AI 서비스, 특히 대규모 언어 모델(LLM) 이 핫하죠. “AI가 업무 효율을 10배로 높여준다” 같은 이야기를 주변에서 많이 들어 보셨을 텐데요. 막상 LLM을 다뤄보면, 프롬프트를 어떻게 주느냐에 따라 결과물이 천차만별이라는 걸 느끼실 거예요.오늘은 LLM을 더 똑똑하게 쓸 수 있게 도와주는 FewShotPromptTemplate과, 모델이 생성하는 출력을 실시간으로 확인할 수 있는 StreamingStdOutCallbackHandler를 소개해 보려고 합니다. 최대한 어렵지 않게 설명해 드릴 테니, 함께 차근차근 알아봅시다.1. FewShotPromptTemplate: LLM에게 힌트를 주는 정석 방법“FewShot”이 뭐길래?FewShot은 말 그대로 “적은 예시”를 뜻해요. 모델에게 문제.. 2025. 1. 28.
반응형