pygpt-net 2.5.14__py3-none-any.whl → 2.5.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygpt_net/CHANGELOG.txt +12 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/chat/input.py +9 -2
- pygpt_net/controller/chat/stream.py +65 -17
- pygpt_net/controller/lang/mapping.py +4 -2
- pygpt_net/controller/model/__init__.py +3 -1
- pygpt_net/controller/model/importer.py +337 -0
- pygpt_net/controller/settings/editor.py +3 -0
- pygpt_net/core/bridge/worker.py +4 -2
- pygpt_net/core/command/__init__.py +33 -2
- pygpt_net/core/models/__init__.py +6 -3
- pygpt_net/core/models/ollama.py +7 -2
- pygpt_net/data/config/config.json +9 -4
- pygpt_net/data/config/models.json +22 -22
- pygpt_net/data/locale/locale.de.ini +18 -0
- pygpt_net/data/locale/locale.en.ini +19 -2
- pygpt_net/data/locale/locale.es.ini +18 -0
- pygpt_net/data/locale/locale.fr.ini +18 -0
- pygpt_net/data/locale/locale.it.ini +18 -0
- pygpt_net/data/locale/locale.pl.ini +19 -1
- pygpt_net/data/locale/locale.uk.ini +18 -0
- pygpt_net/data/locale/locale.zh.ini +17 -0
- pygpt_net/item/ctx.py +2 -1
- pygpt_net/item/model.py +5 -1
- pygpt_net/plugin/cmd_files/__init__.py +2 -2
- pygpt_net/plugin/cmd_files/worker.py +2 -2
- pygpt_net/provider/core/model/json_file.py +3 -0
- pygpt_net/provider/core/model/patch.py +24 -1
- pygpt_net/provider/gpt/__init__.py +54 -21
- pygpt_net/provider/gpt/responses.py +279 -0
- pygpt_net/provider/gpt/vision.py +40 -16
- pygpt_net/provider/llms/ollama.py +7 -2
- pygpt_net/provider/llms/ollama_custom.py +693 -0
- pygpt_net/ui/dialog/models_importer.py +82 -0
- pygpt_net/ui/dialogs.py +3 -1
- pygpt_net/ui/menu/config.py +18 -7
- pygpt_net/ui/widget/dialog/model_importer.py +55 -0
- pygpt_net/ui/widget/lists/model_importer.py +151 -0
- {pygpt_net-2.5.14.dist-info → pygpt_net-2.5.16.dist-info}/METADATA +75 -9
- {pygpt_net-2.5.14.dist-info → pygpt_net-2.5.16.dist-info}/RECORD +43 -37
- {pygpt_net-2.5.14.dist-info → pygpt_net-2.5.16.dist-info}/LICENSE +0 -0
- {pygpt_net-2.5.14.dist-info → pygpt_net-2.5.16.dist-info}/WHEEL +0 -0
- {pygpt_net-2.5.14.dist-info → pygpt_net-2.5.16.dist-info}/entry_points.txt +0 -0
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.
|
9
|
+
# Updated Date: 2025.06.24 02:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import copy
|
@@ -230,17 +230,20 @@ class Models:
|
|
230
230
|
id = "model-" + str(int(id.split("-")[1]) + 1).zfill(3)
|
231
231
|
return id
|
232
232
|
|
233
|
-
def create_empty(self) -> ModelItem:
|
233
|
+
def create_empty(self, append: bool = True) -> ModelItem:
|
234
234
|
"""
|
235
235
|
Create new empty model
|
236
236
|
|
237
|
+
:param append: if True, append model to items
|
237
238
|
:return: new model
|
239
|
+
|
238
240
|
"""
|
239
241
|
id = self.create_id()
|
240
242
|
model = ModelItem()
|
241
243
|
model.id = id
|
242
244
|
model.name = "New model"
|
243
|
-
|
245
|
+
if append:
|
246
|
+
self.items[id] = model
|
244
247
|
return model
|
245
248
|
|
246
249
|
def get_all(self) -> Dict[str, ModelItem]:
|
pygpt_net/core/models/ollama.py
CHANGED
@@ -6,8 +6,9 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.
|
9
|
+
# Updated Date: 2025.06.24 16:00:00 #
|
10
10
|
# ================================================== #
|
11
|
+
import os
|
11
12
|
|
12
13
|
import requests
|
13
14
|
|
@@ -27,7 +28,11 @@ class Ollama:
|
|
27
28
|
|
28
29
|
:return: dict
|
29
30
|
"""
|
30
|
-
|
31
|
+
api_base = "http://localhost:11434"
|
32
|
+
if 'OLLAMA_API_BASE' in os.environ:
|
33
|
+
api_base = os.environ['OLLAMA_API_BASE']
|
34
|
+
print("Using Ollama base URL:", api_base)
|
35
|
+
url = api_base + "/api/tags"
|
31
36
|
try:
|
32
37
|
response = requests.get(url, timeout=2)
|
33
38
|
if response.status_code == 200:
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"__meta__": {
|
3
|
-
"version": "2.5.
|
4
|
-
"app.version": "2.5.
|
5
|
-
"updated_at": "2025-06-
|
3
|
+
"version": "2.5.16",
|
4
|
+
"app.version": "2.5.16",
|
5
|
+
"updated_at": "2025-06-25T00:00:00"
|
6
6
|
},
|
7
7
|
"access.audio.event.speech": false,
|
8
8
|
"access.audio.event.speech.disabled": [],
|
@@ -69,7 +69,12 @@
|
|
69
69
|
"api_key_deepseek": "",
|
70
70
|
"api_key_perplexity": "",
|
71
71
|
"api_proxy": "",
|
72
|
-
"app.env": [
|
72
|
+
"app.env": [
|
73
|
+
{
|
74
|
+
"name": "OLLAMA_API_BASE",
|
75
|
+
"value": "http://localhost:11434"
|
76
|
+
}
|
77
|
+
],
|
73
78
|
"assistant": "",
|
74
79
|
"assistant_thread": "",
|
75
80
|
"assistant.store.hide_threads": true,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"__meta__": {
|
3
|
-
"version": "2.5.
|
4
|
-
"app.version": "2.5.
|
5
|
-
"updated_at": "2025-06-
|
3
|
+
"version": "2.5.16",
|
4
|
+
"app.version": "2.5.16",
|
5
|
+
"updated_at": "2025-06-25T00:00:00"
|
6
6
|
},
|
7
7
|
"items": {
|
8
8
|
"claude-3-5-sonnet-20240620": {
|
@@ -416,9 +416,9 @@
|
|
416
416
|
"tokens": 8000,
|
417
417
|
"default": false
|
418
418
|
},
|
419
|
-
"
|
420
|
-
"id": "deepseek-r1
|
421
|
-
"name": "deepseek-r1
|
419
|
+
"deepseek-r1:1.5b": {
|
420
|
+
"id": "deepseek-r1:1.5b",
|
421
|
+
"name": "deepseek-r1:1.5b",
|
422
422
|
"mode": [
|
423
423
|
"llama_index",
|
424
424
|
"agent",
|
@@ -467,9 +467,9 @@
|
|
467
467
|
"tokens": 8000,
|
468
468
|
"default": false
|
469
469
|
},
|
470
|
-
"
|
471
|
-
"id": "deepseek-r1
|
472
|
-
"name": "deepseek-r1
|
470
|
+
"deepseek-r1:7b": {
|
471
|
+
"id": "deepseek-r1:7b",
|
472
|
+
"name": "deepseek-r1:7b",
|
473
473
|
"mode": [
|
474
474
|
"llama_index",
|
475
475
|
"agent",
|
@@ -518,9 +518,9 @@
|
|
518
518
|
"tokens": 8000,
|
519
519
|
"default": false
|
520
520
|
},
|
521
|
-
"
|
522
|
-
"id": "deepseek-r1
|
523
|
-
"name": "deepseek-r1
|
521
|
+
"deepseek-r1:14b": {
|
522
|
+
"id": "deepseek-r1:14b",
|
523
|
+
"name": "deepseek-r1:14b",
|
524
524
|
"mode": [
|
525
525
|
"llama_index",
|
526
526
|
"agent",
|
@@ -569,9 +569,9 @@
|
|
569
569
|
"tokens": 8000,
|
570
570
|
"default": false
|
571
571
|
},
|
572
|
-
"
|
573
|
-
"id": "deepseek-r1
|
574
|
-
"name": "deepseek-r1
|
572
|
+
"deepseek-r1:32b": {
|
573
|
+
"id": "deepseek-r1:32b",
|
574
|
+
"name": "deepseek-r1:32b",
|
575
575
|
"mode": [
|
576
576
|
"llama_index",
|
577
577
|
"agent",
|
@@ -620,9 +620,9 @@
|
|
620
620
|
"tokens": 8000,
|
621
621
|
"default": false
|
622
622
|
},
|
623
|
-
"
|
624
|
-
"id": "deepseek-r1
|
625
|
-
"name": "deepseek-r1
|
623
|
+
"deepseek-r1:70b": {
|
624
|
+
"id": "deepseek-r1:70b",
|
625
|
+
"name": "deepseek-r1:70b",
|
626
626
|
"mode": [
|
627
627
|
"llama_index",
|
628
628
|
"agent",
|
@@ -671,9 +671,9 @@
|
|
671
671
|
"tokens": 8000,
|
672
672
|
"default": false
|
673
673
|
},
|
674
|
-
"
|
675
|
-
"id": "deepseek-r1
|
676
|
-
"name": "deepseek-r1
|
674
|
+
"deepseek-r1:671b": {
|
675
|
+
"id": "deepseek-r1:671b",
|
676
|
+
"name": "deepseek-r1:671b",
|
677
677
|
"mode": [
|
678
678
|
"llama_index",
|
679
679
|
"agent",
|
@@ -722,7 +722,7 @@
|
|
722
722
|
"tokens": 8000,
|
723
723
|
"default": false
|
724
724
|
},
|
725
|
-
"
|
725
|
+
"deepseek-v3:671b": {
|
726
726
|
"id": "deepseek-v3:671b",
|
727
727
|
"name": "deepseek-v3:671b",
|
728
728
|
"mode": [
|
@@ -293,6 +293,10 @@ dialog.license.label = Durch die Verwendung dieser Software akzeptieren Sie die
|
|
293
293
|
dialog.license.title = Lizenz
|
294
294
|
dialog.logger.btn.clear = Löschen
|
295
295
|
dialog.logger.title = Protokollierung
|
296
|
+
dialog.models.importer = Modelle von Ollama importieren
|
297
|
+
dialog.models.importer.btn.cancel = Abbrechen
|
298
|
+
dialog.models.importer.btn.refresh = Aktualisieren
|
299
|
+
dialog.models.importer.btn.save = Speichern
|
296
300
|
dialog.ollama.model_not_found = Das angeforderte Modell ({model}) ist in deinem Ollama nicht verfügbar.\nBitte lade das Modell herunter, indem du den Befehl ausführst:\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama ist nicht installiert oder läuft nicht.\nBitte installiere zuerst Ollama, indem du die folgende Seite besuchst:\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Plugin-Einstellungen
|
@@ -567,6 +571,9 @@ menu.config.edit.config = config.json bearbeiten...
|
|
567
571
|
menu.config.edit.css = CSS-Stylesheets bearbeiten...
|
568
572
|
menu.config.edit.css.restore = Standard-CSS wiederherstellen...
|
569
573
|
menu.config.edit.models = models.json bearbeiten...
|
574
|
+
menu.config.models = Modelle...
|
575
|
+
menu.config.models.edit = Modelle bearbeiten
|
576
|
+
menu.config.models.import.ollama = Von Ollama importieren
|
570
577
|
menu.config.open_dir = Arbeitsverzeichnis öffnen...
|
571
578
|
menu.config.profile = Profil
|
572
579
|
menu.config.profile.edit = Profile bearbeiten...
|
@@ -653,6 +660,17 @@ mode.langchain = Langchain
|
|
653
660
|
mode.langchain.tooltip = Chat mit Modellen von Langchain
|
654
661
|
mode.llama_index = Chat mit Dateien
|
655
662
|
mode.llama_index.tooltip = Chat mit zusätzlichem Kontext von LlamaIndex
|
663
|
+
models.importer.all = Alle anzeigen
|
664
|
+
models.importer.available.label = Ollama-Modelle
|
665
|
+
models.importer.current.label = PyGPT-Modelle
|
666
|
+
models.importer.error.add.no_model = Kein Modell zum Hinzufügen ausgewählt
|
667
|
+
models.importer.error.add.not_exists = Modell existiert bereits in der aktuellen Liste
|
668
|
+
models.importer.error.no_connection = Ollama läuft nicht oder ist nicht verfügbar! Bitte starten Sie den Ollama-Server und klicken Sie auf die AKTUALISIEREN-Schaltfläche.
|
669
|
+
models.importer.error.no_models = Keine Ollama-Modelle verfügbar! Bitte installieren Sie Modelle mit dem Ollama CLI und klicken Sie auf die AKTUALISIEREN-Schaltfläche.
|
670
|
+
models.importer.error.remove.no_model = Kein Modell zum Entfernen ausgewählt
|
671
|
+
models.importer.error.remove.not_exists = Modell existiert bereits in der aktuellen Liste
|
672
|
+
models.importer.loaded = Ollama-Modelle erfolgreich geladen.
|
673
|
+
models.importer.status.imported = Modelle erfolgreich importiert.
|
656
674
|
mode.vision = Vision
|
657
675
|
mode.vision.tooltip = Bildanalyse mit GPT-4 Vision
|
658
676
|
msg.agent.plan = Plan
|
@@ -325,6 +325,10 @@ dialog.models.editor.defaults.app.result = Restored to models factory settings.
|
|
325
325
|
dialog.models.editor.defaults.user.confirm = Undo current changes?
|
326
326
|
dialog.models.editor.defaults.user.result = Restored models user config
|
327
327
|
dialog.models.editor.delete.confirm = Are you sure you want to delete the model?
|
328
|
+
dialog.models.importer = Import models from Ollama
|
329
|
+
dialog.models.importer.btn.cancel = Cancel
|
330
|
+
dialog.models.importer.btn.refresh = Refresh
|
331
|
+
dialog.models.importer.btn.save = Save
|
328
332
|
dialog.ollama.model_not_found = The requested model ({model}) is not available in your Ollama.\nPlease download the model first by executing the command:\nollama pull {model}
|
329
333
|
dialog.ollama.not_installed = Ollama is not installed or not running.\nPlease install Ollama first by visiting:\nhttps://ollama.com/download
|
330
334
|
dialog.plugin_settings = Plugin settings
|
@@ -697,6 +701,8 @@ menu.config.edit.css.restore = Restore default CSS...
|
|
697
701
|
menu.config.edit.json = Edit JSON configs...
|
698
702
|
menu.config.edit.models = Edit models.json...
|
699
703
|
menu.config.models = Models...
|
704
|
+
menu.config.models.edit = Edit models
|
705
|
+
menu.config.models.import.ollama = Import from Ollama
|
700
706
|
menu.config.open_dir = Open working directory...
|
701
707
|
menu.config.profile = Profile
|
702
708
|
menu.config.profile.edit = Edit profiles...
|
@@ -812,12 +818,23 @@ model.llama_index.provider.desc = LLM provider to use in "Chat with Files" mode
|
|
812
818
|
model.mode = Mode(s)
|
813
819
|
model.mode.desc = Available modes: chat, completion, img, audio, vision, assistant, langchain, llama_index, agent, agent_llama, research
|
814
820
|
model.name = Name
|
821
|
+
models.importer.all = Show all
|
822
|
+
models.importer.available.label = Ollama models
|
823
|
+
models.importer.current.label = PyGPT models
|
824
|
+
models.importer.error.add.no_model = No model selected to add
|
825
|
+
models.importer.error.add.not_exists = Model already exists in current list
|
826
|
+
models.importer.error.no_connection = Ollama is not running or not available! Please start Ollama server and click REFRESH button.
|
827
|
+
models.importer.error.no_models = No Ollama models available! Please install models using Ollama CLI and click REFRESH button.
|
828
|
+
models.importer.error.remove.no_model = No model selected to remove
|
829
|
+
models.importer.error.remove.not_exists = Model already exists in current list
|
830
|
+
models.importer.loaded = Ollama models loaded successfully.
|
831
|
+
models.importer.status.imported = Models imported successfully.
|
815
832
|
model.tokens = Output tokens
|
816
833
|
model.tokens.desc = Max model output tokens
|
817
|
-
mode.vision = Vision
|
818
|
-
mode.vision.tooltip = Image analysis with GPT-4 Vision
|
819
834
|
mode.research = Research (Perplexity)
|
820
835
|
mode.research.tooltip = Web research with Perplexity
|
836
|
+
mode.vision = Vision
|
837
|
+
mode.vision.tooltip = Image analysis with GPT-4 Vision
|
821
838
|
msg.agent.plan = Plan
|
822
839
|
msg.agent.plan.current = Current plan
|
823
840
|
msg.agent.plan.deps = Dependencies
|
@@ -293,6 +293,10 @@ dialog.license.label = Al utilizar este software, usted está aceptando los sigu
|
|
293
293
|
dialog.license.title = Licencia
|
294
294
|
dialog.logger.btn.clear = Limpiar
|
295
295
|
dialog.logger.title = Logger
|
296
|
+
dialog.models.importer = Importar modelos de Ollama
|
297
|
+
dialog.models.importer.btn.cancel = Cancelar
|
298
|
+
dialog.models.importer.btn.refresh = Actualizar
|
299
|
+
dialog.models.importer.btn.save = Guardar
|
296
300
|
dialog.ollama.model_not_found = El modelo solicitado ({model}) no está disponible en tu Ollama.\nPor favor, descarga el modelo ejecutando el comando:\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama no está instalado o no está en funcionamiento.\nPor favor, instala Ollama primero visitando:\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Configuración de plugins
|
@@ -566,6 +570,9 @@ menu.config.edit.config = Editar config.json...
|
|
566
570
|
menu.config.edit.css = Editar hojas de estilo CSS...
|
567
571
|
menu.config.edit.css.restore = Restaurar CSS por defecto...
|
568
572
|
menu.config.edit.models = Editar models.json...
|
573
|
+
menu.config.models = Modelos...
|
574
|
+
menu.config.models.edit = Editar modelos
|
575
|
+
menu.config.models.import.ollama = Importar desde Ollama
|
569
576
|
menu.config.open_dir = Abrir directorio de trabajo...
|
570
577
|
menu.config.profile = Perfil
|
571
578
|
menu.config.profile.edit = Editar perfiles...
|
@@ -652,6 +659,17 @@ mode.langchain = Langchain
|
|
652
659
|
mode.langchain.tooltip = Chatear con modelos proporcionados por Langchain
|
653
660
|
mode.llama_index = Chat con archivos
|
654
661
|
mode.llama_index.tooltip = Chatear con contexto adicional proporcionado por LlamaIndex
|
662
|
+
models.importer.all = Mostrar todo
|
663
|
+
models.importer.available.label = Modelos de Ollama
|
664
|
+
models.importer.current.label = Modelos de PyGPT
|
665
|
+
models.importer.error.add.no_model = No se seleccionó ningún modelo para agregar
|
666
|
+
models.importer.error.add.not_exists = El modelo ya existe en la lista actual
|
667
|
+
models.importer.error.no_connection = ¡Ollama no está en funcionamiento o no está disponible! Por favor, inicie el servidor Ollama y haga clic en el botón ACTUALIZAR.
|
668
|
+
models.importer.error.no_models = ¡No hay modelos de Ollama disponibles! Instale modelos usando Ollama CLI y haga clic en el botón ACTUALIZAR.
|
669
|
+
models.importer.error.remove.no_model = No se seleccionó ningún modelo para eliminar
|
670
|
+
models.importer.error.remove.not_exists = El modelo ya existe en la lista actual
|
671
|
+
models.importer.loaded = Modelos de Ollama cargados con éxito.
|
672
|
+
models.importer.status.imported = Modelos importados con éxito.
|
655
673
|
mode.vision = Visión
|
656
674
|
mode.vision.tooltip = Análisis de imagen con GPT-4 Vision
|
657
675
|
msg.agent.plan = Plan
|
@@ -293,6 +293,10 @@ dialog.license.label = En utilisant ce logiciel, vous acceptez les termes suivan
|
|
293
293
|
dialog.license.title = Licence
|
294
294
|
dialog.logger.btn.clear = Effacer
|
295
295
|
dialog.logger.title = Journal
|
296
|
+
dialog.models.importer = Importer des modèles depuis Ollama
|
297
|
+
dialog.models.importer.btn.cancel = Annuler
|
298
|
+
dialog.models.importer.btn.refresh = Actualiser
|
299
|
+
dialog.models.importer.btn.save = Enregistrer
|
296
300
|
dialog.ollama.model_not_found = Le modèle demandé ({model}) n'est pas disponible dans votre Ollama.\nVeuillez télécharger le modèle en exécutant la commande :\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama n'est pas installé ou n'est pas en cours d'exécution.\nVeuillez d'abord installer Ollama en visitant :\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Paramètres des plugins
|
@@ -567,6 +571,9 @@ menu.config.edit.config = Modifier config.json...
|
|
567
571
|
menu.config.edit.css = Modifier les feuilles de style CSS...
|
568
572
|
menu.config.edit.css.restore = Restaurer le CSS par défaut...
|
569
573
|
menu.config.edit.models = Modifier models.json...
|
574
|
+
menu.config.models = Modèles...
|
575
|
+
menu.config.models.edit = Modifier les modèles
|
576
|
+
menu.config.models.import.ollama = Importer depuis Ollama
|
570
577
|
menu.config.open_dir = Ouvrir le répertoire de travail...
|
571
578
|
menu.config.profile = Profil
|
572
579
|
menu.config.profile.edit = Modifier les profils...
|
@@ -653,6 +660,17 @@ mode.langchain = Langchain
|
|
653
660
|
mode.langchain.tooltip = Discussion avec les modèles fournis par Langchain
|
654
661
|
mode.llama_index = Chat avec fichiers
|
655
662
|
mode.llama_index.tooltip = Discussion avec un contexte supplémentaire fourni par LlamaIndex
|
663
|
+
models.importer.all = Tout afficher
|
664
|
+
models.importer.available.label = Modèles Ollama
|
665
|
+
models.importer.current.label = Modèles PyGPT
|
666
|
+
models.importer.error.add.no_model = Aucun modèle sélectionné à ajouter
|
667
|
+
models.importer.error.add.not_exists = Le modèle existe déjà dans la liste actuelle
|
668
|
+
models.importer.error.no_connection = Ollama ne fonctionne pas ou n'est pas disponible ! Veuillez démarrer le serveur Ollama et cliquer sur le bouton ACTUALISER.
|
669
|
+
models.importer.error.no_models = Aucun modèle Ollama disponible ! Veuillez installer des modèles en utilisant Ollama CLI et cliquer sur le bouton ACTUALISER.
|
670
|
+
models.importer.error.remove.no_model = Aucun modèle sélectionné à supprimer
|
671
|
+
models.importer.error.remove.not_exists = Le modèle existe déjà dans la liste actuelle
|
672
|
+
models.importer.loaded = Modèles Ollama chargés avec succès.
|
673
|
+
models.importer.status.imported = Modèles importés avec succès.
|
656
674
|
mode.vision = Vision
|
657
675
|
mode.vision.tooltip = Analyse d'image avec GPT-4 Vision
|
658
676
|
msg.agent.plan = Plan
|
@@ -293,6 +293,10 @@ dialog.license.label = Utilizzando questo software si accettano i seguenti termi
|
|
293
293
|
dialog.license.title = Licenza
|
294
294
|
dialog.logger.btn.clear = Pulisci
|
295
295
|
dialog.logger.title = Logger
|
296
|
+
dialog.models.importer = Importa modelli da Ollama
|
297
|
+
dialog.models.importer.btn.cancel = Annulla
|
298
|
+
dialog.models.importer.btn.refresh = Aggiorna
|
299
|
+
dialog.models.importer.btn.save = Salva
|
296
300
|
dialog.ollama.model_not_found = Il modello richiesto ({model}) non è disponibile nel tuo Ollama.\nPer favore, scarica il modello eseguendo il comando:\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama non è installato o non è in esecuzione.\nSi prega di installare prima Ollama visitando:\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Impostazioni plugin
|
@@ -567,6 +571,9 @@ menu.config.edit.config = Modifica config.json...
|
|
567
571
|
menu.config.edit.css = Modifica fogli di stile CSS...
|
568
572
|
menu.config.edit.css.restore = Ripristina CSS predefinito...
|
569
573
|
menu.config.edit.models = Modifica models.json...
|
574
|
+
menu.config.models = Modelli...
|
575
|
+
menu.config.models.edit = Modifica modelli
|
576
|
+
menu.config.models.import.ollama = Importa da Ollama
|
570
577
|
menu.config.open_dir = Apri directory di lavoro...
|
571
578
|
menu.config.profile = Profilo
|
572
579
|
menu.config.profile.edit = Modifica profili...
|
@@ -653,6 +660,17 @@ mode.langchain = Langchain
|
|
653
660
|
mode.langchain.tooltip = Chattare con modelli forniti da Langchain
|
654
661
|
mode.llama_index = Chat con file
|
655
662
|
mode.llama_index.tooltip = Chattare con contesto aggiuntivo fornito da LlamaIndex
|
663
|
+
models.importer.all = Mostra tutto
|
664
|
+
models.importer.available.label = Modelli Ollama
|
665
|
+
models.importer.current.label = Modelli PyGPT
|
666
|
+
models.importer.error.add.no_model = Nessun modello selezionato da aggiungere
|
667
|
+
models.importer.error.add.not_exists = Il modello esiste già nella lista corrente
|
668
|
+
models.importer.error.no_connection = Ollama non è in esecuzione o non è disponibile! Avvia il server Ollama e fai clic sul pulsante AGGIORNA.
|
669
|
+
models.importer.error.no_models = Nessun modello Ollama disponibile! Installa i modelli utilizzando Ollama CLI e fai clic sul pulsante AGGIORNA.
|
670
|
+
models.importer.error.remove.no_model = Nessun modello selezionato da rimuovere
|
671
|
+
models.importer.error.remove.not_exists = Il modello esiste già nella lista corrente
|
672
|
+
models.importer.loaded = Modelli Ollama caricati con successo.
|
673
|
+
models.importer.status.imported = Modelli importati con successo.
|
656
674
|
mode.vision = Vision
|
657
675
|
mode.vision.tooltip = Analisi immagine con GPT-4 Vision
|
658
676
|
msg.agent.plan = Piano
|
@@ -293,7 +293,11 @@ dialog.license.label = Korzystając z tego oprogramowania, akceptujesz następuj
|
|
293
293
|
dialog.license.title = Licencja
|
294
294
|
dialog.logger.btn.clear = Wyczyść
|
295
295
|
dialog.logger.title = Logger
|
296
|
-
dialog.
|
296
|
+
dialog.models.importer = Importuj modele z Ollama
|
297
|
+
dialog.models.importer.btn.cancel = Anuluj
|
298
|
+
dialog.models.importer.btn.refresh = Odśwież
|
299
|
+
dialog.models.importer.btn.save = Zapisz
|
300
|
+
dialog.ollama.model_not_found = Żądany model ({model}) nie jest dostępny w twojej Ollama.\nProszę pobrać model, wykonując polecenie:\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama nie jest zainstalowana lub nie działa.\nProszę najpierw zainstalować Ollama, odwiedzając stronę:\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Ustawienia pluginów
|
299
303
|
dialog.plugin.settings.btn.defaults.app = Wczytaj domyślne
|
@@ -567,6 +571,9 @@ menu.config.edit.config = Edytuj config.json...
|
|
567
571
|
menu.config.edit.css = Edytuj style CSS...
|
568
572
|
menu.config.edit.css.restore = Przywróć domyślny CSS...
|
569
573
|
menu.config.edit.models = Edytuj models.json...
|
574
|
+
menu.config.models = Modele...
|
575
|
+
menu.config.models.edit = Edytuj modele
|
576
|
+
menu.config.models.import.ollama = Importuj z Ollama
|
570
577
|
menu.config.open_dir = Otwórz katalog roboczy...
|
571
578
|
menu.config.profile = Profil
|
572
579
|
menu.config.profile.edit = Edytuj profile...
|
@@ -653,6 +660,17 @@ mode.langchain = Langchain
|
|
653
660
|
mode.langchain.tooltip = Czat z modelami dostarczonymi przez Langchain
|
654
661
|
mode.llama_index = Czat z plikami
|
655
662
|
mode.llama_index.tooltip = Czat z dodatkowym kontekstem dostarczonym przez LlamaIndex
|
663
|
+
models.importer.all = Pokaż wszystkie
|
664
|
+
models.importer.available.label = Modele Ollama
|
665
|
+
models.importer.current.label = Modele PyGPT
|
666
|
+
models.importer.error.add.no_model = Nie wybrano modelu do dodania
|
667
|
+
models.importer.error.add.not_exists = Model już istnieje na liście
|
668
|
+
models.importer.error.no_connection = Ollama nie działa lub jest niedostępna! Uruchom serwer Ollama i kliknij przycisk ODŚWIEŻ.
|
669
|
+
models.importer.error.no_models = Brak dostępnych modeli Ollama! Zainstaluj modele za pomocą Ollama CLI i kliknij przycisk ODŚWIEŻ.
|
670
|
+
models.importer.error.remove.no_model = Nie wybrano modelu do usunięcia
|
671
|
+
models.importer.error.remove.not_exists = Model już istnieje na liście
|
672
|
+
models.importer.loaded = Modele Ollama załadowane pomyślnie.
|
673
|
+
models.importer.status.imported = Modele zaimportowane pomyślnie.
|
656
674
|
mode.vision = Wizja
|
657
675
|
mode.vision.tooltip = Analiza obrazu z GPT-4 Vision
|
658
676
|
msg.agent.plan = Plan
|
@@ -293,6 +293,10 @@ dialog.license.label = Використовуючи це програмне за
|
|
293
293
|
dialog.license.title = Ліцензія
|
294
294
|
dialog.logger.btn.clear = Очистити
|
295
295
|
dialog.logger.title = Логер
|
296
|
+
dialog.models.importer = Імпорт моделей з Ollama
|
297
|
+
dialog.models.importer.btn.cancel = Скасувати
|
298
|
+
dialog.models.importer.btn.refresh = Оновити
|
299
|
+
dialog.models.importer.btn.save = Зберегти
|
296
300
|
dialog.ollama.model_not_found = Потрібна модель ({model}) не є доступною у вашій Ollama.\nБудь ласка, завантажте модель, виконавши команду:\nollama pull {model}
|
297
301
|
dialog.ollama.not_installed = Ollama не встановлено або не запущено.\nБудь ласка, спочатку встановіть Ollama, відвідавши:\nhttps://ollama.com/download
|
298
302
|
dialog.plugin_settings = Налаштування плагінів
|
@@ -566,6 +570,9 @@ menu.config.edit.config = Редагувати config.json...
|
|
566
570
|
menu.config.edit.css = Редагувати CSS-стилі...
|
567
571
|
menu.config.edit.css.restore = Відновити CSS за замовчуванням...
|
568
572
|
menu.config.edit.models = Редагувати models.json...
|
573
|
+
menu.config.models = Моделі...
|
574
|
+
menu.config.models.edit = Редагувати моделі
|
575
|
+
menu.config.models.import.ollama = Імпорт з Ollama
|
569
576
|
menu.config.open_dir = Відкрити робочий каталог...
|
570
577
|
menu.config.profile = Профіль
|
571
578
|
menu.config.profile.edit = Редагувати профілі...
|
@@ -652,6 +659,17 @@ mode.langchain = Langchain
|
|
652
659
|
mode.langchain.tooltip = Чат з моделями, наданими Langchain
|
653
660
|
mode.llama_index = Чат з файлами
|
654
661
|
mode.llama_index.tooltip = Чат з додатковим контекстом, наданим LlamaIndex
|
662
|
+
models.importer.all = Показати всі
|
663
|
+
models.importer.available.label = Моделі Ollama
|
664
|
+
models.importer.current.label = Моделі PyGPT
|
665
|
+
models.importer.error.add.no_model = Не вибрано модель для додавання
|
666
|
+
models.importer.error.add.not_exists = Модель вже існує в поточному списку
|
667
|
+
models.importer.error.no_connection = Ollama не працює або недоступна! Будь ласка, запустіть сервер Ollama і натисніть кнопку ОНОВИТИ.
|
668
|
+
models.importer.error.no_models = Немає доступних моделей Ollama! Встановіть моделі за допомогою Ollama CLI і натисніть кнопку ОНОВИТИ.
|
669
|
+
models.importer.error.remove.no_model = Не вибрано модель для видалення
|
670
|
+
models.importer.error.remove.not_exists = Модель вже існує в поточному списку
|
671
|
+
models.importer.loaded = Моделі Ollama успішно завантажені.
|
672
|
+
models.importer.status.imported = Моделі успішно імпортовані.
|
655
673
|
mode.vision = Оптика
|
656
674
|
mode.vision.tooltip = Аналіз зображень за допомогою GPT-4 Vision
|
657
675
|
msg.agent.plan = План
|
@@ -303,6 +303,10 @@ dialog.models.editor.defaults.app.result = 恢復到模型工廠設置。
|
|
303
303
|
dialog.models.editor.defaults.user.confirm = 撤銷當前更改?
|
304
304
|
dialog.models.editor.defaults.user.result = 恢復模型用戶配置
|
305
305
|
dialog.models.editor.delete.confirm = 您確定要刪除模型嗎?
|
306
|
+
dialog.models.importer = 从 Ollama 导入模型
|
307
|
+
dialog.models.importer.btn.cancel = 取消
|
308
|
+
dialog.models.importer.btn.refresh = 刷新
|
309
|
+
dialog.models.importer.btn.save = 保存
|
306
310
|
dialog.ollama.model_not_found = 您的Ollama中没有请求的模型({model})。\n请先通过执行以下命令下载模型:\nollama pull {model}
|
307
311
|
dialog.ollama.not_installed = 未安装或未运行Ollama。\n请先通过访问以下网址安装Ollama:\nhttps://ollama.com/download
|
308
312
|
dialog.plugin_settings = 插件設置
|
@@ -642,6 +646,8 @@ menu.config.edit.css.restore = 恢复默认CSS...
|
|
642
646
|
menu.config.edit.json = 編輯JSON配置...
|
643
647
|
menu.config.edit.models = 編輯models.json...
|
644
648
|
menu.config.models = 模型...
|
649
|
+
menu.config.models.edit = 编辑模型
|
650
|
+
menu.config.models.import.ollama = 从 Ollama 导入
|
645
651
|
menu.config.open_dir = 打开工作目录...
|
646
652
|
menu.config.profile = 个人资料
|
647
653
|
menu.config.profile.edit = 编辑个人资料...
|
@@ -751,6 +757,17 @@ model.llama_index.provider.desc = 在"文件聊天"模式中使用的LLM提供
|
|
751
757
|
model.mode = 模式
|
752
758
|
model.mode.desc = 可用模式:聊天、完成、圖像、視覺、助手、langchain、llama_index、代理
|
753
759
|
model.name = 名稱
|
760
|
+
models.importer.all = 显示全部
|
761
|
+
models.importer.available.label = Ollama 模型
|
762
|
+
models.importer.current.label = PyGPT 模型
|
763
|
+
models.importer.error.add.no_model = 未选择要添加的模型
|
764
|
+
models.importer.error.add.not_exists = 模型已存在于当前列表中
|
765
|
+
models.importer.error.no_connection = Ollama 未运行或不可用!请启动 Ollama 服务器并点击刷新按钮。
|
766
|
+
models.importer.error.no_models = 没有可用的 Ollama 模型!请使用 Ollama CLI 安装模型并点击刷新按钮。
|
767
|
+
models.importer.error.remove.no_model = 未选择要删除的模型
|
768
|
+
models.importer.error.remove.not_exists = 模型已存在于当前列表中
|
769
|
+
models.importer.loaded = Ollama 模型加载成功。
|
770
|
+
models.importer.status.imported = 模型导入成功。
|
754
771
|
model.tokens = 輸出令牌
|
755
772
|
model.tokens.desc = 模型輸出令牌的最大值
|
756
773
|
mode.vision = 視覺模式
|
pygpt_net/item/ctx.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.06.
|
9
|
+
# Updated Date: 2025.06.25 02:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import copy
|
@@ -75,6 +75,7 @@ class CtxItem:
|
|
75
75
|
self.sub_call = False # is sub call
|
76
76
|
self.sub_reply = False # sub call reply
|
77
77
|
self.hidden = False # hidden context
|
78
|
+
self.use_responses_api = False # use responses API format
|
78
79
|
self.pid = 0
|
79
80
|
self.audio_id = None
|
80
81
|
self.audio_output = None
|
pygpt_net/item/model.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.
|
9
|
+
# Updated Date: 2025.06.24 16:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import json
|
@@ -28,6 +28,7 @@ class ModelItem:
|
|
28
28
|
self.ctx = 0
|
29
29
|
self.tokens = 0
|
30
30
|
self.default = False
|
31
|
+
self.imported = False
|
31
32
|
self.extra = {}
|
32
33
|
|
33
34
|
def from_dict(self, data: dict):
|
@@ -51,6 +52,8 @@ class ModelItem:
|
|
51
52
|
self.default = data['default']
|
52
53
|
if 'extra' in data:
|
53
54
|
self.extra = data['extra']
|
55
|
+
if 'imported' in data:
|
56
|
+
self.imported = data['imported']
|
54
57
|
|
55
58
|
# multimodal
|
56
59
|
if 'multimodal' in data:
|
@@ -101,6 +104,7 @@ class ModelItem:
|
|
101
104
|
data['default'] = self.default
|
102
105
|
data['multimodal'] = ','.join(self.multimodal)
|
103
106
|
data['extra'] = self.extra
|
107
|
+
data['imported'] = self.imported
|
104
108
|
|
105
109
|
data['langchain.provider'] = None
|
106
110
|
data['langchain.mode'] = ""
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date:
|
9
|
+
# Updated Date: 2025.06.25 02:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import os
|
@@ -141,7 +141,7 @@ class Plugin(BasePlugin):
|
|
141
141
|
"""
|
142
142
|
# use_loaders = False
|
143
143
|
if use_loaders:
|
144
|
-
content, docs =
|
144
|
+
content, docs = self.window.core.idx.indexing.read_text_content(path)
|
145
145
|
return content
|
146
146
|
else:
|
147
147
|
data = ""
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.
|
9
|
+
# Updated Date: 2025.06.25 02:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import fnmatch
|
@@ -847,7 +847,7 @@ class Worker(BaseWorker):
|
|
847
847
|
path,
|
848
848
|
)
|
849
849
|
|
850
|
-
def read_files(self, paths: list) -> (
|
850
|
+
def read_files(self, paths: list) -> (list, list):
|
851
851
|
"""
|
852
852
|
Read files from directory
|
853
853
|
|
@@ -165,6 +165,7 @@ class JsonFileProvider(BaseProvider):
|
|
165
165
|
'default': item.default,
|
166
166
|
'multimodal': item.multimodal,
|
167
167
|
'extra': item.extra,
|
168
|
+
'imported': item.imported,
|
168
169
|
}
|
169
170
|
|
170
171
|
@staticmethod
|
@@ -195,6 +196,8 @@ class JsonFileProvider(BaseProvider):
|
|
195
196
|
item.multimodal = data['multimodal']
|
196
197
|
if 'extra' in data:
|
197
198
|
item.extra = data['extra']
|
199
|
+
if 'imported' in data:
|
200
|
+
item.imported = data['imported']
|
198
201
|
|
199
202
|
def dump(self, item: ModelItem) -> str:
|
200
203
|
"""
|
@@ -6,7 +6,7 @@
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
7
7
|
# MIT License #
|
8
8
|
# Created By : Marcin Szczygliński #
|
9
|
-
# Updated Date: 2025.06.
|
9
|
+
# Updated Date: 2025.06.24 16:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
from packaging.version import parse as parse_version, Version
|
@@ -527,6 +527,29 @@ class Patch:
|
|
527
527
|
# add gpt-4.1-mini, qwen2.5-coder
|
528
528
|
updated = True
|
529
529
|
|
530
|
+
# < 2.5.15 <--- update deepseek IDs
|
531
|
+
if old < parse_version("2.5.15"):
|
532
|
+
print("Migrating models from < 2.5.15...")
|
533
|
+
replace = [
|
534
|
+
["deepseek_ollama_r1_1.5b", "deepseek-r1:1.5b"],
|
535
|
+
["deepseek_ollama_r1_7b", "deepseek-r1:7b"],
|
536
|
+
["deepseek_ollama_r1_14b", "deepseek-r1:14b"],
|
537
|
+
["deepseek_ollama_r1_32b", "deepseek-r1:32b"],
|
538
|
+
["deepseek_ollama_r1_70b", "deepseek-r1:70b"],
|
539
|
+
["deepseek_ollama_r1_671b", "deepseek-r1:671b"],
|
540
|
+
["deepseek_ollama_v3", "deepseek-v3:671b"]
|
541
|
+
]
|
542
|
+
for m in replace:
|
543
|
+
name_to_replace = m[0]
|
544
|
+
new_name = m[1]
|
545
|
+
if name_to_replace in data:
|
546
|
+
model = data[name_to_replace]
|
547
|
+
model.id = new_name
|
548
|
+
model.name = new_name
|
549
|
+
data[new_name] = model
|
550
|
+
del data[name_to_replace]
|
551
|
+
updated = True
|
552
|
+
|
530
553
|
# update file
|
531
554
|
if updated:
|
532
555
|
data = dict(sorted(data.items()))
|