Spaces:
Sleeping
Sleeping
| """ | |
| classify.py | |
| βββββββββββ | |
| classify node: route the user message into one of the wellness query categories | |
| (conversational / intrinsic / external / personal / hybrid / analytical). | |
| `classify_input` is the small-model classifier lifted from the old | |
| `utils.classify_input`. The node also seeds `rag_context` to "NULL"; the retrieve | |
| node overrides it when RAG actually runs. | |
| """ | |
| from __future__ import annotations | |
| from app.graph.state import GraphState | |
| from app.prompts import CLASSIFY_PROMPT | |
| from app.services.llm import get_classifier_llm | |
| def classify_input(user_input: str) -> str: | |
| llm = get_classifier_llm() | |
| response = llm.invoke(CLASSIFY_PROMPT.format(user_input=user_input)) | |
| return response.content.strip().lower() | |
| def classify(state: GraphState) -> dict: | |
| classification = classify_input(state["message"]) | |
| return {"classification": classification, "rag_context": "NULL"} | |