OllamaInterface/OllamaClient.py

changeset 7
eb1dec15b2f0
parent 5
6e8af43d537d
child 8
3118d16e526e
equal deleted inserted replaced
6:d8064fb63eac 7:eb1dec15b2f0
93 self.__serverResponding = False 93 self.__serverResponding = False
94 self.__heartbeatTimer = QTimer(self) 94 self.__heartbeatTimer = QTimer(self)
95 self.__heartbeatTimer.timeout.connect(self.__periodicHeartbeat) 95 self.__heartbeatTimer.timeout.connect(self.__periodicHeartbeat)
96 96
97 self.__state = OllamaClientState.Waiting 97 self.__state = OllamaClientState.Waiting
98 self.__localServer = False
98 99
99 self.__serverResponding = False # start with a faulty state 100 self.__serverResponding = False # start with a faulty state
100 101
101 self.__plugin.preferencesChanged.connect(self.__setHeartbeatTimer) 102 self.__plugin.preferencesChanged.connect(self.__setHeartbeatTimer)
102 self.__setHeartbeatTimer() 103 self.__setHeartbeatTimer()
104
105 def setMode(self, local):
106 """
107 Public method to set the client mode to local.
108
109 @param local flag indicating to connect to a locally started ollama server
110 @type bool
111 """
112 self.__localServer = local
113 self.__serverResponding = False
103 114
104 def chat(self, model, messages, streaming=True): 115 def chat(self, model, messages, streaming=True):
105 """ 116 """
106 Public method to request a chat completion from the 'ollama' server. 117 Public method to request a chat completion from the 'ollama' server.
107 118
351 self.__state = OllamaClientState.Requesting 362 self.__state = OllamaClientState.Requesting
352 363
353 ollamaUrl = QUrl( 364 ollamaUrl = QUrl(
354 "{0}://{1}:{2}/api/{3}".format( 365 "{0}://{1}:{2}/api/{3}".format(
355 self.__plugin.getPreferences("OllamaScheme"), 366 self.__plugin.getPreferences("OllamaScheme"),
356 self.__plugin.getPreferences("OllamaHost"), 367 (
357 self.__plugin.getPreferences("OllamaPort"), 368 "127.0.0.1"
369 if self.__localServer
370 else self.__plugin.getPreferences("OllamaHost")
371 ),
372 (
373 self.__plugin.getPreferences("OllamaLocalPort")
374 if self.__localServer
375 else self.__plugin.getPreferences("OllamaPort")
376 ),
358 endpoint, 377 endpoint,
359 ) 378 )
360 ) 379 )
361 request = QNetworkRequest(ollamaUrl) 380 request = QNetworkRequest(ollamaUrl)
362 if data is not None: 381 if data is not None:

eric ide

mercurial