API агента LangChain


create_agent() полные параметры

ПараметрTypeЗначение по умолчаниюОписание
modelstr или BaseChatModelNone (обязательно)Языковая модель
toolsSequence или NoneОтсутствуетСписок инструментов. Поддерживает функции @tool, модели Pydantic, dict
system_promptstr или SystemMessage или NoneОтсутствуетСистемный промпт
Промежуточное ПОSequence[AgentMiddleware]()Список middleware
response_formatResponseFormat или type или dict или NoneОтсутствуетКонфигурация структурированного вывода
state_schematype[AgentState] или NoneОтсутствуетПользовательская структура состояния
context_schematype или NoneОтсутствуетСтруктура контекста выполнения
checkpointerCheckpointer или NoneОтсутствуетСохранение диалога
storeBaseStore или NoneОтсутствуетМежсессионное хранилище
interrupt_beforelist[str] или NoneОтсутствуетПауза перед этими узлами
interrupt_afterlist[str] или NoneОтсутствуетПриостановка после этих узлов
debugboolFalseВыводить ли подробные журналы
namestr или NoneОтсутствуетИмя агента
cacheBaseCache или NoneОтсутствуетКонфигурация кэша

Методы CompiledStateGraph

МетодОписание
invoke(input, config=None)Выполнить синхронно, вернуть конечное состояние
ainvoke(input, config=None)Выполнить асинхронно, вернуть конечное состояние
stream(input, config=None, stream_mode="updates")Синхронный потоковый запуск
astream(input, config=None, stream_mode="updates")Асинхронный потоковый запуск
get_state(config)Получить текущий снимок состояния
update_state(config, values)Обновить состояние вручную

Структура AgentState

ПолеTypeОбязательно?Описание
messageslist[AnyMessage]ДаИстория сообщений (редьюсер add_messages)
jump_to"tools" или "model" или "end" или NoneнетПереход потока (эфемерный)
structured_responseAnyнетРезультат структурированного вывода (OmitFromInput)

Типичные примеры использования

Пример

from langchain.agents import create_agent

# Базовое использование
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hello")]})

# Полная конфигурация
agent = create_agent(
    model="deepseek:deepseek-v4-flash",
    tools=[tool1, tool2],
    system_prompt="Вы — ассистент.",
    middleware=[my_middleware],
    response_format=MySchema,
    checkpointer=checkpointer,
    store=store,
    name="my_agent",
)

# Потоковый запуск
for chunk in agent.stream(inputs, stream_mode="updates"):
    print(chunk)

# Получение состояния
state = agent.get_state({"configurable": {"thread_id": "1"}})
Другие расширения