@@ -69,53 +69,58 @@ RAI_Script* MODULE_API_FUNC(RedisAI_ScriptGetShallowCopy)(RAI_Script* script);
69
69
70
70
int MODULE_API_FUNC (RedisAI_GetLLAPIVersion )();
71
71
72
-
73
- #define REDISAI_MODULE_INIT_FUNCTION ( name ) \
74
- if (RedisModule_GetApi(" RedisAI_" #name, ((void **)&RedisAI_ ## name))) { \
75
- printf( "could not initialize RedisAI_" #name "\r\n");\
72
+ #define REDISAI_MODULE_INIT_FUNCTION ( ctx , name ) \
73
+ RedisAI_ ## name = RedisModule_GetSharedAPI(ctx, "RedisAI_" # name); \
74
+ if(! RedisAI_ ## name){ \
75
+ RedisModule_Log(ctx, "warning", "could not initialize RedisAI_" #name "\r\n");\
76
76
return REDISMODULE_ERR; \
77
77
}
78
78
79
- static int RedisAI_Initialize (){
80
-
81
- REDISAI_MODULE_INIT_FUNCTION (GetLLAPIVersion );
82
-
83
- REDISAI_MODULE_INIT_FUNCTION (TensorCreate );
84
- REDISAI_MODULE_INIT_FUNCTION (TensorGetDataSize );
85
- REDISAI_MODULE_INIT_FUNCTION (TensorFree );
86
- REDISAI_MODULE_INIT_FUNCTION (TensorSetData );
87
- REDISAI_MODULE_INIT_FUNCTION (TensorSetValueFromLongLong );
88
- REDISAI_MODULE_INIT_FUNCTION (TensorSetValueFromDouble );
89
- REDISAI_MODULE_INIT_FUNCTION (TensorGetValueAsDouble );
90
- REDISAI_MODULE_INIT_FUNCTION (TensorGetValueAsLongLong );
91
- REDISAI_MODULE_INIT_FUNCTION (TensorGetShallowCopy );
92
- REDISAI_MODULE_INIT_FUNCTION (TensorNumDims );
93
- REDISAI_MODULE_INIT_FUNCTION (TensorDim );
94
- REDISAI_MODULE_INIT_FUNCTION (TensorByteSize );
95
- REDISAI_MODULE_INIT_FUNCTION (TensorData );
96
-
97
- REDISAI_MODULE_INIT_FUNCTION (ModelCreate );
98
- REDISAI_MODULE_INIT_FUNCTION (ModelFree );
99
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxCreate );
100
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxAddInput );
101
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxAddOutput );
102
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxNumOutputs );
103
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxOutputTensor );
104
- REDISAI_MODULE_INIT_FUNCTION (ModelRunCtxFree );
105
- REDISAI_MODULE_INIT_FUNCTION (ModelRun );
106
- REDISAI_MODULE_INIT_FUNCTION (ModelGetShallowCopy );
107
- REDISAI_MODULE_INIT_FUNCTION (ModelSerialize );
108
-
109
- REDISAI_MODULE_INIT_FUNCTION (ScriptCreate );
110
- REDISAI_MODULE_INIT_FUNCTION (ScriptFree );
111
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxCreate );
112
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxAddInput );
113
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxAddOutput );
114
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxNumOutputs );
115
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxOutputTensor );
116
- REDISAI_MODULE_INIT_FUNCTION (ScriptRunCtxFree );
117
- REDISAI_MODULE_INIT_FUNCTION (ScriptRun );
118
- REDISAI_MODULE_INIT_FUNCTION (ScriptGetShallowCopy );
79
+ static int RedisAI_Initialize (RedisModuleCtx * ctx ){
80
+
81
+ if (!RedisModule_GetSharedAPI ){
82
+ RedisModule_Log (ctx , "warning" , "redis version is not compatible with module shared api, use redis 5.0.4 or above." );
83
+ return REDISMODULE_ERR ;
84
+ }
85
+
86
+ REDISAI_MODULE_INIT_FUNCTION (ctx , GetLLAPIVersion );
87
+
88
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorCreate );
89
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorGetDataSize );
90
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorFree );
91
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorSetData );
92
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorSetValueFromLongLong );
93
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorSetValueFromDouble );
94
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorGetValueAsDouble );
95
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorGetValueAsLongLong );
96
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorGetShallowCopy );
97
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorNumDims );
98
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorDim );
99
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorByteSize );
100
+ REDISAI_MODULE_INIT_FUNCTION (ctx , TensorData );
101
+
102
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelCreate );
103
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelFree );
104
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxCreate );
105
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxAddInput );
106
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxAddOutput );
107
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxNumOutputs );
108
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxOutputTensor );
109
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRunCtxFree );
110
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelRun );
111
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelGetShallowCopy );
112
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ModelSerialize );
113
+
114
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptCreate );
115
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptFree );
116
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxCreate );
117
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxAddInput );
118
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxAddOutput );
119
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxNumOutputs );
120
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxOutputTensor );
121
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRunCtxFree );
122
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptRun );
123
+ REDISAI_MODULE_INIT_FUNCTION (ctx , ScriptGetShallowCopy );
119
124
120
125
if (RedisAI_GetLLAPIVersion () < REDISAI_LLAPI_VERSION ){
121
126
return REDISMODULE_ERR ;
0 commit comments