1 /* 2 * Copyright (C) 2021-2023 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _AI_AGENT_ENGINE_H_ 6 #define _AI_AGENT_ENGINE_H_ 7 #include <stdint.h> 8 #include <stdbool.h> 9 #include "aiagent_common.h" 10 #ifdef CONFIG_UCLOUD_AI_ENGINE_ENABLE 11 #include "engine/ucloud_ai_engine.h" 12 #endif 13 14 typedef struct _aiagent_engine_t { 15 /* * * */ 16 /* The name of this ucloud ai engine */ 17 const char *name; 18 19 bool is_dummy; /*if no engine, use dummy*/ 20 21 ai_model_t model; 22 char *src1; /*source data1*/ 23 char *src2; /*source data2, some cases need two image to compare*/ 24 25 ai_engine_cb_t callback; 26 27 ai_config_t *config; 28 29 /*init ai engine*/ 30 int32_t (*ai_engine_init) (struct _aiagent_engine_t *eng); 31 32 /*uninit ai engine*/ 33 void (*ai_engine_uninit) (struct _aiagent_engine_t *eng); 34 35 /*config ai engine*/ 36 void (*ai_engine_config) (struct _aiagent_engine_t *eng); 37 /*run ai engine model*/ 38 int32_t (*ai_engine_model_infer) (struct _aiagent_engine_t *eng); 39 40 /*free ai engine*/ 41 void (*ai_engine_free) (struct _aiagent_engine_t *eng); 42 } aiagent_engine_t; 43 44 #endif // _AI_AGENT_ENGINE_H_ 45