"""Utility & helper functions.""" from langchain.chat_models import init_chat_model from langchain_core.language_models import BaseChatModel from langchain_core.messages import BaseMessage def get_message_text(msg: BaseMessage) -> str: """Get the text content of a message.""" content = msg.content if isinstance(content, str): return content elif isinstance(content, dict): return content.get("text", "") else: txts = [c if isinstance(c, str) else (c.get("text") or "") for c in content] return "".join(txts).strip() def load_chat_model(fully_specified_name: str) -> BaseChatModel: """Load a chat model from a fully specified name. Args: fully_specified_name (str): String in the format 'provider/model'. """ provider, model = fully_specified_name.split("/", maxsplit=1) return init_chat_model(model, model_provider=provider)