How to create a Langchain tool from a pydantic class?

Suppose I have this class:

class TagEverything(BaseModel):
“”“Tag the user input with particular info.”“”
Category: str = Field(description=“type of query should be either precise or general”)
ComponentCategory: str = Field(description=“type of components should be car, truck, train or unknown”)
Transport: bool = Field(description=“True if query mentions transport otherwise False”)

I would like to be able to suppose this to the model, so that it could optionally use it
e.g.

functions = [
format_tool_to_openai_function(handle_classified_query),
convert_to_openai_function(EverythingTagging)
]

model = ChatOpenAI(model=“gpt-4-turbo”, temperature=0.0).bind(functions=functions)

etc.
but it’s not a real tool, it’s not runnable, etc. How can I make it so?