Загрузка данных


def build_messages(user_message):
    return [
        {"role": "system", "content": SYSTEM_PROMPT},
        {"role": "user", "content": user_message},
    ]

def route_decision(decision):
    next_step = decision["next_step"]
    if next_step in ("final_answer", "need_user_data"):
        return decision["message"]
    if next_step == "need_tool":
        return TOOL_UNAVAILABLE_MESSAGE
    return UNKNOWN_STEP_MESSAGE

def handle_request(client, model, user_message):
    messages = build_messages(user_message)
    decision = request_decision(client, model, messages)
    if decision is None:
        return TECHNICAL_ERROR_MESSAGE
    return route_decision(decision)