[LangGraph] 동일한 상태가 공유되는 랭그래프와 그래프 구성
🪵 LangChain의 한계 🪵 복잡한 작업 플로우를 설계하기 힘들다 Agent가 동적인 의사결정 중에 각 단계에서 의도하지 않은 결과가 나왔을 때, 이전 단계로 돌아가서 검색을 다시 한다거나, 답변을 다시 생성하는 플로우를 짜는게 전통적인 RAG, LangChain 만으로는 한계가 있다. LangGraph를 이용하면 재생성 플로우를 설계해...
🪵 LangChain의 한계 🪵 복잡한 작업 플로우를 설계하기 힘들다 Agent가 동적인 의사결정 중에 각 단계에서 의도하지 않은 결과가 나왔을 때, 이전 단계로 돌아가서 검색을 다시 한다거나, 답변을 다시 생성하는 플로우를 짜는게 전통적인 RAG, LangChain 만으로는 한계가 있다. LangGraph를 이용하면 재생성 플로우를 설계해...
🦙 Agent System 🦙 LLM을 추론엔진으로 사용하여 어떤 행동을 할지, 그 행동의 입력은 무엇일지 결정하는 시스템을 말한다 🎯 언어모델이 단순히 텍스트를 출력하는 것을 넘어 실제 행동을 취하게 한다. 도구를 사용하는 과정까지 LLM이 컨트롤한다. 🗿 Agent System 동작 방식 행동의 결과를 다시 Agent에 피드...
🪵 AWS CodeDeploy 🪵 서버 (EC2 인스턴스) 가 여러대여도 쉽게 배포를 할 수 있게 도와준다 ※ 무중단 배포기능도 내재되어 있어 쉽게 무중단 배포를 구현할 수 있다. AWS CodeDeploy가 EC2에 명령을 해야하는데, EC2가 해당 명령을 알아들을 수 있는 프로그램을 설치해야 한다 (codedeploy-agent) 🧙♂...
🗿 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 🗿 Github Actions 안에서 빌드와 테스트를 진행하고 빌드된 파일을 전달한다 AWS EC2에서 빌드하는 것아 아닌 Github Actions에서 빌드함으로써 서버 (EC2) 의 성능에 영향을 거의 주지 않는다. 다만, 무중단 배포 구현이나 여러 EC2 인스턴스에 배포해야하는 상황...
🪵 CI/CD란 🪵 테스트 (Test), 통합 (Merge), 배포(Deploy)의 과정을 자동화하는 것을 말한다 새 기능을 구현한 코드가 있을 때마다, 커밋(Commit) 하고 브랜치에 머지(Merge) 해서, 서버(AWS EC2)에서 직접 매번 업데이트된 코드를 다운받아, 빌드 (Build) 하고 테스트 (Test) 해서 실행시켜주는 과정...
🪵 멀티태스킹과 멀티프로세싱 🪵 OS는 스케줄링이라는 기법을 이용해 동시에 여러 작업을 수행한다 하나의 CPU 코어로 여러개의 프로그램을 동시에 실행하는 것처럼 보이게 하는 기술을 ’ 멀티태스킹 ‘이라 한다. 즉, CPU가 매우 빠르게 여러 개의 프로그램 코드를 번갈아 연산하는 것이다. ⚠️ 프로그램 실행 = CPU 연산 프로그램의 실...
프로젝트 환경 구성 (eslint + prettier, babel) 🐀 ESLint는 Linter이고, Prettier는 Formatter이다 Linter는 js 소스코드에 직접적인 에러와 에러가 날만한 잠재적인 부분에 flag를 달아주는 코드 문법 보조 도구이다. 이러한, 🏴 ESLint는 직/간접적인 에러를 체킹해줄 뿐만 아니라, 코...
빌드 자동화 도구 🐀 빌드 자동화 도구, Gradle 빌드란 실행파일을 만드는 과정을 말한다. 작업한 파일들(소스코드, 라이브러리, 이미지)을 출시하기 적합한 형태로 포장하는 일을 말한다. 압축 변환 결국 빌드란 ✨ 소스코드 파일을 컴파일한 후 여러 개의 모듈을 묶어 실행파일로 만드는 과정이다. 빌드되어 나온 결과물을 🗿 artifact...
Vue2와 Vue3의 차이점 🐀 Vue2와 Vue3의 차이점 Composition API Composition API는 Vue2에서는 플러그인 형태로 사용가능했지만, Vue3부터 라이브러리 공식 API로 채택되었다. root element Vue2에서는 root element가 하나여야 되는 한계점이 있지...
타입스크립트를 점진적으로 적용해 나가기 ⚔️ 타입스크립트를 점진적으로 적용해 나가기 (1) 타입스크립트 환경 구성 (2) 명시적인 any 선언 (3) 구체적인 타입 정의 (4) 외부 라이브러리 모듈화 (5) 'strict' 옵션 추가 후 타입 정의 타입스크립트 환경 구성 🥯 타입스크립트 환경 구성 typescript 라...