Files
my-v0-server/app/prompt/intent.py
T

30 lines
2.3 KiB
Python

"""意图节点的判断定义"""
from app.schemas.decision import ChoiceDecision
def build_intent_question() -> ChoiceDecision:
return ChoiceDecision(
# 区分意图模糊与修改细节缺失,后者交给需求理解
instructions=(
"Classify the user's primary intent. "
"Read `prompt` together with `clarification_history`; later answers clarify or correct earlier requests. "
"Choose modify_screen only when the user explicitly requests an actual edit. "
"Choose qa for clear requests for a textual answer or general conversation, including information, explanation, diagnosis, advice, and assistant identity or capabilities. "
"Requests need not be phrased as questions; being unrelated to screens does not make an intent unclear. "
"A vague complaint or evaluation without a requested next step is unclear, not automatically qa. "
"An explicit edit request remains modify_screen even when edit details are missing. "
"Do not infer intent solely from selected nodes or an empty screen."
),
criteria={
# 创建新的大屏
"create_screen": "Create a new screen",
# 明确要求修改、增加、删除或重新设计已有大屏
"modify_screen": "Explicitly request modifying, adding, deleting, or redesigning an existing screen, including requests lacking details such as 帮我修改这个图",
# 明确的文字回答或交流请求,包括助手身份和能力,但没有要求实际操作大屏
"qa": "Clearly request a textual answer or general conversation without requesting screen creation or an actual edit; includes assistant identity and capabilities, information, reasons, diagnosis, and suggestions, e.g. 这个图为什么没有数据 or 这个图怎么优化",
# 语义上没有明确表达要问什么或做什么,不等同于模型分数低
"unclear": "The user's desired response or action cannot be determined from the request and clarification history, so clarification is needed to decide what to do; includes vague feedback, references, or an unspecified request to look, e.g. 这个图不太对, 这个有点问题, 帮我看看这个",
},
)