from pydantic import BaseModel, Field from .llms import title_generator_model from core.config import get_settings settings = get_settings() class Title(BaseModel): title: str = Field(..., description="The title based on user message.") async def generate_chat_title(message: str) -> str: title = await title_generator_model.with_structured_output(Title).ainvoke( "Generate a 4-5 words title based on the following user message. \nUser Message: " + message ) return title.title