Tue, 03 Sep 2024 17:06:05 +0200
Added some menu entries to access various 'ollama' URLs.
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the 'ollama' interface configuration page. |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from eric7.Preferences.ConfigurationPages.ConfigurationPageBase import ( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | ConfigurationPageBase, |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from .Ui_OllamaPage import Ui_OllamaPage |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | class OllamaPage(ConfigurationPageBase, Ui_OllamaPage): |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | Class implementing the 'ollama' interface configuration page. |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, plugin): |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | @param plugin reference to the plugin object |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | @type PluginOllamaInterface |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | super().__init__() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self.setupUi(self) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.setObjectName("OllamaPage") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.__plugin = plugin |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | # set initial values |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.serverSchemeComboBox.setCurrentText( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.__plugin.getPreferences("OllamaScheme") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | self.serverHostEdit.setText(self.__plugin.getPreferences("OllamaHost")) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | self.serverPortSpinBox.setValue(self.__plugin.getPreferences("OllamaPort")) |
17
43b1396fe72f
Fixed some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
16
diff
changeset
|
41 | |
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.localServerPortSpinBox.setValue( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.__plugin.getPreferences("OllamaLocalPort") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | ) |
17
43b1396fe72f
Fixed some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
16
diff
changeset
|
45 | |
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.modelLibraryUrlEdit.setText( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.__plugin.getPreferences("OllamaModelLibraryUrl") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | ) |
24
f4d5108e90fe
Added some menu entries to access various 'ollama' URLs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
17
diff
changeset
|
49 | self.downloadUrlEdit.setText(self.__plugin.getPreferences("OllamaDownloadUrl")) |
f4d5108e90fe
Added some menu entries to access various 'ollama' URLs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
17
diff
changeset
|
50 | self.blogUrlEdit.setText(self.__plugin.getPreferences("OllamaBlogUrl")) |
17
43b1396fe72f
Fixed some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
16
diff
changeset
|
51 | |
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.heartbeatSpinBox.setValue( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.__plugin.getPreferences("OllamaHeartbeatInterval") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.streamingChatCheckBox.setChecked( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__plugin.getPreferences("StreamingChatResponse") |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | def save(self): |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | Public slot to save the 'ollama' interface configuration. |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.__plugin.setPreferences( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | "OllamaScheme", self.serverSchemeComboBox.currentText() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | ) |
17
43b1396fe72f
Fixed some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
16
diff
changeset
|
66 | self.__plugin.setPreferences("OllamaHost", self.serverHostEdit.text()) |
43b1396fe72f
Fixed some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
16
diff
changeset
|
67 | self.__plugin.setPreferences("OllamaPort", self.serverPortSpinBox.value()) |
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.__plugin.setPreferences( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | "OllamaLocalPort", self.localServerPortSpinBox.value() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | self.__plugin.setPreferences( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | "OllamaModelLibraryUrl", self.modelLibraryUrlEdit.text() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | ) |
24
f4d5108e90fe
Added some menu entries to access various 'ollama' URLs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
17
diff
changeset
|
76 | self.__plugin.setPreferences("OllamaDownloadUrl", self.downloadUrlEdit.text()) |
f4d5108e90fe
Added some menu entries to access various 'ollama' URLs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
17
diff
changeset
|
77 | self.__plugin.setPreferences("OllamaBlogUrl", self.blogUrlEdit.text()) |
16
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.__plugin.setPreferences( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | "OllamaHeartbeatInterval", self.heartbeatSpinBox.value() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | ) |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.__plugin.setPreferences( |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | "StreamingChatResponse", self.streamingChatCheckBox.isChecked() |
cb6af351310b
Implemented the 'ollama' interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | ) |