애플리케이션 구조
애플리케이션 구조
LangGraph 애플리케이션은 하나 이상의 그래프, 설정 파일(langgraph.json), 의존성을 지정하는 파일, 그리고 선택적으로 환경 변수를 지정하는 .env 파일로 구성돼요.
이 가이드는 애플리케이션의 일반적인 구조를 보여주고, LangSmith Deployment로 애플리케이션을 배포하는 데 필요한 설정을 어떻게 제공하는지 알려드릴게요.
핵심 개념
LangSmith로 배포하려면 다음 정보를 제공해야 해요:
- 애플리케이션에 쓸 의존성·그래프·환경 변수를 지정하는 LangGraph 설정 파일(
langgraph.json). - 애플리케이션의 로직을 구현하는 그래프.
- 애플리케이션 실행에 필요한 의존성을 지정하는 파일.
- 애플리케이션 실행에 필요한 환경 변수.
파일 구조
아래는 애플리케이션 디렉토리 구조의 예시예요:
설정 파일
langgraph.json 파일은 LangGraph 애플리케이션을 배포하는 데 필요한 의존성, 그래프, 환경 변수 및 기타 설정을 지정하는 JSON 파일이에요.
JSON 파일에서 지원하는 모든 키는 LangGraph 설정 파일 레퍼런스에서 확인할 수 있어요.
예시
- 의존성은 커스텀 로컬 패키지와
langchain_openai패키지를 포함해요. - 단일 그래프가
./your_package/your_file.py파일에서variable변수로 로드돼요. - 환경 변수는
.env파일에서 로드돼요.
{
"dependencies": ["langchain_openai", "./your_package"],
"graphs": {
"my_agent": "./your_package/your_file.py:agent"
},
"env": "./.env"
}
의존성
LangGraph 애플리케이션은 다른 Python 패키지에 의존할 수 있어요.
의존성을 올바르게 설정하려면 일반적으로 다음 정보를 지정해야 해요:
- 디렉토리 안에서 의존성을 지정하는 파일(예:
requirements.txt,pyproject.toml, 또는package.json). - LangGraph 설정 파일의
dependencies키로, LangGraph 애플리케이션 실행에 필요한 의존성을 지정해요. - 추가 바이너리나 시스템 라이브러리는 LangGraph 설정 파일의
dockerfile_lines키로 지정할 수 있어요.
그래프
LangGraph 설정 파일의 graphs 키로 배포된 LangGraph 애플리케이션에서 사용할 수 있는 그래프를 지정해요.
설정 파일에 하나 이상의 그래프를 지정할 수 있어요. 각 그래프는 이름(고유해야 함)과 다음 중 하나의 경로로 식별되는데, (1) 컴파일된 그래프 또는 (2) 그래프를 만드는 함수가 정의된 곳이에요.
환경 변수
로컬에서 배포된 LangGraph 애플리케이션으로 작업할 때는 LangGraph 설정 파일의 env 키로 환경 변수를 설정할 수 있어요.
프로덕션 배포에서는 일반적으로 배포 환경에서 환경 변수를 설정하고 싶을 거예요.