반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형
오늘 비디오는 구독자님이 Streamlit ,LangChain 그리고 LangGraph 에서 Chatbot 기능을 지원하기 위한 Memory 기능의 차이점을 문의 하셔서 거기에 대한 답변을 드리기 위해 만들었습니다.
답변을 준비하다 보니까 그냥 댓글로 몇마디 할 만한 사항이 아니더라구요.
AI 가 처음 나왔을 때 LangChain 에서는 Input Context 의 Length limit 에 대한 고민을 많이 했었던 것 같습니다.
그래서 대화 히스토리 관리하는데 있어서 input context를 줄이는 방법에 집중을 했었습니다. (Conversational Memory)
하지만 이 기능은 AI Model 들이 input context의 크기를 대폭 늘리면서 더 이상 필요성이 대두 되지는 않은 것 같습니다.
곧이어 나온 RAG 기능을 제대로 지원할 수 있는 대화 history 관리 툴을 LangChain에서는 제공 했습니다. (Conversation Retrieval Chain)
그런데 AI 세계는 멈추지 않았습니다.
좀 더 복잡한 문제를 해결하는 AI 서비스를 제공하기 위해 AI Agent 개념이 나왔습니다. (CheckPointer)
이것을 설명하기 위해서 AI , RAG , AI Agent 이런 AI App 개발의 트렌드 변화까지 다 말하게 됐네요.
반응형


반응형

오늘은 이번 강좌에서 배운 LangGraph에서의 Memory 관리를 응용해서 AI Web Application을 개발해 보겠습니다.

 

LangGraph 와 Streamlit 을 이용해서 만듭니다. 

둘 다 Python을 기반으로 작동하고 LangGraph는 MultiAgent AI 앱 개발을 위한 프레임워크이고 Streamlit은 Web 어플리케이션 개발을 위한 파이썬 모듈입니다.

 

이 예제에서는 MemorySaver를 이용해서 어떻게 checkpointers 를 사용하는지 그리고 thread_id 를 사용해서 2명 이상의 사용자의 대화를 어떻게 관리하는지를 공부해 봅니다.

 

그런데 도대체 아수라 백작을 아는 사람들은 연령대가……..?

제가 어렸을 때 봤던 마징가 Z 에 나오는 빌런이었는데...

 

https://youtu.be/fED_jtEXTQ4

 

이 예제의 소스 코드는 아래 웹사이트에 가시면 보실 수 있습니다.

https://catchuplanggraph.streamlit.app/

 

Catchup LangGraph Tutorial

This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈

catchuplanggraph.streamlit.app

 

반응형


반응형

오늘은 지난 시간에 이어서 LangGraph Quick start Part 3 : Adding Memory to the Chatbot을 공부합니다.

 

LangGraph 공식 Tutorials site에 나와 있는 Quick Start 예제를 제대로 분석해 봅니다.

 

말 그대로 교과서 위주로 공부 해 보겠습니다.

 

AI 와 대화를 계속 이어가려면 이전에 어떤 대화가 있었는지 AI 에게 질문할 때마다 계속 대화 history 정보를 제공 해야 AI 가 맥락에 맞는 대답을 할 수 있습니다.

 

지금까지는 이 대화 history를 Streamlit의 session_state 를 사용해서 관리를 했습니다.

 

LangGraph에서는 Checkpointer 기능을 제공해서 쉽게 대화 history를 관리할 수 있도록 합니다.

 

그럼으로서 AI 와 맥락 있는 대화를 할 수 있는 Chatbot 기능을 제공할 수 있도록 합니다.

 

그 뿐만 아니라 다음에 배우게 될 LangGraph의 Human in the loop 이나 Time Travel 등의 추가적인 기능도 사용할 수 있도록 해 줍니다.

 

이 checkpointer의 가장 핵심적이고 기본적인 기능 사용법을 알려주는 LangGraph의 Tutorial (교과서) 에 있는 Quick Start 예제를 집중 분석 해 봅니다.

 

오늘은 교과서 위주로 공부합니다. 

 

https://youtu.be/33cKGuuPtgk?si=gjj8j0_bPbLAWDDd

 

반응형


반응형

오늘은 LangGraph의 Checkpointers에 대해 배워 봅니다.

 

지난 시간까지는 사용자와 AI와의 대화를 Streamlit의 Session_state 를 사용해서 저장을 했고 그 데이터를 사용해서 Chatbot 기능을 구현했습니다.

 

LangGraph에서도 그와 비슷한 기능을 하는 개념이 있습니다.

Checkpointers인데요. 

 

LangGraph에서 Checkpointers를 구현하는 방법은 MemorySaver, SqliteSaver, PostgresSaver 등이 있습니다.

 

사실 이 Checkpointers는 Chatbot 기능만을 위한 것은 아니고 다음 단원에서 배울 Human-in-the-loop, Time Travel 등의 고급 기능을 구현할 수 있게 해 주는 주요한 개념입니다.

 

오늘부터 이 LangGraph의 Checkpointers를 배워 보겠습니다.

 

https://youtu.be/TwQzTw0A51s?si=You1IAeaLRLsAP6 

 

 

이 유투브 클립에서 설명하는 AI Web application의 소스코드는 아래 웹 사이트로 가시면 보실 수 있습니다.

https://catchuplanggraph.streamlit.app/

 

Catchup LangGraph Tutorial

This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈

catchuplanggraph.streamlit.app

 



반응형
이전 1 다음