| 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 | |