그래프를 다 만들었으면 서비스로 배포할 차례다. langgraph.json에 그래프를 등록하면, 로컬 dev 서버로 API·Studio(시각적 디버거)를 띄우고, 그대로 LangGraph Platform의 관리형 서버로 올릴 수 있다. 스트리밍·영속성·사람 개입이 API 레벨에서 기본 제공된다.
이 강의 목표는 배포 설정을 이해하고 전체 여정을 정리하는 것이다.
1. langgraph.json
프로젝트 루트에 그래프·의존성·환경변수를 선언한다.
{
"dependencies": ["."],
"graphs": { "agent": "./app.py:app" },
"env": ".env"
}
graphs는 {이름: "파일경로:변수명"}으로, 컴파일된 그래프 객체를 가리킨다.
2. 로컬 개발 서버 & Studio
pip install "langgraph-cli[inmem]"
langgraph dev # 로컬 API 서버 + Studio UI
Studio에서 그래프를 시각적으로 보고, 단계별로 실행하며, 상태를 편집하고 타임 트래블까지 할 수 있다.
3. 배포 형태
- LangGraph Platform (클라우드): 관리형 배포, 오토스케일·영속성 내장.
- 셀프 호스팅: Docker 이미지를 자체 인프라에.
- 라이브러리로만: 서버 없이 파이썬 앱에 임베드.
핵심 명령·용어
| 이름 | 뜻 |
|---|---|
langgraph.json |
배포 설정 파일 |
langgraph dev |
로컬 개발 서버 |
| Studio | 시각적 디버거 UI |
| LangGraph Platform | 관리형 배포 서비스 |
예제
# 프로덕션 이미지 빌드 후 실행
langgraph build -t my-agent
docker run -p 8123:8000 --env-file .env my-agent
# REST API 로 스트리밍 호출 가능 (assistants/threads/runs)
총정리
이 시리즈의 흐름을 되짚으면 다음과 같다.
- 기초: ①개요 → ②State·리듀서 → ③노드·엣지·컴파일
- 제어: ④조건부 엣지·순환 → ⑤도구·ToolNode → ⑥프리빌트 에이전트
- 상태·개입: ⑦체크포인터·메모리 → ⑧Human-in-the-loop → ⑨스트리밍
- 확장·운영: ⑩멀티 에이전트 → ⑪타임 트래블 → ⑫배포
해설) LangGraph의 힘은 상태를 공유하는 그래프라는 단순한 아이디어에서 나온다. State를 잘 설계하고, 필요한 만큼만 노드·엣지·분기를 얹으면, 관측·중단·재개·확장이 모두 가능한 견고한 에이전트가 된다. 이것으로 LangGraph 12강을 마친다. 수고하셨습니다.
댓글 0
댓글은 운영자만 작성할 수 있어요.