Skip to content

Commit afa7529

Browse files
Merge pull request #5 from mindsdb/completion-method
Completion method for mind
2 parents 023b2f3 + 3b7bb7d commit afa7529

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

examples/base_usage.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
# remove mind
7171
client.minds.drop('mind_name')
7272

73+
# call completion
74+
print(mind.completion('2+3'))
7375

7476
# --- managing datasources ---
7577

minds/minds.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
from typing import List, Union
2+
from urllib.parse import urlparse, urlunparse
3+
4+
from openai import OpenAI
25

36
from minds.datasources import Datasource, DatabaseConfig
47

@@ -84,6 +87,32 @@ def add_datasource(self, datasource: Datasource):
8487
def del_datasource(self, datasource: Union[Datasource, str]):
8588
raise NotImplementedError
8689

90+
def completion(self, message):
91+
parsed = urlparse(self.api.base_url)
92+
93+
netloc = parsed.netloc
94+
if netloc == 'mdb.ai':
95+
llm_host = 'llm.mdb.ai'
96+
else:
97+
llm_host = 'ai.' + netloc
98+
99+
parsed = parsed._replace(path='', netloc=llm_host)
100+
101+
base_url = urlunparse(parsed)
102+
openai_client = OpenAI(
103+
api_key=self.api.api_key,
104+
base_url=base_url
105+
)
106+
107+
completion = openai_client.chat.completions.create(
108+
model=self.name,
109+
messages=[
110+
{'role': 'user', 'content': message}
111+
],
112+
stream=False
113+
)
114+
return completion.choices[0].message.content
115+
87116

88117
class Minds:
89118
def __init__(self, client):

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
pydantic==2.8.2
22
requests
3+
openai == 1.24.0

0 commit comments

Comments
 (0)