from typing import Any from langchain.agents import create_agent from langchain.messages import AIMessage, ToolMessage from langchain.tools import tool from langchain_core.callbacks import CallbackManagerForLLMRun from langchain_core.language_models.chat_models import BaseChatModel from langchain_core.messages import BaseMessage from langchain_core.outputs import ChatGeneration, ChatResult @tool def convert_celsius_to_fahrenheit(celsius: float) -> float: """Convert a Celsius temperature to Fahrenheit.""" return celsius * 9 / 5 + 32