Starlette app을 제공하여 커스텀 라우트를 추가할 수 있습니다(FastAPI, FastHTML 및 기타 호환 가능한 app 포함). langgraph.json 구성 파일에 app 경로를 제공하여 LangSmith가 이를 인식하도록 할 수 있습니다.
커스텀 app 객체를 정의하면 원하는 라우트를 추가할 수 있으므로, /login 엔드포인트 추가부터 전체 풀스택 웹 앱 작성까지 모든 것을 단일 LangGraph Server에 배포할 수 있습니다.
다음은 FastAPI를 사용한 예제입니다.
app 생성
기존 LangSmith 애플리케이션에서 시작하여,webapp.py 파일에 다음 커스텀 라우트 코드를 추가하세요. 처음부터 시작하는 경우, CLI를 사용하여 템플릿에서 새 app을 생성할 수 있습니다.
langgraph.json 구성
langgraph.json 구성 파일에 다음을 추가하세요. 경로가 위에서 생성한 webapp.py 파일의 FastAPI 애플리케이션 인스턴스 app을 가리키는지 확인하세요.
서버 시작
로컬에서 서버를 테스트하세요:localhost:2024/hello로 이동하면(2024는 기본 개발 포트), /hello 엔드포인트가 {"Hello": "World"}를 반환하는 것을 볼 수 있습니다.
기본 엔드포인트 섀도잉
app에서 생성한 라우트는 시스템 기본값보다 우선순위가 높으므로, 기본 엔드포인트의 동작을 섀도잉하고 재정의할 수 있습니다.
배포
이 app을 그대로 LangSmith 또는 자체 호스팅 플랫폼에 배포할 수 있습니다.다음 단계
이제 배포에 커스텀 라우트를 추가했으므로, 동일한 기술을 사용하여 커스텀 middleware 및 커스텀 lifespan 이벤트 정의와 같이 서버 동작을 더욱 커스터마이징할 수 있습니다.Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.