9.7 KiB
Quickstart: Deploy on LangGraph Cloud
!!! note "Prerequisites"
Before you begin, ensure you have the following:
- [GitHub account](https://github.com/)
- [LangSmith account](https://smith.langchain.com/)
Create a repository on GitHub
To deploy a LangGraph application to LangGraph Cloud, your application code must reside in a GitHub repository. Both public and private repositories are supported.
You can deploy any LangGraph Application to LangGraph Cloud.
For this guide, we'll use the pre-built Python ReAct Agent template.
??? note "Get Required API Keys for the ReAct Agent template"
This **ReAct Agent** application requires an API key from [Anthropic](https://console.anthropic.com/) and [Tavily](https://app.tavily.com/). You can get these API keys by signing up on their respective websites.
**Alternative**: If you'd prefer a scaffold application that doesn't require API keys, use the [**New LangGraph Project**](https://github.com/langchain-ai/new-langgraph-project) template instead of the **ReAct Agent** template.
- Go to the ReAct Agent repository.
- Fork the repository to your GitHub account by clicking the
Forkbutton in the top right corner.
Deploy to LangGraph Cloud
??? note "1. Log in to LangSmith"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/01_login.png)
<figcaption>
Go to [LangSmith](https://smith.langchain.com/) and log in. If you don't have an account, you can sign up for free.
</figcaption>
</figure>
??? note "2. Click on LangGraph Platform (the left sidebar)"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/02_langgraph_platform.png)
<figcaption>
Select **LangGraph Platform** from the left sidebar.
</figcaption>
</figure>
??? note "3. Click on + New Deployment (top right corner)"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/03_deployments_page.png)
<figcaption>
Click on **+ New Deployment** to create a new deployment. This button is located in the top right corner.
It'll open a new modal where you can fill out the required fields.
</figcaption>
</figure>
??? note "4. Click on Import from GitHub (first time users)"
<figure markdown="1">
[](deployment/img/04_create_new_deployment.png)
<figcaption>
Click on **Import from GitHub** and follow the instructions to connect your GitHub account. This step is needed for **first-time users** or to add private repositories that haven't been connected before.</figcaption>
</figure>
??? note "5. Select the repository, configure ENV vars etc"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/05_configure_deployment.png)
<figcaption>
Select the <strong>repository</strong>, add env variables and secrets, and set other configuration options.
</figcaption>
</figure>
- **Repository**: Select the repository you forked earlier (or any other repository you want to deploy).
- Set the secrets and environment variables required by your application. For the **ReAct Agent** template, you need to set the following secrets:
- **ANTHROPIC_API_KEY**: Get an API key from [Anthropic](https://console.anthropic.com/).
- **TAVILY_API_KEY**: Get an API key on the [Tavily website](https://app.tavily.com/).
??? note "6. Click Submit to Deploy!"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/05_configure_deployment.png)
<figcaption>
Please note that this step may ~15 minutes to complete. You can check the status of your deployment in the **Deployments** view.
Click the <strong>Submit</strong> button at the top right corner to deploy your application.
</figcaption>
</figure>
Lagraph Studio Web UI
Once your application is deployed, you can test it in LangGraph Studio.
??? note "1. Click on an existing deployment"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/07_deployments_page.png)
<figcaption>
Click on the deployment you just created to view more details.
</figcaption>
</figure>
??? note "2. Click on LangGraph Studio"
<figure markdown="1">
[{: style="max-height:300px"}](deployment/img/08_deployment_view.png)
<figcaption>
Click on the <strong>LangGraph Studio</strong> button to open LangGraph Studio.
</figcaption>
</figure>
Test the API
!!! note
The API calls below are for the **ReAct Agent** template. If you're deploying a different application, you may need to adjust the API calls accordingly.
Before using, you need to get the URL of your LangGraph deployment. You can find this in the Deployment view. Click the URL to copy it to the clipboard.
You also need to make sure you have set up your API key properly, so you can authenticate with LangGraph Cloud.
export LANGSMITH_API_KEY=...
=== "Python SDK (Async)"
**Install the LangGraph Python SDK**
```shell
pip install langgraph-sdk
```
**Send a message to the assistant (threadless run)**
```python
from langgraph_sdk import get_client
client = get_client(url="your-deployment-url", api_key="your-langsmith-api-key")
async for chunk in client.runs.stream(
None, # Threadless run
"agent", # Name of assistant. Defined in 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")
```
=== "Python SDK (Sync)"
**Install the LangGraph Python SDK**
```shell
pip install langgraph-sdk
```
**Send a message to the assistant (threadless run)**
```python
from langgraph_sdk import get_sync_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", # Name of assistant. Defined in 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")
```
=== "Javascript SDK"
**Install the LangGraph JS SDK**
```shell
npm install @langchain/langgraph-sdk
```
**Send a message to the assistant (threadless run)**
```js
const { Client } = await import("@langchain/langgraph-sdk");
const client = new Client({ apiUrl: "your-deployment-url", apiKey: "your-langsmith-api-key" });
const streamResponse = client.runs.stream(
null, // Threadless run
"agent", // Assistant ID
{
input: {
"messages": [
{ "role": "user", "content": "What is LangGraph?"}
]
},
streamMode: "messages",
}
);
for await (const chunk of streamResponse) {
console.log(`Receiving new event of type: ${chunk.event}...`);
console.log(JSON.stringify(chunk.data));
console.log("\n\n");
}
```
=== "Rest API"
```bash
curl -s --request POST \
--url <DEPLOYMENT_URL> \
--header 'Content-Type: application/json' \
--data "{
\"assistant_id\": \"agent\",
\"input\": {
\"messages\": [
{
\"role\": \"human\",
\"content\": \"What is LangGraph?\"
}
]
},
\"stream_mode\": \"updates\"
}"
```
Next Steps
Congratulations! If you've worked your way through this tutorial you are well on your way to becoming a LangGraph Cloud expert. Here are some other resources to check out to help you out on the path to expertise:
LangGraph Framework
- LangGraph Tutorial: Get started with LangGraph framework.
- LangGraph Concepts: Learn the foundational concepts of LangGraph.
- LangGraph How-to Guides: Guides for common tasks with LangGraph.
📚 Learn More about LangGraph Platform
Expand your knowledge with these resources:
- LangGraph Platform Concepts: Understand the foundational concepts of the LangGraph Platform.
- LangGraph Platform How-to Guides: Discover step-by-step guides to build and deploy applications.
- Launch Local LangGraph Server: This quick start guide shows how to start a LangGraph Server locally for the ReAct Agent template. The steps are similar for other templates.