Skip to content

Commit 97470eb

Browse files
committed
knowledge base completion
1 parent d439692 commit 97470eb

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

mindsdb_sdk/connectors/rest_api.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,4 +439,11 @@ def create_knowledge_base(self, project: str, data):
439439

440440
return r.json()
441441

442+
def knowledge_base_completion(self, project: str, knowledge_base_name, payload):
443+
r = self.session.post(
444+
self.url + f'/api/projects/{project}/knowledge_bases/{knowledge_base_name}/completions',
445+
json=payload
446+
)
447+
_raise_for_status(r)
448+
return r.json()
442449

mindsdb_sdk/knowledge_bases.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ def insert_query(self, data: Query):
206206
data={'query': data.sql}
207207
)
208208

209+
def completion(self, query, **data):
210+
data['query'] = query
211+
212+
return self.api.knowledge_base_completion(self.project.name, self.name, data)
213+
209214

210215
class KnowledgeBases(CollectionBase):
211216
"""

tests/test_sdk.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,6 +1259,16 @@ def check_project_kb(self, project, model, database, mock_get, mock_del, mock_po
12591259
},
12601260
}}}
12611261

1262+
# completion
1263+
kb.completion('hi', type='chat', llm_model='gpt-4')
1264+
args, kwargs = mock_post.call_args
1265+
assert args[0] == f'{DEFAULT_CLOUD_API_URL}/api/projects/{project.name}/knowledge_bases/{kb.name}/completions'
1266+
assert kwargs == {'json': {
1267+
'query': 'hi',
1268+
'type': 'chat',
1269+
'llm_model': 'gpt-4',
1270+
}}
1271+
12621272
# drop
12631273
project.knowledge_bases.drop('kb2')
12641274

0 commit comments

Comments
 (0)