반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 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

 



반응형


반응형

지난 시간에 이어서 LangGraph Chatbot with Tool 에 대해 알려 드립니다.

지난 시간에 LangGraph로 구현하는 로직을 모두 완료 했었습니다.
이번 비디오에서는 그 로직에 Streamlit 의 session_state와 chatbot 기능을 더 해 완성된 AI Application을 만들어 봅니다.

LangGraph의 Tool을 사용해 최신 정보까지 제공하는 대화형 AI Application 개발하는 과정을 보실 수 있습니다.

 

https://youtu.be/M4ejvxxLF_w?si=6gUX8C5hZ-gfNNE-

 

 

그리고 아래 웹사이트로 가면 완성된 AI Application과 전체 Source Code도 받아 보실 수 있습니다.

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에서 Tool을 사용하는 방법을 배워 보겠습니다.
이것을 배우면 Multiple Node를 사용해서 더 복잡한 기능을 구현할 수 있게 됩니다.

그러기 위해서 사용되는 bind_tools 라던가 add_conditional_edges 같은 새로운 메소드들을 배웁니다.

영상이 길어서 오늘은 전반부 LangGraph 소스 코드만 분석하구요.

다음 영상에서는 이 LangGraph 소스코드를 기반으로 Streamlit으로 웹 어플리케이션을 만드는 방법을 알아 보겠습니다.

 

https://youtu.be/f3GB5fQmTcM?si=Nu9FNQR5WsjGnNaI

 

제가 만든 웹어플리케이션을 보시고 소스코드도 가져가서 공부하고 싶으시면 이리로 오시면 됩니다.

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 이름이 왜 그렇게 지어 졌는지를 찾다가 발견한 내용을 공유 합니다.

바로 이산 수학 (Discrete mathematics) 중 하나인 그래프 이론 (Graph Theory) 에서 그 이름이 유래한 건데요.

그래프 이론 어렵지 않습니다. 

점 들과 그 점들을 연결하는 선. 유치원때 배운 선긋기 수준의 이야기 입니다.

그리고 그 이론 설명을 들으면 LangGraph 도 정말 쉽게 시작하실 수 있습니다.

 

개발자는 그냥 점 찍고 선 긋는 것만 구현 하면 됩니다.

 

자 그럼 AI 어플리케이션 개발의 트랜드인 Multi-Agent와 Agentic Workflow를 사용할 수 있도록 하는 기능을 제공하는 어려운 LangGraph를 정말 쉽게 이해해 보세요.

 

처음 공부하시는 분들의 진입 장벽을 완전히 낮춰 줄 겁니다.

 

LangGraph - 점찍고 선만 그으면 됩니다. 정말 쉽게 설명 드립니다. Graph Theory 만 생각하세요.

 

https://youtu.be/mvGp8Wz3KdI

 



반응형


반응형

지난 시간에  LangGraph 의 Tool을 사용할 때 발생한 Chatbot 기능의 에러가 있었습니다.
제가 과제로 냈었는데요.
오늘 그 에러를 해결하는 과정을 단계별로 보여드릴께요.

ChatBot 기능에서 질문과 대답 사이에 Tool 을 사용했던 기록들이 나오는게 문제 였는데요.
에러가 난 부분으로 가서 log를 찍어보고 필요 없는데 print 되는 부분들의 패턴을 파악한 후 Session message에 append 하는 것을 막아 버리면 됩니다.

이 과정을 직접 확인해 보세요.

 

https://youtu.be/jPK7i7YVg68?si=QIUGOGFbwk2qqSxo

 

 

반응형


반응형

드디어 LangGraph를 시작합니다.

StateGraph, Nodes, Edges, Compile, Stream

LangGraph의 가장 기본 개념을 활용해서 AI 어플리케이션을 만듭니다.
게다가 Streamlit 의 Session State를 사용해서 챗봇 기능을 구현했습니다.

LLM 은 Anthropic 사의 Claude를 사용합니다.

소스코드 공개합니다.

가져가셔서 맘껏 활용 하세요.

처음 배울 때 확실하게 배워서 AI 어플리케이션 개발에선 제대로 된 개발자가 됩시다.

오늘 배우는 내용은 이곳으로 가시면 어플리케이션과 소스코드를 보실 수 있습니다.


https://youtu.be/Ri3Nrpac3nI?si=gagZU75-rNr9uz19

 

 

Catchup LangGraph Tutorial · Streamlit

 

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

반응형


반응형

작년 11월에 소개 된 Assistants API 입니다.
조용하게 진행 되지만 아주 중요한 프로젝트 입니다.

OpenAI에서 RAG 개념을 받아들인 최초의 API 예요.
Assistants는 LangChain의 Agent 역할을 하죠.
덕분에 우리도 ChatGPT에서 RAG 기능을 사용할 수 있게 됐습니다.
논문을 업로드해서 요약을 한다던지 현재 날씨 정보를 얻는다던지 하는 그런 서비스는 원래 ChatGPT는 못했었거든요.

LangChain은 LangGraph로 Agent 를 한껏 발전 시켰습니다.
OpenAI는 이 Assistants API를 어떤 방향으로 발전 시킬지...

아직 아무도 가지 않은 길을 가는 AI 세계는 정말 흥미롭습니다.

https://youtu.be/L5GjCjX9Yj8?si=IU0W1RAOrUzIguHF

 

https://catchuplangchain.streamlit.app/

 

Catchup LangChain Tutorial

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

catchuplangchain.streamlit.app

반응형
이전 1 2 다음