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