Hacker News new | ask | show | jobs
by jgilhuly 624 days ago
That's true, you could not use the ToolNode object and define your own logic to handle tools. You do need to use at least the @tool decorator in order to attach those functions to a model using LangGraph's bind_tools function.

Defining some of the functions as tools was where some of the "self" parameter issues mentioned in the TDS write up came up - since those parameters aren't added by the LLM, but LangGraph/Pydantic errors if there missing.

Technically you could forgo using the ToolNode object, not define your functions as tools, not use the bind_tools method, and potentially not use Langchain's model abstractions - but at that point, you're not using much of the framework at all.

Let me know if I'm missing something there!

1 comments

Almost none of those things are part of the LangGraph framework? LangGraph does the scheduling, checkpointing, state management, etc.

All of those things are LangChain abstractions that you can use when building a graph.