diff --git a/api/core/app/entities/app_invoke_entities.py b/api/core/app/entities/app_invoke_entities.py index 7cb4e59032..4ef7395a09 100644 --- a/api/core/app/entities/app_invoke_entities.py +++ b/api/core/app/entities/app_invoke_entities.py @@ -2,14 +2,13 @@ from collections.abc import Mapping, Sequence from enum import Enum from typing import Any, Optional -from pydantic import BaseModel, ConfigDict, Field, ValidationInfo, field_validator - from constants import UUID_NIL from core.app.app_config.entities import EasyUIBasedAppConfig, WorkflowUIBasedAppConfig from core.entities.provider_configuration import ProviderModelBundle from core.file import File, FileUploadConfig from core.model_runtime.entities.model_entities import AIModelEntity from core.ops.ops_trace_manager import TraceQueueManager +from pydantic import BaseModel, ConfigDict, Field, ValidationInfo, field_validator class InvokeFrom(Enum): @@ -21,6 +20,7 @@ class InvokeFrom(Enum): WEB_APP = "web-app" EXPLORE = "explore" DEBUGGER = "debugger" + SCHEDULER = "scheduler" @classmethod def value_of(cls, value: str): @@ -49,6 +49,8 @@ class InvokeFrom(Enum): return "explore_app" elif self == InvokeFrom.SERVICE_API: return "api" + elif self == InvokeFrom.SCHEDULER: + return "scheduler" return "dev" diff --git a/api/schedule/user_memory_generate_task.py b/api/schedule/user_memory_generate_task.py index 23923fcbef..bb3d63d286 100644 --- a/api/schedule/user_memory_generate_task.py +++ b/api/schedule/user_memory_generate_task.py @@ -2,8 +2,9 @@ import time import app import click - -# Import other necessary modules +from core.app.entities.app_invoke_entities import InvokeFrom +from models.model import App, EndUser +from services.app_generate_service import AppGenerateService @app.celery.task(queue="dataset") @@ -15,5 +16,28 @@ def user_memory_generate_task(): # ... click.echo(click.style("TODO: ytqh user memory generate task.", fg="green")) + # TODO: ytqh call user memory workflow api + ## API KEY: app-4UVXs1hBgEWxzp5Zvh5FINbv + ## TASK ID: 760d9bef-20ee-4fa3-8650-ca300e292b32 + + # get app model by using TASK ID + app_model = App.query.filter(App.id == "760d9bef-20ee-4fa3-8650-ca300e292b32").first() + # get end user by using app model + end_user = EndUser.query.filter(EndUser.external_user_id == "81f30432-fa3f-4279-a6c9-8b61c874699a").first() + + args = { + "inputs": { + "new_messages": "sssss", + "current_memory": "sssss", + } + } + + response = AppGenerateService.generate( + app_model=app_model, user=end_user, args=args, invoke_from=InvokeFrom.SCHEDULER, streaming=False + ) + + # save response to db + click.echo(click.style(f"TODO: ytqh save response {response} to db.", fg="green")) + end_at = time.perf_counter() click.echo(click.style(f"Task completed successfully. Latency: {end_at - start_at}", fg="green"))