배포 생성하기
모듈 5에서 만들었던 task_maistro 앱의 배포를 생성해 보겠습니다.
코드 구조
LangGraph Platform 배포를 생성하려면 다음과 같은 정보가 제공되어야 합니다.
- LangGraph API 설정 파일 -
langgraph.json - 애플리케이션의 로직을 구현하는 그래프 - 예:
task_maistro.py - 애플리케이션 실행에 필요한 의존성을 명시하는 파일 -
requirements.txt - 애플리케이션 실행에 필요한 환경 변수 제공 -
.env또는docker-compose.yml
이 파일들은 이미 module-6/deployment 디렉토리에 준비되어 있습니다!
CLI
LangGraph CLI는 LangGraph Platform 배포 생성을 위한 커맨드 라인 인터페이스(CLI)입니다.
%%capture --no-stderr
%pip install -U langgraph-cli자체 호스팅 배포(self-hosted deployment)를 생성하기 위해 몇 가지 단계를 따르겠습니다.
LangGraph 서버를 위한 Docker 이미지 빌드
먼저 langgraph CLI를 사용하여 LangGraph 서버를 위한 Docker 이미지를 생성합니다.
이 과정은 우리가 만든 그래프와 의존성 파일들을 Docker 이미지로 패키징합니다.
Docker 이미지는 애플리케이션 실행에 필요한 코드와 의존성을 포함하는 Docker 컨테이너용 템플릿입니다.
Docker가 설치되어 있는지 확인한 후, 다음 명령어를 실행하여 my-image라는 Docker 이미지를 생성하세요:
$ cd module-6/deployment
$ langgraph build -t my-imageRedis와 PostgreSQL 설정
만약 이미 Redis와 PostgreSQL을 실행 중이라면(예: 로컬 또는 다른 서버), Redis와 PostgreSQL의 URI를 직접 지정하여 LangGraph 서버 컨테이너를 단독으로 생성하고 실행할 수 있습니다:
docker run \
--env-file .env \
-p 8123:8000 \
-e REDIS_URI="여기에_Redis_URI_입력" \
-e DATABASE_URI="여기에_PostgreSQL_URI_입력" \
-e LANGSMITH_API_KEY="여기에_LangSmith_API_키_입력" \
my-image또는, 제공된 docker-compose.yml 파일을 사용하여 정의된 서비스에 따라 세 개의 개별 컨테이너를 생성할 수도 있습니다:
langgraph-redis: 공식 Redis 이미지를 사용하여 새 컨테이너를 생성합니다.langgraph-postgres: 공식 Postgres 이미지를 사용하여 새 컨테이너를 생성합니다.langgraph-api: 미리 빌드한 여러분의 이미지를 사용하여 새 컨테이너를 생성합니다.
간단히 docker-compose-example.yml 파일을 복사한 후, 배포된 task_maistro 앱을 실행하기 위해 다음 환경 변수들을 추가하세요:
IMAGE_NAME(예:my-image)LANGSMITH_API_KEYOPENAI_API_KEY
그런 다음, 배포를 시작하세요:
$ cd module-6/deployment
$ docker compose up