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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.


반응형

지난 시간에 이어서 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

 

반응형


반응형
오늘은 이전에 개발한 AI 웹 어플리케이션의 소스코드를 개선하는 **리팩토링(refactoring)** 작업과 새로운 기능을 추가하는 **확장(enhancement)** 작업을 진행했습니다.
리팩토링 작업에서는 Streamlit의 `session_state`가 서로 다른 페이지 간에 메시지 데이터를 공유하는 문제를 해결했습니다. API 키는 공유가 필요한 부분에서만 동일하게 사용하고, 각 페이지에서 개별적으로 관리해야 하는 메시지 부분은 분리하여 처리했습니다.
확장 작업으로는 기존에 Anthropic의 Claude 모델만 사용 가능했던 것을 OpenAI의 ChatGPT도 사용할 수 있도록 기능을 추가했습니다. 이를 통해 더 다양한 모델을 활용할 수 있게 되었습니다.
외에도 Visual Studio Code에서 변경된 파일을 커밋하고 GitHub에 푸시하는 방법, 그리고 GitLens를 사용해 로컬 파일과 서버 파일을 비교하는 방법 등 실무에서 유용하게 사용되는 팁들을 공유했습니다.
또한, 기대한 결과가 나오지 않았을 때 차분하게 문제를 검증하고 해결해 나가는 과정을 보여드렸습니다. 이는 개발자에게 필수적인 문제 해결 능력을 키우는 데 도움이 될 것입니다.
LangGraph에 새로운 툴을 추가하는 방법을 배우기 위해 Quick Start 튜토리얼의 소스코드를 Streamlit과 결합해 웹 페이지에 표시하도록 구현한 소스코드도 함께 확인하실 수 있습니다.
이 소스코드에는 하나의 에러가 있는데, 이 에러는 여러분과 함께 해결해 볼 과제로 남겨두었습니다. 다음 시간까지 함께 고민해 보시길 바랍니다.
전체 영상을 보시려면 여기를 클릭하세요:

 

https://youtu.be/N4t-YQufGLg?si=ySA0Toof6Ng69APf

 

 

Today, I focused on refining the AI web application we previously developed by undertaking some critical refactoring and implementing enhancements.

 

The refactoring work addressed an issue where session_state in Streamlit was unintentionally sharing message data across different pages. By ensuring that shared API keys are used consistently while individual messages are managed separately, the application now functions more reliably across various pages.

 

On the enhancement side, I expanded the application's capabilities by integrating OpenAI's ChatGPT alongside Anthropic's Claude, offering more flexibility in model usage.

 

In addition to these improvements, I also covered some practical tips for developers. These include committing changes in Visual Studio Code, pushing updates to GitHub, and using GitLens to compare local and server-side files. These insights are grounded in real-world scenarios and are essential for efficient development workflows.

 

Moreover, you'll see how to methodically troubleshoot when results don't match expectations—a vital skill in any developer's toolkit.

 

As part of my journey into LangGraph, I also combined the Quick Start tutorial code with Streamlit to create an interactive web page. This integration serves as an excellent example of adding tools to enhance LangGraph functionality.

Lastly, I've left one error in the code as a challenge for you to solve before our next session. It’s an excellent opportunity for us to explore problem-solving together.

 

Check out the full video here: https://youtu.be/N4t-YQufGLg?si=uPlA2xqlUDUZFrgw

 

 

반응형


반응형
이번 시간에는 지난번 LangChain의 RetrievalChain 을 배울 때 사용했던 소스코드를 그대로 사용할 겁니다.
그 소스코드에 Streamlit 의 Session 관련 기능들을 사용해서 ChatBot 기능을 구현해 봅니다.
주요 스트림릿 툴들은 st.session_state(), st.session_message 그리고 st.session_input 등입니다.
이 각 툴들은 어떤 역할을 하고 또 어떻게 사용해야 되는지 알아봅니다.
 
지난 시간에 배웠던 랭체인의 create_history_aware_retriever 도 챗봇 기능을 구현하기 위해 지원되는 기능입니다.
 
둘 다 사용자의 질문과 인공지능의 대답을 저장해 두고 다음 질문 할 때 그 history와 함께 새로운 질문을 인공지능에 보내서 인공지능이 그동안의 질문과 답변을 참고해서 질문의 의미를 좀 더 정확하게 파악할 수 있게 해 좀 더 해당 질문에 정확한 답변을 보낼 수 있도록 해 주는 겁니다.
그리고 그 질문과 답변 history를 브라우저에 표시할 수도 있어서 사용자도 질문과 답변 히스토리를 볼 수 있도록 해 줍니다.
 
랭체인은 스크립트 내 변수에 해당 히스토리를 저장해서 사용하고 스트림릿은 세션단위에서 그 히스토리를 저장해서 사용합니다.
 
그렇기 때문에 둘 다 새로운 브라우저에서 대화를 할 때는 이전 히스토리를 사용할 수 없습니다.
 
이렇게 해당 정보가 휘발되지 않고 다른 브라우저에서 볼 수도 있고 컴퓨터를 껐다가 켜도 그 정보를 사용할 수 있도록 려면 스크립트 내 변수나 브라우저 세션 등 임시 저장공간에 저장을 하지않고 파일이나 DB 등 제 3의 장소에 저장해서 사용해야 합니다.
 
오늘은 스트림릿에서 제공하는 st.session_state 를 사용해서 간단하게 챗봇을 구현하는 기술을 배워 봅니다.
 

 

 

 

유투브 비디오 썸네일로 사용하려고 AI에게 이미지를 그려 달라고 했는데 이렇게 그려 주더라구요.

예쁜 여자 프로그래머를 그려 달라고 했는데 너무너무 예쁘게 그려 주네요.

 

이 그림은 마이크로소프트의 코파일럿 (Copilot) 이 그려 준 겁니다.

실제 썸네일에는  GPT 4o 가 그려 준 아래 이미지를 사용했는데요. 

 

코파일럿과  GPT 4o 각각 자신만의 화풍이 있는 것 같아요.

 

다음 비디오로는  GPT 4o 에게 코딩 시키기를 해 볼 계획입니다.

얼마전 회사에서 필요로 하는 샘플  RAG 웹앱을 만들어야 했는데요. 

이 때 오늘 설명한  기능에서 사용한 소스코드를 base 로 해서 샘플 RAG 웹 앱을 만들었는데요.

저 혼자 하면 며칠은 해야 됐을 것 같은 일을  챗지피티랑 같이 하니까 단 몇시간만에 만들 수 있더라구요.

 

챗지피티가 초보 개발자 한두명 역할은 충분히 하는 것 같습니다.

 

챗지피티에게 코딩을 시키면서 여러가지 생각들이 들더라구요.

 

그 능력에 놀란 부분도 있었고 또 인공지능에게 코딩을 시키기 위해 인간이 가지고 있어야 할 능력이 무엇인지도 생각 해 볼 기회가 있었구요.

또 개발자의 미래 그리고 회사의 management 의 변화 뭐 이런 것들도 생각 해 봤구요.

 

하여간 다음 시간에는 챗지피티에게 코딩을 시켜서 웹 어플리케이션 하나 완성해 보는 과정을 다룰 거구요 또 실제 업무 현장에서 챗지피티와 함께 코딩을 하면서 느낀 점들을 같이 나누고자 합니다.

 

회사에서 주 업무는 클라우드 를 사용한 서버 관리 그 중에 요즘엔 쿠버네티스를 사용한 서버 관리 부분을 하고 있는데요.

 

AI 웹 앱도 컨테이너 기반으로 쿠버네티스를 이용한 서버 환경에서 관리하는 법도 제 블로그와 유투브 채널에 정리해서 올릴 계획입니다.

 

계속 관심 가져 주시고 구독과 좋아요를 눌러 주시면 미국 현장에서 배우는  IT 기술을 나누는 일에 큰 힘이 될 겁니다.

많은 협조 부탁드립니다.

 

https://www.youtube.com/@catchupai

 

Catch Up AI

AI Web Developer 를 준비하면서 공부한 내용을 공유하는 채널 입니다. AI Engineer 가 되고 싶거나 AI 를 실무에서 응용하길 원하는 분들에게 정보를 제공하는 내용으로 채워질 예정입니다. Catch Up AI 는

www.youtube.com

 

 

반응형

'Catchup AI' 카테고리의 다른 글

AI Agent - 고급 AI Web App을 개발하려면 반드시 알아야 합니다. 오늘 그 기초부터 시작하세요.  (0) 2024.08.03
요즘 AI 앱 개발 트렌드 입니다. 이제부터 좀 더 복잡한 AI 앱 개발 기술로 들어갑니다. 우선 Agent란 무엇인지 이해하시면 많은 도움이 됩니다. (IBM 자료)  (0) 2024.07.28
챗지피티에게 코딩 시키기 2 - 개발자로서 이런것들을 준비 하세요. 다 길이 있네요. ;)  (1) 2024.07.24
챗지피티에게 코딩 시키기 1 - 앱 하나 뚝딱 이더라구요. 근데 저는 씩 웃었습니다. (쿠키 영상: 아코디언 연주)  (1) 2024.07.20
2024 AWS Summit 에서 발표된 AWS App Studio - Prompt 만으로 어플리케이션을 만들 수 있습니다  (4) 2024.07.15
create_history_aware_retriever : RAG 에 chat history 관리 기능을 추가해 ChatBot을 가능하게 해 주는 Retriever입니다.  (0) 2024.07.02
LangChain Quick Start - Chunk : 실력있는 개발자는 성능, 속도, 비용까지 고려 합니다. RAG에서의 데이터 처리  (0) 2024.06.24
[Tech Snippets] 랭체인! 너 블록체인과 무슨 관계야? 조사하면 다 나온다.  (0) 2024.06.21
BIGHUG - AI 들도 각각 개성이 있네. 사람처럼. AI 개성 파악은 더 나은 협업을 위한 열쇠예요. 사람처럼.  (1) 2024.06.04
RAG 직접 코딩으로 구현하면 확실하게 배웁니다. 제 소스코드 가져가서 맘껏 활용하세요.  (1) 2024.05.31


반응형

LangChain - RAG - create_history_aware_retriever

 

지난 시간까지 RAG의 기본 기능을 배웠습니다.

AI Web Application에서 기본적으로 제공되어야 하는 것은 ChatBot 기능입니다.

 

이를 위해서는 Chat History를 관리해주는 기능이 추가 되어야 합니다.

AI는 이전 대화 내용을 기억하지 못하기 때문입니다.

 

이런 AI의 부족한 부분을 채워 주는 LangChain의 Retriever 가 바로 create_history_aware_retriever 입니다.

 

AI 하고 말이 통하게 만들어 주는 바로 그 Retriever.

 

오늘은 create_history_awere_retriever에 대해 배웁니다.

 

https://youtu.be/EQ6c9309T8c

 

오늘 매울 AI Web Application link는 아래에 있습니다. https://catchuplangchain.streamlit.app/LC_Quickstart_03_ConversationRetrievalChain

 

 

 

반응형

'Catchup AI' 카테고리의 다른 글

요즘 AI 앱 개발 트렌드 입니다. 이제부터 좀 더 복잡한 AI 앱 개발 기술로 들어갑니다. 우선 Agent란 무엇인지 이해하시면 많은 도움이 됩니다. (IBM 자료)  (0) 2024.07.28
챗지피티에게 코딩 시키기 2 - 개발자로서 이런것들을 준비 하세요. 다 길이 있네요. ;)  (1) 2024.07.24
챗지피티에게 코딩 시키기 1 - 앱 하나 뚝딱 이더라구요. 근데 저는 씩 웃었습니다. (쿠키 영상: 아코디언 연주)  (1) 2024.07.20
2024 AWS Summit 에서 발표된 AWS App Studio - Prompt 만으로 어플리케이션을 만들 수 있습니다  (4) 2024.07.15
LangChain + Streamlit = RAG + ChatBot : Streamlit 의 session_state를 사용해 RAG에 대화 기능을 구현합니다  (0) 2024.07.08
LangChain Quick Start - Chunk : 실력있는 개발자는 성능, 속도, 비용까지 고려 합니다. RAG에서의 데이터 처리  (0) 2024.06.24
[Tech Snippets] 랭체인! 너 블록체인과 무슨 관계야? 조사하면 다 나온다.  (0) 2024.06.21
BIGHUG - AI 들도 각각 개성이 있네. 사람처럼. AI 개성 파악은 더 나은 협업을 위한 열쇠예요. 사람처럼.  (1) 2024.06.04
RAG 직접 코딩으로 구현하면 확실하게 배웁니다. 제 소스코드 가져가서 맘껏 활용하세요.  (1) 2024.05.31
LangChain Quick Start - Retrieval Chain 요즘 AI Web App 개발에서 가장 중요한 방법론 중 하나인 RAG를 배웁니다. 단디 배웁시다  (0) 2024.05.29


반응형

LangChain Quick Start

 

Retrieval Chain 을 배웁니다.


지난 시간에 코딩으로 구현하기 위해 필요한 사전 지식들을 배웠다면
오늘은 본격적으로 소스코드를 분석하면서 RAG를 이해해 보도록 하겠습니다.

LangChain (랭체인)의 Retrieval Chain을 사용해서 구현한 저의 AI Web App 소스코드를 같이 분석하면서 공부해 봅시다.

제 소스코드를 복사해 가셔서 나름대로 입맛에 맞게 이것 저것 고치시면 RAG의 프로세스에 대해서 확실하게 아실 수 있으실 거예요.

 

https://youtu.be/WZ3050T-CVg?si=o_szhRIFsycIvSN2

 

AI로 이미지를 생성했는데 아주 잘 그리네요.

이번에는 ChatGPT 4o 보다 Copilot이 더 잘 그려서 그걸 썼어요.

 

 

 

 

 

 

 

반응형


반응형

LangChain - Retrieval Chain

 

이번에 제 유투브 비디오에서 다룬 내용은 랭체인 기능 중 Retrieval  Chain 기능 입니다.

 

LangChain Quick Start를 보면 소단원 4개 중 3개가 Retrieval 관련된 Topic 입니다.

 

AI Web App 개발 field 에서 가장 중요한 개념 중 하나가 RAG (Retrieval Augmented Generation) 입니다.

생성형 AI 의 한계를 보완하기 위해 나온 기술이 RAG 입니다.

 

이번 시간엔 이 RAG에 대해 이해할 수 있도록 도움이 되는 내용이 있습니다.

그 외에 LangChain의 Retrieval Chain을 활용한 AI Web App 구현을 이해하기 위해 미리 공부해 두어야 할 도구들과 API 들에 대해서도 설명합니다.

 

처음 배울 때 단디 해서 나의 AI Web App 개발 능력의 기초를 탄탄하게 다집시다.

 

이번 시간에 Retrieval Chain을 사용해서 직접 AI Web App 개발을 할 수 있는 사전 지식을 꼼꼼히 배우고 다음 비디오에서 이 기능을 사용해서 제가 개발한 AI Web App의 소스 코드 분석을 하겠습니다.

 

이 두 비디오만 다 보면 RAG의 개념과 프로세스를 확실히 아실 수 있을 겁니다.

 

https://youtu.be/M9QfY_-Plsc?si=Cm_sbm89xWvfhoKR

 

 



반응형


반응형
이전 유투브에서 로컬에 AI Web App 개발 환경 하는 방법을 공유 했습니다.
 
저는 LangChain, Streamlit 조합으로 AI Web App 개발 환경을 세팅했습니다.
LLM (Large Language Model)은 대부분 OpenAI의 ChatGPT를 사용하고 있지만 HuggingFace, 구글의 Gemini, 메타의 LLama 그리고 Anthropic의 Claude 등 다른 LLM 들도 같이 공부하고 있습니다.
환경이 다 갖춰 졌으니 AI Web App 을 하나 개발 해 보겠습니다.
 
20년 넘게 개발자 생활을 했고 중간에 멀리 이역만리 미국에 와서 이민생활을 하는 저에게 잘 살았다고 따뜻한 말을 해 주는 ChatGPT 카운셀러 앱을 만들어 봤습니다.
이 앱의 소스 코드를 분석 및 공유 해 드립니다.
이 앱을 이해하고 활용하면 쉽게 본인이 만들고 싶은 AI Web App을 만드실 수 있을 겁니다.
유투브를 보고 도움이 되셨다면 구독과 좋아요 부탁드려요.
 
 

 

 

 

 

반응형


반응형

AI 분야는 대기업 중심으로 모델링 하는 시대가 어느 정도 진행이 된 것 같습니다.

 

이제 완성된 모델을 각 비즈니스 단위에서 활용을 하는 시대가 시작 될 것이라고 저는 생각합니다.

개발자로서 다가오는 시대를 준비하기 위해 AI Web Development를 공부하고 있습니다.

 

작년에는 Dive into Deep Learning이라는 교재를 통해서 Deep Learning의 기초를 학습했고

올해는 OpenAI API, LangChain, Streamlit 등을 통해 AI Web App을 개발하는 공부를 하고 있습니다.

 

공부한 내용을 유투브를 통해서 나누고 있으니 많이 봐 주시고 여러분도 미래를 준비 하시기 바랍니다.

 

https://youtu.be/fQLSNnspGDc?si=4tVv0NN1absIViqX

 

 

 

 

 

 

 

 

 

반응형
이전 1 다음