""" Chat workflows. """ from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from app.api.scraper.services.prompts import chat_prompt from app.core.config import settings async def generate_chat_name(query: str) -> str: """ Generate a name for a chat. """ prompt = ChatPromptTemplate.from_messages( [("system", chat_prompt.generate_chat_name), ("human", query)] ) chain = prompt | settings.get_llm(model="gpt-4.1-nano", temperature=0.3) | StrOutputParser() return await chain.ainvoke({"query": query})