langchain/chat_models/base.py/BaseChatModel/_call_async
class BaseChatModel:    async def _call_async(
        self,
        messages: List[BaseMessage],
        stop: Optional[List[str]] = None,
        callbacks: Callbacks = None,
    ) -> BaseMessage:
        result = await self.agenerate([messages], stop=stop, callbacks=callbacks)
        generation = result.generations[0][0]
        if isinstance(generation, ChatGeneration):
            return generation.message
        else:
            raise ValueError("Unexpected generation type")