LangChain Agent API


Parámetros completos de create_agent()

ParámetrosTipoValor predeterminadoDescripción
modelstr o BaseChatModelNinguno (obligatorio)Modelo de lenguaje
toolsSequence o NoneNoneLista de herramientas. Soporta funciones @tool, modelos Pydantic, dict
system_promptstr o SystemMessage o NoneNonePrompt del sistema
middlewareSequence[AgentMiddleware]()Lista de middleware
response_formatResponseFormat o type o dict o NoneNoneConfiguración de salida estructurada
state_schematype[AgentState] o NoneNoneEstructura de estado personalizada
context_schematype o NoneNoneEstructura de contexto de ejecución
checkpointerCheckpointer o NoneNonePersistencia de la conversación
storeBaseStore o NoneNoneAlmacenamiento entre sesiones
interrupt_beforelist[str] o NoneNonePausar antes de estos nodos
interrupt_afterlist[str] o NoneNonePausar después de estos nodos
debugboolFalseSi se muestran registros detallados
namestr o NoneNoneNombre del Agente
cacheBaseCache o NoneNoneConfiguración de caché

Métodos de CompiledStateGraph

MétodoDescripción
invoke(input, config=None)Ejecución síncrona, devuelve el estado final
ainvoke(input, config=None)Ejecución asíncrona, devuelve el estado final
stream(input, config=None, stream_mode="updates")Ejecución síncrona en streaming
astream(input, config=None, stream_mode="updates")Ejecución asíncrona en streaming
get_state(config)Obtener una instantánea del estado actual
update_state(config, values)Actualizar el estado manualmente

Estructura de AgentState

CampoTipo¿Requerido?Descripción
messageslist[AnyMessage]SíHistorial de mensajes (reductor add_messages)
jump_to"tools", "model", "end" o NonenoSalto de flujo (efímero)
structured_responseAnynoResultado de salida estructurada (OmitFromInput)

Ejemplos de uso común

Ejemplo

from langchain.agents import create_agent

# Uso básico
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hola")]})

# Configuración completa
agent = create_agent(
    model="deepseek:deepseek-v4-flash",
    tools=[tool1, tool2],
    system_prompt="Eres un asistente.",
    middleware=[my_middleware],
    response_format=MySchema,
    checkpointer=checkpointer,
    store=store,
    name="my_agent",
)

# Ejecución en streaming
for chunk in agent.stream(inputs, stream_mode="updates"):
    print(chunk)

# Obtener estado
state = agent.get_state({"configurable": {"thread_id": "1"}})
Otras extensiones