LangGraph 애플리케이션 구조 이해하기
LangGraph 애플리케이션 구조 이해하기
LangGraph 애플리케이션은 하나 이상의 그래프, 구성 파일(langgraph.json), 의존성을 지정하는 파일, 그리고 환경 변수를 지정하는 선택적 .env 파일로 구성돼요. 이 가이드는 애플리케이션의 전형적인 구조를 보여주고, LangSmith Deployment로 애플리케이션을 배포하는 데 필요한 구성 방법을 알려줘요.
출처: 공식문서
핵심 개념 (Key concepts)
LangSmith로 배포하려면 다음 정보가 준비되어야 해요.
- 애플리케이션에 사용할 의존성·그래프·환경 변수를 지정하는 LangGraph 구성 파일(
langgraph.json) - 애플리케이션 로직을 구현하는 그래프들
- 애플리케이션 실행에 필요한 의존성을 지정하는 파일
- 애플리케이션 실행에 필요한 환경 변수들
파일 구조 (File structure)
애플리케이션의 디렉토리 구조 예시를 보여드릴게요.
- Python (requirements.txt)
- Python (pyproject.toml)
구성 파일 (Configuration file)
langgraph.json 파일은 LangGraph 애플리케이션 배포에 필요한 의존성·그래프·환경 변수 및 기타 설정을 지정하는 JSON 파일이에요. JSON 파일에서 지원되는 모든 키에 대한 상세는 LangGraph 구성 파일 레퍼런스를 참고하세요.
예시 (Examples)
- 의존성은 커스텀 로컬 패키지와
langchain_openai패키지를 포함해요. - 단일 그래프가
./your_package/your_file.py파일에서variable변수로 로드돼요. - 환경 변수는
.env파일에서 로드돼요.
의존성 (Dependencies)
LangGraph 애플리케이션은 다른 Python 패키지에 의존할 수 있어요. 의존성을 올바르게 설정하려면 일반적으로 다음 정보를 지정해야 해요.
- 디렉토리에 의존성을 지정하는 파일 (예:
requirements.txt,pyproject.toml,package.json) - LangGraph 애플리케이션 실행에 필요한 의존성을 지정하는 LangGraph 구성 파일의
dependencies키 - 추가 바이너리나 시스템 라이브러리는 LangGraph 구성 파일의
dockerfile_lines키로 지정할 수 있어요.
그래프 (Graphs)
LangGraph 구성 파일의 graphs 키로 배포된 LangGraph 애플리케이션에서 사용할 수 있는 그래프를 지정해요. 구성 파일에 하나 이상의 그래프를 지정할 수 있어요. 각 그래프는 (고유해야 하는) 이름과 다음 중 하나를 가리키는 경로로 식별돼요: (1) 컴파일된 그래프 또는 (2) 그래프를 만드는 함수.
환경 변수 (Environment variables)
배포된 LangGraph 애플리케이션을 로컬에서 작업한다면 LangGraph 구성 파일의 env 키로 환경 변수를 설정할 수 있어요. 프로덕션 배포에서는 보통 배포 환경에서 환경 변수를 설정하게 될 거예요.
더 알아보기 (Learn more)
- LangGraph 구성 파일 레퍼런스
- LangSmith Deployment로 애플리케이션 배포
- [LangGraph CLI]로 로컬 개발