@@ -113,35 +113,43 @@ def _update_query(self):
113113 ast_query .limit = Constant (self ._limit )
114114 self .sql = ast_query .to_string ()
115115
116- def insert_files (self , file_paths : List [str ]):
116+ def insert_files (self , file_paths : List [str ], params : dict = None ):
117117 """
118118 Insert data from file to knowledge base
119119 """
120+ data = {'files' : file_paths }
121+ if params :
122+ data ['params' ] = params
123+
120124 self .api .insert_into_knowledge_base (
121125 self .project .name ,
122126 self .name ,
123- data = { 'files' : file_paths }
127+ data = data
124128 )
125129
126- def insert_webpages (self , urls : List [str ], crawl_depth : int = 1 , filters : List [str ] = None ):
130+ def insert_webpages (self , urls : List [str ], crawl_depth : int = 1 , filters : List [str ] = None , params : dict = None ):
127131 """
128132 Insert data from crawled URLs to knowledge base.
129133
130134 :param urls: URLs to be crawled and inserted.
131135 :param crawl_depth: How deep to crawl from each base URL. 0 = scrape given URLs only
132136 :param filters: Include only URLs that match these regex patterns
137+ :param params: Runtime parameters for KB
133138 """
139+ data = {
140+ 'urls' : urls ,
141+ 'crawl_depth' : crawl_depth ,
142+ 'filters' : [] if filters is None else filters ,
143+ }
144+ if params :
145+ data ['params' ] = params
134146 self .api .insert_into_knowledge_base (
135147 self .project .name ,
136148 self .name ,
137- data = {
138- 'urls' : urls ,
139- 'crawl_depth' : crawl_depth ,
140- 'filters' : [] if filters is None else filters
141- }
149+ data = data
142150 )
143151
144- def insert (self , data : Union [pd .DataFrame , Query , dict ]):
152+ def insert (self , data : Union [pd .DataFrame , Query , dict ], params : dict = None ):
145153 """
146154 Insert data to knowledge base
147155
@@ -155,6 +163,7 @@ def insert(self, data: Union[pd.DataFrame, Query, dict]):
155163 - `id` column can be defined by id_column param, see create knowledge base
156164
157165 :param data: Dataframe or Query object or dict.
166+ :param params: Runtime parameters for KB
158167 """
159168
160169 if isinstance (data , Query ):
@@ -168,13 +177,16 @@ def insert(self, data: Union[pd.DataFrame, Query, dict]):
168177 else :
169178 raise ValueError ("Unknown data type, accepted types: DataFrame, Query, dict" )
170179
180+ data = {'rows' : data }
181+ if params :
182+ data ['params' ] = params
171183 return self .api .insert_into_knowledge_base (
172184 self .project .name ,
173185 self .name ,
174- data = { 'rows' : data }
186+ data = data ,
175187 )
176188
177- def insert_query (self , data : Query ):
189+ def insert_query (self , data : Query , params : dict = None ):
178190 """
179191 Insert data to knowledge base using query
180192
@@ -184,6 +196,7 @@ def insert_query(self, data: Query):
184196 it will be replaced
185197
186198 :param data: Dataframe or Query object or dict.
199+ :param params: Runtime parameters for KB
187200 """
188201 if is_saving ():
189202 # generate insert from select query
@@ -200,10 +213,13 @@ def insert_query(self, data: Query):
200213 return Query (self , sql , self .database )
201214
202215 # query have to be in context of mindsdb project
216+ data = {'query' : data .sql }
217+ if params :
218+ data ['params' ] = params
203219 self .api .insert_into_knowledge_base (
204220 self .project .name ,
205221 self .name ,
206- data = { 'query' : data . sql }
222+ data = data
207223 )
208224
209225 def completion (self , query , ** data ):
0 commit comments