LangGraph Studio предлагает новый способ разработки приложений LLM, предоставляя специализированную среду IDE для агентов, которая обеспечивает визуализацию, взаимодействие и отладку сложных агентных приложений.
Благодаря визуальным графикам и возможности редактировать состояние вы сможете лучше понимать рабочие процессы агентов и быстрее выполнять итерации. LangGraph Studio интегрируется с LangSmith, поэтому вы можете сотрудничать с товарищами по команде для отладки режимов сбоя.
В бета-версии LangGraph Studio доступна бесплатно всем пользователям LangSmith на любом уровне плана. Зарегистрируйтесь в LangSmith здесь.

Загрузите последнюю версию файла .dmg LangGraph Studio, щелкнув здесь или посетив страницу выпусков.
На данный момент поддерживается только macOS. Поддержка Windows и Linux появится в ближайшее время. Мы также зависим от запуска Docker Engine, в настоящее время мы поддерживаем только следующие среды выполнения:
Для LangGraph Studio требуется docker-compose версии 2.22.0+ или выше. Прежде чем продолжить, убедитесь, что у вас установлен и работает Docker Desktop или Orbstack.
Чтобы использовать LangGraph Studio, убедитесь, что у вас есть проект с настроенным приложением LangGraph.
В этом примере мы будем использовать этот пример репозитория, в котором для зависимостей используется файл requirements.txt :
git clone https://github.com/langchain-ai/langgraph-example.git Если вы хотите вместо этого использовать файл pyproject.toml для управления зависимостями, вы можете использовать этот пример репозитория.
git clone https://github.com/langchain-ai/langgraph-example-pyproject.git Затем вам понадобится создать файл .env с соответствующими переменными среды:
cp .env.example .env Затем вам следует открыть файл .env и заполнить соответствующие ключи API OpenAI, Anthropic и Tavily.
Если они уже установлены в вашей среде, вы можете сохранить их в этом файле .env с помощью следующих команд:
echo " OPENAI_API_KEY= " $OPENAI_API_KEY " " > .env
echo " ANTHROPIC_API_KEY= " $ANTHROPIC_API_KEY " " >> .env
echo " TAVILY_API_KEY= " $TAVILY_API_KEY " " >> .envПримечание. НЕ добавляйте LANGSMITH_API_KEY в файл .env. Мы сделаем это автоматически при вашей аутентификации, и настройка вручную может привести к ошибкам.
После настройки проекта вы можете использовать его в LangGraph Studio. Давайте погрузимся!
Когда вы впервые открываете настольное приложение LangGraph Studio, вам необходимо войти в систему через LangSmith.

После успешной аутентификации вы можете выбрать папку приложения LangGraph для использования — ее можно либо перетащить, либо выбрать вручную в средстве выбора файлов. Если вы используете пример проекта, папка будет langgraph-example .
Важный
Выбранный вами каталог приложения должен содержать правильно настроенный файл langgraph.json . Дополнительную информацию о том, как настроить его, можно найти здесь, а о том, как настроить приложение LangGraph, — здесь.

Как только вы выберете действительный проект, LangGraph Studio запустит сервер API LangGraph, и вы должны увидеть пользовательский интерфейс с визуализированным графиком.

Теперь мы можем запустить график! LangGraph Studio позволяет запускать график с различными входными данными и конфигурациями.
Чтобы начать новый запуск:
agent . Список графиков соответствует ключам graphs в вашей конфигурации langgraph.json .Input .Submit , чтобы вызвать выбранный график.В следующем видео показано, как начать новый прогон:
Чтобы изменить конфигурацию для данного прогона графика, нажмите кнопку Configurable в разделе Input . Затем нажмите Submit чтобы вызвать график.
Важный
Чтобы меню Configurable было видимым, обязательно укажите схему конфигурации при создании StateGraph . Подробнее о том, как добавить схему конфигурации в график, можно прочитать здесь.
В следующем видео показано, как изменить конфигурацию и начать новый запуск:
Когда вы открываете LangGraph Studio, вы автоматически попадаете в окно нового потока. Если у вас открыта существующая ветка, выполните следующие действия, чтобы создать новую ветку:
+ , чтобы открыть меню новой темы.В следующем видео показано, как создать тему:
Чтобы выбрать тему:
New Thread / Thread <thread-id> в верхней части правой панели, чтобы открыть раскрывающийся список тем.В следующем видео показано, как выбрать нить:
LangGraph Studio позволяет редактировать состояние потока и разветвлять потоки для создания альтернативного выполнения графа с обновленным состоянием. Чтобы это сделать:
Fork , чтобы обновить состояние и создать новое выполнение графа с обновленным состоянием.В следующем видео показано, как редактировать тему в студии:
Возможно, вы захотите выполнить свой граф шаг за шагом или остановить выполнение графа до/после выполнения определенного узла. Вы можете сделать это, добавив прерывания. Прерывания могут быть установлены для всех узлов (т.е. пошагово выполнять выполнение агента) или для конкретных узлов. Прерывание в LangGraph Studio означает, что выполнение графа будет прервано как до, так и после запуска данного узла.
Чтобы пошагово выполнить выполнение агента, вы можете добавить прерывания ко всем узлам или к их подмножеству в графе:
Interrupt .Interrupt on all .В следующем видео показано, как добавить прерывания на все узлы:
+ на левой стороне узла.+ чтобы вызвать выбранный график.Input /конфигурацию и нажав SubmitВ следующем видео показано, как добавить прерывания к определенному узлу:
Чтобы удалить прерывание, просто выполните тот же шаг и нажмите кнопку x на левой стороне узла.
Помимо прерывания на узле и редактирования состояния графа, вам может потребоваться поддержка рабочих процессов с участием человека с возможностью обновления состояния вручную. Вот модифицированная версия agent.py с узлами agent и human , где выполнение графа будет прервано на узле human . Это позволит вам отправлять входные данные как часть human узла. Это может быть полезно, если вы хотите, чтобы агент получал вводимые пользователем данные. По сути, это заменяет способ использования input() если вы запускали его из командной строки.
from typing import TypedDict , Annotated , Sequence , Literal
from langchain_core . messages import BaseMessage , HumanMessage
from langchain_anthropic import ChatAnthropic
from langgraph . graph import StateGraph , END , add_messages
class AgentState ( TypedDict ):
messages : Annotated [ Sequence [ BaseMessage ], add_messages ]
model = ChatAnthropic ( temperature = 0 , model_name = "claude-3-sonnet-20240229" )
def call_model ( state : AgentState ) -> AgentState :
messages = state [ "messages" ]
response = model . invoke ( messages )
return { "messages" : [ response ]}
# no-op node that should be interrupted on
def human_feedback ( state : AgentState ) -> AgentState :
pass
def should_continue ( state : AgentState ) -> Literal [ "agent" , "end" ]:
messages = state [ 'messages' ]
last_message = messages [ - 1 ]
if isinstance ( last_message , HumanMessage ):
return "agent"
return "end"
workflow = StateGraph ( AgentState )
workflow . set_entry_point ( "agent" )
workflow . add_node ( "agent" , call_model )
workflow . add_node ( "human" , human_feedback )
workflow . add_edge ( "agent" , "human" )
workflow . add_conditional_edges (
"human" ,
should_continue ,
{
"agent" : "agent" ,
"end" : END ,
},
)
graph = workflow . compile ( interrupt_before = [ "human" ])В следующем видео показано, как вручную отправлять обновления состояния (т. е. сообщения в нашем примере) при прерывании:
LangGraph Studio позволяет вам изменять конфигурацию вашего проекта ( langgraph.json ) в интерактивном режиме.
Чтобы изменить конфигурацию из студии, выполните следующие действия:
Configure в правом нижнем углу. Откроется интерактивное меню конфигурации со значениями, соответствующими существующему langgraph.json .Save and Restart , чтобы перезагрузить сервер API LangGraph с обновленной конфигурацией.В следующем видео показано, как редактировать конфигурацию проекта из студии:
С помощью LangGraph Studio вы можете изменить код графика и синхронизировать изменения с интерактивным графиком.
Чтобы изменить график из студии, выполните следующие действия:
Open in VS Code в правом нижнем углу. Откроется проект, который в данный момент открыт в студии LangGraph..py , в которых определен скомпилированный граф или связанные зависимости.В следующем видео показано, как открыть редактор кода из студии:
После изменения базового кода вы также можете воспроизвести узел на графике. Например, если агент отвечает плохо, вы можете обновить реализацию узла агента в редакторе кода и перезапустить ее. Это может значительно упростить повторение долго работающих агентов.
LangGraph Studio использует Docker Compose для запуска API, Redis и Postgres, которые, в свою очередь, создают собственную сеть. Таким образом, для доступа к локальным сервисам вам необходимо использовать в качестве имени хоста host.docker.internal вместо localhost . См. № 112 для получения более подробной информации.
По умолчанию мы стараемся сделать образ как можно меньшим, поэтому в базовом образе отсутствуют некоторые зависимости, такие как gcc или build-essentials . Если вам необходимо установить дополнительные зависимости, вы можете сделать это, добавив дополнительные инструкции Dockerfile в раздел dockerfile_lines вашего файла langgraph.json :
{
"dockerfile_lines": [
"RUN apt-get update && apt-get install -y gcc"
]
}
Дополнительные сведения см. в разделе «Как настроить Dockerfile».