배포

배포

LangGraph 에이전트를 LangSmith Cloud 또는 JavaScript 프레임워크·호스팅 플랫폼으로 프로덕션에 배포해요.

LangGraph 에이전트를 프로덕션에 배포할 준비가 되면, 스택에 맞는 호스팅 모델을 고르세요. **LangSmith Cloud**는 영속 상태와 백그라운드 실행이 필요한 상태 저장·장기 실행 에이전트를 위한 완전 관리형 인프라를 제공해요.

LangSmith는 Cloud 외에도 [hybrid](/langsmith/hybrid), [standalone servers](/langsmith/deploy-standalone-server), [control plane을 이용한 self-hosted](/langsmith/deploy-with-control-plane) 등 여러 배포 옵션을 제공해요. 자세한 내용은 [LangSmith Deployment 개요](/langsmith/deployment)를 보세요.

출처: 배포 - 공식 문서

LangSmith Cloud

이 섹션에서는 GitHub 저장소에서 에이전트를 LangSmith Cloud로 배포하는 과정을 안내해요. LangSmith가 인프라, 확장, 운영 문제를 처리해요.

사전 요구사항

시작 전에 다음이 있어야 해요:

에이전트 배포

1. GitHub에 저장소 만들기

애플리케이션 코드는 LangSmith에 배포되려면 GitHub 저장소에 있어야 해요. 공개·비공개 저장소 모두 지원돼요. 이 빠른 시작을 위해, 먼저 로컬 서버 설정 가이드를 따라 앱이 LangGraph 호환인지 확인하고, 그다음 코드를 저장소에 푸시해요.

2. LangSmith에 배포

  1. LangSmith에 로그인해요. 왼쪽 사이드바에서 Deployments를 선택해요.
  2. + New Deployment 버튼을 클릭해요. 필요한 필드를 채울 수 있는 창이 열려요.
  3. 처음 사용자이거나 이전에 연결하지 않은 비공개 저장소를 추가하는 경우 Add new account 버튼을 클릭하고 지침에 따라 GitHub 계정을 연결해요.
  4. 애플리케이션의 저장소를 선택하고 Submit을 클릭해 배포해요. 완료까지 약 15분 걸릴 수 있어요. Deployment details 화면에서 상태를 확인할 수 있어요.

3. Studio에서 애플리케이션 테스트

애플리케이션이 배포되면:

  1. 방금 만든 배포를 선택해 더 많은 세부 정보를 봐요.
  2. 오른쪽 상단의 Studio 버튼을 클릭해요. Studio가 열려 그래프를 보여줘요.

4. 배포의 API URL 가져오기

  1. LangGraph의 Deployment details 화면에서 API URL을 클릭해 클립보드에 복사해요.
  2. URL을 클릭해 클립보드에 복사해요.

5. API 테스트

이제 API를 테스트할 수 있어요:

1. LangGraph SDK 설치:
```shell
pip install langgraph-sdk
```

2. 에이전트에 메시지 보내기:

```python
from langgraph_sdk import get_sync_client # 또는 async용 get_client

client = get_sync_client(url="your-deployment-url", api_key="your-langsmith-api-key")

for chunk in client.runs.stream(
    None,    # Threadless run
    "agent", # Agent 이름. langgraph.json에 정의.
    input={
        "messages": [{
            "role": "human",
            "content": "What is LangGraph?",
        }],
    },
    stream_mode="updates",
):
    print(f"Receiving new event of type: {chunk.event}...")
    print(chunk.data)
    print("\n\n")
```
```bash curl -s --request POST \ --url /runs/stream \ --header 'Content-Type: application/json' \ --header "X-Api-Key: *** API KEY> \ --data "{ \"assistant_id\": \"agent\", `# Agent 이름. langgraph.json에 정의.` \"input\": { \"messages\": [ { \"role\": \"human\", \"content\": \"What is LangGraph?\" } ] }, \"stream_mode\": \"updates\" }" ```

더 알아보기 (Learn more)