Spaces:
Sleeping
Sleeping
| """ | |
| Planner agent — LangChain LCEL chain. | |
| Chain: ChatPromptTemplate | ChatOpenAI (current model, temp 0.3) | StrOutputParser | |
| """ | |
| from langchain_core.prompts import ChatPromptTemplate | |
| from langchain_core.output_parsers import StrOutputParser | |
| from agents.llm_factory import get_llm | |
| _SYSTEM = ( | |
| "You are a research planning agent. Given the user's question, produce a " | |
| "brief research plan describing which aspects of the uploaded document are " | |
| "most relevant to answer it. Output 2–3 concise sentences. Start with 'PLAN:'." | |
| ) | |
| _prompt = ChatPromptTemplate.from_messages([ | |
| ("system", _SYSTEM), | |
| ("human", "{question}"), | |
| ]) | |
| def run_planner(question: str) -> str: | |
| chain = _prompt | get_llm(temperature=0.3, max_tokens=200) | StrOutputParser() | |
| return chain.invoke({"question": question}) | |