LangGraph 애플리케이션 구조 이해하기

LangGraph 애플리케이션 구조 이해하기

LangGraph 애플리케이션은 하나 이상의 그래프, 구성 파일(langgraph.json), 의존성을 지정하는 파일, 그리고 환경 변수를 지정하는 선택적 .env 파일로 구성돼요. 이 가이드는 애플리케이션의 전형적인 구조를 보여주고, LangSmith Deployment로 애플리케이션을 배포하는 데 필요한 구성 방법을 알려줘요.

출처: 공식문서

핵심 개념 (Key concepts)

LangSmith로 배포하려면 다음 정보가 준비되어야 해요.

  1. 애플리케이션에 사용할 의존성·그래프·환경 변수를 지정하는 LangGraph 구성 파일(langgraph.json)
  2. 애플리케이션 로직을 구현하는 그래프들
  3. 애플리케이션 실행에 필요한 의존성을 지정하는 파일
  4. 애플리케이션 실행에 필요한 환경 변수들

파일 구조 (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 패키지에 의존할 수 있어요. 의존성을 올바르게 설정하려면 일반적으로 다음 정보를 지정해야 해요.

  1. 디렉토리에 의존성을 지정하는 파일 (예: requirements.txt, pyproject.toml, package.json)
  2. LangGraph 애플리케이션 실행에 필요한 의존성을 지정하는 LangGraph 구성 파일의 dependencies
  3. 추가 바이너리나 시스템 라이브러리는 LangGraph 구성 파일의 dockerfile_lines 키로 지정할 수 있어요.

그래프 (Graphs)

LangGraph 구성 파일의 graphs 키로 배포된 LangGraph 애플리케이션에서 사용할 수 있는 그래프를 지정해요. 구성 파일에 하나 이상의 그래프를 지정할 수 있어요. 각 그래프는 (고유해야 하는) 이름과 다음 중 하나를 가리키는 경로로 식별돼요: (1) 컴파일된 그래프 또는 (2) 그래프를 만드는 함수.

환경 변수 (Environment variables)

배포된 LangGraph 애플리케이션을 로컬에서 작업한다면 LangGraph 구성 파일의 env 키로 환경 변수를 설정할 수 있어요. 프로덕션 배포에서는 보통 배포 환경에서 환경 변수를 설정하게 될 거예요.

더 알아보기 (Learn more)