@@ -775,7 +775,7 @@ def check_project(self, project, database):
775775
776776 self .check_project_models_versions (project , database )
777777
778- kb = self .check_project_kb (project , model , database )
778+ kb = self .check_project_kb (project , database )
779779
780780 self .check_project_jobs (project , model , database , kb )
781781
@@ -1143,12 +1143,21 @@ def check_project_jobs(self, project, model, database, kb, mock_post):
11431143 @patch ('requests.Session.post' )
11441144 @patch ('requests.Session.delete' )
11451145 @patch ('requests.Session.get' )
1146- def check_project_kb (self , project , model , database , mock_get , mock_del , mock_post , mock_put ):
1146+ def check_project_kb (self , project , database , mock_get , mock_del , mock_post , mock_put ):
11471147
11481148 response_mock (mock_post , pd .DataFrame ([{
11491149 'NAME' : 'my_kb' ,
11501150 'PROJECT' : 'mindsdb' ,
1151- 'MODEL' : 'openai_emb' ,
1151+ 'EMBEDDING_MODEL' : {
1152+ 'PROVIDER' : 'openai' ,
1153+ 'MODEL_NAME' : 'openai_emb' ,
1154+ 'API_KEY' : 'sk-...'
1155+ },
1156+ 'RERANKING_MODEL' : {
1157+ 'PROVIDER' : 'openai' ,
1158+ 'MODEL_NAME' : 'openai_rerank' ,
1159+ 'API_KEY' : 'sk-...'
1160+ },
11521161 'STORAGE' : 'pvec.tbl1' ,
11531162 'PARAMS' : {"id_column" : "num" },
11541163 }]))
@@ -1157,7 +1166,16 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
11571166 'id' : 1 ,
11581167 'name' : 'my_kb' ,
11591168 'project_id' : 1 ,
1160- 'embedding_model' : 'openai_emb' ,
1169+ 'embedding_model' : {
1170+ 'provider' : 'openai' ,
1171+ 'model_name' : 'openai_emb' ,
1172+ 'api_key' : 'sk-...'
1173+ },
1174+ 'reranking_model' : {
1175+ 'provider' : 'openai' ,
1176+ 'model_name' : 'openai_rerank' ,
1177+ 'api_key' : 'sk-...'
1178+ },
11611179 'vector_database' : 'pvec' ,
11621180 'vector_database_table' : 'tbl1' ,
11631181 'updated_at' : '2024-10-04 10:55:25.350799' ,
@@ -1176,8 +1194,8 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
11761194
11771195 assert kb .name == 'my_kb'
11781196
1179- assert isinstance ( kb .model , Model )
1180- assert kb .model . name == 'openai_emb '
1197+ assert kb .embedding_model [ 'model_name' ] == 'openai_emb'
1198+ assert kb .reranking_model [ 'model_name' ] == 'openai_rerank '
11811199
11821200 assert isinstance (kb .storage , Table )
11831201 assert kb .storage .name == 'tbl1'
@@ -1189,7 +1207,8 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
11891207 str (kb )
11901208 assert kb .name == 'my_kb'
11911209 assert kb .storage .db .name == 'pvec'
1192- assert kb .model .name == 'openai_emb'
1210+ assert kb .embedding_model ['model_name' ] == 'openai_emb'
1211+ assert kb .reranking_model ['model_name' ] == 'openai_rerank'
11931212
11941213 # --- insert ---
11951214
@@ -1232,18 +1251,36 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
12321251 # create 1
12331252 project .knowledge_bases .create (
12341253 name = 'kb2' ,
1235- model = model ,
1254+ embedding_model = {
1255+ 'provider' : 'openai' ,
1256+ 'model_name' : 'openai_emb' ,
1257+ 'api_key' : 'sk-...'
1258+ },
1259+ reranking_model = {
1260+ 'provider' : 'openai' ,
1261+ 'model_name' : 'openai_rerank' ,
1262+ 'api_key' : 'sk-...'
1263+ },
12361264 metadata_columns = ['date' , 'author' ],
12371265 params = {'k' : 'v' }
12381266 )
12391267 args , kwargs = mock_post .call_args
12401268 assert args [0 ] == f'{ DEFAULT_CLOUD_API_URL } /api/projects/{ project .name } /knowledge_bases'
12411269 assert kwargs == {'json' : {'knowledge_base' : {
12421270 'name' : 'kb2' ,
1243- 'model' : model .name ,
1271+ 'embedding_model' : {
1272+ 'provider' : 'openai' ,
1273+ 'model_name' : 'openai_emb' ,
1274+ 'api_key' : 'sk-...'
1275+ },
1276+ 'reranking_model' : {
1277+ 'provider' : 'openai' ,
1278+ 'model_name' : 'openai_rerank' ,
1279+ 'api_key' : 'sk-...'
1280+ },
1281+ 'metadata_columns' : ['date' , 'author' ],
12441282 'params' : {
12451283 'k' : 'v' ,
1246- 'metadata_columns' : ['date' , 'author' ]
12471284 }
12481285 }}}
12491286
@@ -1259,11 +1296,8 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
12591296 assert args [0 ] == f'{ DEFAULT_CLOUD_API_URL } /api/projects/{ project .name } /knowledge_bases'
12601297 assert kwargs == {'json' : {'knowledge_base' : {
12611298 'name' : 'kb2' ,
1262- 'model' : None ,
1263- 'params' : {
1264- 'content_columns' : ['review' ],
1265- 'id_column' : 'num'
1266- },
1299+ 'content_columns' : ['review' ],
1300+ 'id_column' : 'num' ,
12671301 'storage' : {
12681302 'database' : database .name ,
12691303 'table' : 'tbl1'
0 commit comments