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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

오늘은 첫번째 Multi Agent Architecture인 Network Architecture 소스 분석을 시작합니다.

 

이쪽 분야는 아주 변화 무쌍한 곳이라 LangGraph Tutorial 을 보니까 1주일 전에 공부한 소스코드가 어느새 바뀌어 있네요.

 

오늘은 Old Source Code 를 중심으로 공부하면서 처음 만들어 보는 Agent 에 대해 자세히 살펴 보겠습니다.

 

오늘 비디오에서는 Agent 가 어떻게 생겼는지 보는 것 만으로 의미가 있는 것 같습니다.

 

제가 정의하는 Agent 모양은 Prompt로 역할을 부여하고 tool이 필요한 경우 사용할 tool을 장착 시켜 준 object 입니다.

 

여러분도 보시고 나름대로 Agent 는 어떻게 설명할 수 있는지 생각해 보세요.

 

https://youtu.be/TNAXWwMu5Ew?si=GWR_BhjPdAT9_8Wl

 



반응형


반응형

오늘 부터 LangGraph의 AI Multi-Agent Architectures 에 대해 공부를 시작합니다.

 

AI Agent Application을 개발 하려면 코딩도 중요하지만 어떻게 Arthitecture를 할 것인지 설계하는 단계도 매우 중요합니다.

 

이 Agent Architectures는 Traditional Programming Architecture 와는 많이 다른 것 같습니다.

 

저는 AI Agent Application 으로 무언 가를 만드는 Startup 을 시작했습니다.

 

그래서 무엇보다 이 AI Multi-Agent Architectures 에 관심이 많습니다. 

 

그리고 조만간 AI Agent Application이 실제 Business에서 Needs 가 많이 생길 때 이 AI Multi-Agent Architect 의 수요도 더 많아 질 것으로 보고 있습니다.

 

앞으로 미래 직업을 준비하시는 분들에게도 이 부분을 잘 생각해 보시길 권장 드립니다.

 

오늘은 AI Multi-Agent Architectures 의 기본 개념들에 대해 자세히 알아 보고 다음 시간 부터 이것을 바탕으로 각 Architecture 별로 실제 코딩을 해서 실행하는 방법을 배워 보도록 하겠습니다.


https://youtu.be/apgY5Po0fR8?si=L6wvz6Lg_1elDpmz

 

반응형


반응형

오늘은 LangGraph Quick Start Tutorial 마지막 단원인 Part 7 : Time Travel 입니다.

 

이름에서 알 수 있듯이 과거로 돌아가서 당시 State를 바꾸는 겁니다. 

그러면 현재의 결과 값을 바꿀 수 있습니다.

 

바로 State 의 History 가 Checkpoint 단위로 Step 별로 다 관리가 되고 있기 때문에 가능한 겁니다.

 

이 기능을 사용하면 Agent 의 Process 중 오류가 발생하거나 아니면 디버깅을 하거나 혹은 다른 Business Requirements 중에 이 기능이 필요한 경우 적용해서 보다 고객의 요구 조건을 풍부하게 충족 시켜 주는 어플리케이션을 개발 할 수 있을 겁니다.

 

https://youtu.be/JgR5BJ7CLEw



반응형


반응형

오늘은 Part 6 Customizing State를 배웁니다.

 

이전 단원까지는 interrupt_before를 사용해서 Tools 를 사용하기 전에 작업을 무조건 Stop 을 시킨 후 Human 의 개입을 허용했는데요.

 

이번장에서는 Human 의 개입이 필요 하다는 판단을 AI 가 판단하게 만드는 구조를 구현합니다.

 

그러기 위해서는 State를 Customizing 해야 합니다.

 

그러면 Agent 가 시키는 일을 하다가 자신이 결정 내릴 만한 일이 아니라고 판단되면 인간에게 허락을 받으러 오게 만들 수 있습니다.

 

이것을 어떻게 구현하는지 배워 봅니다.

 

오늘 비디오에서 다루는 소스코드는 아래 CoLab에 있습니다.

 

https://youtu.be/2r961w7y4-Y

 

 

반응형


반응형

오늘은 LangGraph Quick Start Tutorial Part 5 : Manually updating the State 를 다룹니다.

 

핵심 개념은 update_state 입니다.

 

Tool이나 AI 메세지를 임의로 만들어서 처리할 수 있구요.

이 때 Tool 이나 AI 를 Call 하지 않고 중간에 처리한 것 처럼 만드는 겁니다.

 

Message ID 를 사용하면 Tool 이나 AI 로부터 받은 기존의 메세지를 바꿀 수도 있습니다.

 

Graph 가 처리하는 과정에서 수정이 필요하거나 Agent의 궤적을 제어할 필요가 있을 때 유용한 기능입니다.

 

https://youtu.be/KitVTQivgHU

 



반응형


반응형

오늘은 Lang Graph 의 주요 기능 중 하나인 Human In The Loop 이라는 기능을 배웁니다.

 

AI Agent 가 일 하다가 어떤 결정을 해야 할 떄, 선택의 순간이 왔을 때 인간의 의견을 물어보도록 만들 수 있습니다.

 

Interrupt_before , Interrupt_after 가 AI Agent 가 그렇게 인간의 선택을 물어보도록 만들 수 있습니다.

 

이 HIL (Human In The Loop) 기능은 LangGraph 에서 Checkpointer 라는 개념을 기반으로 제공이 됩니다.

 

이 외에 지나간 과거의 State 를 변경할 수도 있고 그 기능을 이용해서 Time Travel 이라는 기능도 제공하고 있습니다.

 

오늘은 LangGraph Quick Start 의 Part 4 Human in the loop 를 공부하고 이어서 다른 다양한 기능을 계속 공부 하겠습니다.

 

그 개념들에 대한 공부가 마쳐지면 LangGraph 의 이러한 Checkpointer 를 이용한 advanced 한 기능들을 응용해서 다양한 Web Application을 만들어 보겠습니다.

 

https://youtu.be/eWe3dFHshgA

 



반응형


반응형

매일 매일 쏟아지는 AI 신기술들...

 

6개월 전에 Olympia 라는 워싱턴주의 시골 (그래도 워싱턴 주의 Capital City 임) 에서 AI 를 공부하려고 시애틀 옆에 있고 Microsoft 본사 등 IT 기업들이 많이 있는 Redmond 로 이사 왔습니다.

 

그동안 networking 을 하면서 이런 저런 AI 관련 일들을 벌이다 보니 직장일 이외에 하는 일이 한 손에 있는 손가락 수를 넘어 버렸네요.

 

다시 Burn out 이 올 기미가 보여서 지금 하는 일들을 쭉 나열하고 어떤 것을 접어야 하나 고민 했습니다.

 

결론은...

 

그나마 생활비라도 나오는 직장을 그만 두는 것을 선택하게 되더라구요.

 

아직 한푼도 수익이 없는 AI 관련 일들을 하기 위해서요.

 

그 동안 좀 복잡해서 AI 강좌는 못 올리고 다른 내용들의 Contents 들만 올렸었는데요.

 

오늘은 그동안 공부했던 LangGraph 의 Quick Start Tutorial 의 Part 1 ~ Part 3 부분을 복습하고 내일부터 쭉쭉 진도 빼겠습니다.

 

LangGraph 에서도 해당 Tutorial 의 소스코드들을 조금 변경 했더라구요.

그 변경된 내용도 왜 변경했는지 그리고 그렇게 Refactoring 하면 어떤게 좋아 지길래 update를 했는지 설명 드립니다.

 

https://youtu.be/ykBpEUteeqY?si=R75CbDtQfH0Ix3II

 

비디오에서 사용한 CoLab page Link 는 아래에 있습니다.

 

New Version

https://colab.research.google.com/drive/1fhjPuBnQJOwFT-1_JLXpXN9k58MBgXfZ?usp=sharing

 

LangGraph_QuickStart_02.ipynb

Colab notebook

colab.research.google.com

 

 

Old Version

https://colab.research.google.com/drive/1SARxtUTLUpLi4tX0v4E1oIC_xe1nhQa_?usp=sharing

 

LangGraph_QuickStart_01.ipynb

Colab notebook

colab.research.google.com

 

 

반응형


반응형
오늘 비디오는 구독자님이 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

 

반응형
이전 1 2 다음