Search

LangGraph Structure

대분류
인공지능/데이터
프레임워크
소분류
LangChain
유형
LangGraph
부유형
Structure
주요 레퍼런스
https://langchain-ai.github.io/langgraph/concepts/application_structure/
최종 편집 일시
2025/04/10 12:07
생성 일시
2025/04/10 01:25
13 more properties

개요

LangGraph 애플리케이션 구성
하나 이상의 그래프
LangGraph API 구성 파일( langgraph.json)
종속성을 지정하는 파일
환경 변수를 지정하는 선택적 .env 파일
이 가이드에선 LangGraph 애플리케이션의 일반적인 구조를 보여주고 LangGraph 플랫폼을 사용하여 LangGraph 애플리케이션을 배포하는 데 필요한 정보를 지정하는 방법을 설명한다.

핵심 개념

LangGraph 플랫폼을 사용하여 배포하려면 다음 정보를 제공해야 한다.
1.
애플리케이션에 사용할 종속성, 그래프, 환경 변수를 지정하는 LangGraph API 구성 파일langgraph.json).
2.
애플리케이션의 논리를 구현하는  Graph
3.
애플리케이션을 실행하는 데 필요한 종속성을 지정하는 Configuration File
4.
애플리케이션을 실행하는 데 필요한 Environment Variables

파일 구조

Python (requirements.txt)
my-app/ ├── my_agent # all project code lies within here │ ├── utils # utilities for your graph │ │ ├── __init__.py │ │ ├── tools.py # tools for your graph │ │ ├── nodes.py # node functions for you graph │ │ └── state.py # state definition of your graph │ ├── __init__.py │ └── agent.py # code for constructing your graph ├── .env # environment variables ├── requirements.txt # package dependencies └── langgraph.json # configuration file for LangGraph
Plain Text
복사
Python (pyproject.toml)
my-app/ ├── my_agent # all project code lies within here │ ├── utils # utilities for your graph │ │ ├── __init__.py │ │ ├── tools.py # tools for your graph │ │ ├── nodes.py # node functions for you graph │ │ └── state.py # state definition of your graph │ ├── __init__.py │ └── agent.py # code for constructing your graph ├── .env # environment variables ├── langgraph.json # configuration file for LangGraph └── pyproject.toml # dependencies for your project
Plain Text
복사
JS (package.json)
my-app/ ├── src # all project code lies within here │ ├── utils # optional utilities for your graph │ │ ├── tools.ts # tools for your graph │ │ ├── nodes.ts # node functions for you graph │ │ └── state.ts # state definition of your graph │ └── agent.ts # code for constructing your graph ├── package.json # package dependencies ├── .env # environment variables └── langgraph.json # configuration file for LangGraph
Plain Text
복사
LangGraph 애플리케이션의 디렉토리 구조는 프로그래밍 언어와 사용하는 패키지 관리자에 따라 달라질 수 있습니다.

Configuration File

langgraph.json파일이란?
LangGraph 애플리케이션을 배포하는 데 필요한 종속성, 그래프, 환경 변수 및 기타 설정을 지정하는 JSON 파일
이 파일은 다음 정보의 지정을 지원한다.
열쇠
설명
필수/선택
dependencies
LangGraph API 서버에 대한 종속성 배열. 종속성은 다음 중 하나일 수 있다. (1) ".", 로컬 Python 패키지 (2) "./local_package"앱 디렉터리 pyproject.toml, setup.py 혹은 requirements.txt (3) 패키지 이름
필수
graphs
그래프 ID에서 컴파일된 그래프 또는 그래프를 만드는 함수가 정의된 경로로의 매핑 예: • ./your_package/your_file.py:variable, 여기서 variablelanggraph.graph.state.CompiledStateGraph의 인스턴스이다. • ./your_package/your_file.py:make_graph, 여기서 make_graph는 구성 사전(langchain_core.runnables.RunnableConfig)을 가져와 langgraph.graph.state.StateGraph 혹은 langgraph.graph.state.CompiledStateGraph 인스턴스를 생성하는 함수이다 .
필수
env
파일 경로 .env 또는 환경 변수에서 해당 값까지의 매핑
선택
python_version
3.11 또는 3.12 기본값은 3.11.
선택
pip_config_file
pip 구성 파일 경로
선택
dockerfile_lines
부모 이미지에서 가져온 후 Dockerfile에 추가할 추가 줄의 배열
선택
LangGraph CLI는 기본적으로 현재 디렉토리의 구성 파일 langgraph.json을 사용한다.

Examples

Python
종속성에는 사용자 정의 로컬 패키지와 langchain_openai패키지가 포함된다.
./your_package/your_file.pyvariable변수가 있는 파일에서 단일 그래프가 로드된다.
환경 변수는 .env파일에서 로드된다.
{ "dependencies": [ "langchain_openai", "./your_package" ], "graphs": { "my_agent": "./your_package/your_file.py:agent" }, "env": "./.env" }
JSON
복사
JavaScript
package.json종속성은 로컬 디렉토리(예: ) 의 종속성 파일에서 로드된다 .
./your_package/your_file.jsagent함수를 사용하여 파일에서 단일 그래프가 로드된다.
환경 변수는 OPENAI_API_KEY인라인으로 설정된다.
{ "dependencies": [ "." ], "graphs": { "my_agent": "./your_package/your_file.js:agent" }, "env": { "OPENAI_API_KEY": "secret-key" } }
JSON
복사

Dependencies

LangGraph 애플리케이션은 다른 Python 패키지나 JavaScript 라이브러리에 의존할 수 있다 (애플리케이션이 작성된 프로그래밍 언어에 따라 다름).
종속성을 올바르게 설정하려면 일반적으로 다음 정보를 지정해야 한다.
1.
종속성을 지정하는 디렉토리의 파일(예: requirements.txt, pyproject.toml, 또는package.json).
2.
LangGraph 애플리케이션을 실행하는 데 필요한 종속성을 지정하는 Configuration File의  dependencies
3.
추가 바이너리나 시스템 라이브러리는  Configuration File에서 dockerfile_lines키를 사용하여 지정 가능

Graph

Configuration Filegraphs 의 키를 사용하여 배포된 LangGraph 애플리케이션에서 사용할 수 있는 그래프를 지정한다.
Configuration File에서 하나 이상의 그래프를 지정할 수 있다.
각 그래프는 다음 경로의 고유한 이름으로 식별된다:
1.
컴파일된 그래프
2.
그래프를 만드는 함수

Environment Varible

로컬로 배포된 LangGraph 애플리케이션을 사용하는 경우 LangGraph 구성 파일env 의 키 에서 환경 변수를 구성할 수 있다.

필자가 쓰는 환경

my-app/ ├── main_agent/ │ ├── __init__.py │ ├── agent.py (main langgraph.graph) │ ├── commmon/ │ │ ├── __init__.py │ │ └── pyproject.toml │ ├── sub_agent1/ │ │ ├── modules │ │ │ ├── __init__.py │ │ │ ├── tools.py │ │ │ ├── nodes.py │ │ │ └── state.py │ │ ├── __init__.py │ │ ├── agent.py (sub langgraph.graph) │ │ └── pyproject.toml │ └── sub_agent2/ │ ├── modules │ │ ├── __init__.py │ │ ├── tools.py │ │ ├── nodes.py │ │ └── state.py │ ├── __init__.py │ ├── agent.py (sub langgraph.graph) │ └── pyproject.toml ├── tests/ ├── .env ├── langgraph.json
JSON
복사