pygpt-net 2.6.33__py3-none-any.whl → 2.6.34__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 +7 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/assistant/batch.py +14 -4
- pygpt_net/controller/assistant/files.py +1 -0
- pygpt_net/controller/assistant/store.py +195 -1
- pygpt_net/controller/camera/camera.py +1 -1
- pygpt_net/controller/chat/common.py +50 -46
- pygpt_net/controller/config/placeholder.py +95 -75
- pygpt_net/controller/dialogs/confirm.py +3 -1
- pygpt_net/controller/media/media.py +11 -3
- pygpt_net/controller/painter/common.py +231 -13
- pygpt_net/core/assistants/files.py +18 -0
- pygpt_net/core/camera/camera.py +31 -402
- pygpt_net/core/camera/worker.py +430 -0
- pygpt_net/core/filesystem/url.py +3 -0
- pygpt_net/core/render/web/body.py +65 -9
- pygpt_net/core/text/utils.py +3 -0
- pygpt_net/data/config/config.json +3 -3
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/data/config/settings.json +10 -5
- pygpt_net/data/locale/locale.de.ini +8 -7
- pygpt_net/data/locale/locale.en.ini +9 -6
- pygpt_net/data/locale/locale.es.ini +8 -7
- pygpt_net/data/locale/locale.fr.ini +8 -7
- pygpt_net/data/locale/locale.it.ini +8 -7
- pygpt_net/data/locale/locale.pl.ini +8 -7
- pygpt_net/data/locale/locale.uk.ini +8 -7
- pygpt_net/data/locale/locale.zh.ini +8 -7
- pygpt_net/item/assistant.py +13 -1
- pygpt_net/provider/api/google/__init__.py +32 -23
- pygpt_net/provider/api/openai/store.py +45 -1
- pygpt_net/provider/llms/google.py +4 -0
- pygpt_net/ui/dialog/assistant_store.py +213 -203
- pygpt_net/ui/layout/chat/input.py +3 -3
- pygpt_net/ui/widget/draw/painter.py +16 -1
- pygpt_net/ui/widget/option/combo.py +5 -1
- pygpt_net/ui/widget/textarea/input.py +273 -3
- {pygpt_net-2.6.33.dist-info → pygpt_net-2.6.34.dist-info}/METADATA +9 -2
- {pygpt_net-2.6.33.dist-info → pygpt_net-2.6.34.dist-info}/RECORD +42 -41
- {pygpt_net-2.6.33.dist-info → pygpt_net-2.6.34.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.33.dist-info → pygpt_net-2.6.34.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.33.dist-info → pygpt_net-2.6.34.dist-info}/entry_points.txt +0 -0
|
@@ -957,10 +957,10 @@ output.tips.7 = Für eine bessere Leistung deaktivieren Sie die Werkzeuge, wenn
|
|
|
957
957
|
output.tips.8 = Wenn Sie lokale Modelle verwenden, denken Sie daran, das lokale Modell auch für die Kontextzusammenfassung und Einbettungen einzustellen.
|
|
958
958
|
output.tips.9 = Um Audio-Ein- und Ausgangsanbieter zu konfigurieren, gehen Sie zu Plugins -> Einstellungen. Um Audiogeräte zu konfigurieren, gehen Sie zu Konfiguration -> Einstellungen -> Audio.
|
|
959
959
|
output.tips.prefix = Tipp
|
|
960
|
-
painter.btn.crop = Zuschneiden
|
|
961
960
|
painter.btn.camera.capture = Von der Kamera
|
|
962
961
|
painter.btn.capture = Bild erfassen
|
|
963
962
|
painter.btn.clear = Löschen
|
|
963
|
+
painter.btn.crop = Zuschneiden
|
|
964
964
|
painter.capture.manual.captured.success = Bild erfasst:
|
|
965
965
|
painter.capture.name.prefix = Zeichnung von
|
|
966
966
|
painter.mode.erase = Radieren
|
|
@@ -1364,7 +1364,8 @@ settings.section.remote_tools = Fernwerkzeuge
|
|
|
1364
1364
|
settings.section.remote_tools.openai = OpenAI
|
|
1365
1365
|
settings.section.tab.general = Allgemein
|
|
1366
1366
|
settings.section.updates = Aktualisierungen
|
|
1367
|
-
settings.section.vision = Vision
|
|
1367
|
+
settings.section.vision = Vision und Kamera
|
|
1368
|
+
settings.section.vision.camera = Kamera
|
|
1368
1369
|
settings.store_history = Verlauf speichern
|
|
1369
1370
|
settings.store_history_time = Uhrzeit im Verlauf speichern
|
|
1370
1371
|
settings.temperature = Temperatur
|
|
@@ -1394,11 +1395,11 @@ settings.video.seed = Startwert
|
|
|
1394
1395
|
settings.video.seed.desc = Optionaler Zufallsstartwert für reproduzierbare Ergebnisse; leer lassen für zufällig
|
|
1395
1396
|
settings.vision.capture.auto = Automatisches Erfassen
|
|
1396
1397
|
settings.vision.capture.enabled = Kamera
|
|
1397
|
-
settings.vision.capture.height =
|
|
1398
|
-
settings.vision.capture.idx =
|
|
1399
|
-
settings.vision.capture.idx.desc =
|
|
1400
|
-
settings.vision.capture.quality =
|
|
1401
|
-
settings.vision.capture.width =
|
|
1398
|
+
settings.vision.capture.height = Aufnahmehöhe (in Pixeln)
|
|
1399
|
+
settings.vision.capture.idx = Kameragerät
|
|
1400
|
+
settings.vision.capture.idx.desc = Wählen Sie ein Kameragerät für die Echtzeit-Videoaufnahme
|
|
1401
|
+
settings.vision.capture.quality = Aufnahmequalität (%)
|
|
1402
|
+
settings.vision.capture.width = Aufnahmewidth (in Pixeln)
|
|
1402
1403
|
settings.zoom = Zoomen des Chat-Ausgabefensters
|
|
1403
1404
|
speech.enable = Sprachausgabe aktivieren
|
|
1404
1405
|
speech.listening = Sprechen Sie jetzt...
|
|
@@ -253,6 +253,7 @@ confirm.assistant.store.clear = Clear vector stores (local only)?
|
|
|
253
253
|
confirm.assistant.store.import = Import all vector stores from API?
|
|
254
254
|
confirm.assistant.store.refresh = Refresh all stores?
|
|
255
255
|
confirm.assistant.store.truncate = Delete all vector stores in API?
|
|
256
|
+
confirm.assistant.store.file.delete = Delete selected file in API?
|
|
256
257
|
confirm.ctx.delete = Delete group?
|
|
257
258
|
confirm.ctx.delete.all = Delete group and all items?
|
|
258
259
|
confirm.img.delete = Delete file from disk?
|
|
@@ -958,10 +959,10 @@ output.tips.7 = For better performance, disable tools when using local models if
|
|
|
958
959
|
output.tips.8 = When using local models, remember to set the local model for context summary and embeddings as well.
|
|
959
960
|
output.tips.9 = To configure audio input and output providers, go to Plugins -> Settings. To configure audio devices, go to Config -> Settings -> Audio.
|
|
960
961
|
output.tips.prefix = Tip
|
|
961
|
-
painter.btn.crop = Crop
|
|
962
962
|
painter.btn.camera.capture = From camera
|
|
963
963
|
painter.btn.capture = Use image
|
|
964
964
|
painter.btn.clear = Clear
|
|
965
|
+
painter.btn.crop = Crop
|
|
965
966
|
painter.capture.manual.captured.success = Image captured:
|
|
966
967
|
painter.capture.name.prefix = Drawing from
|
|
967
968
|
painter.mode.erase = Erase
|
|
@@ -1406,7 +1407,8 @@ settings.section.remote_tools.google = Google
|
|
|
1406
1407
|
settings.section.remote_tools.openai = OpenAI
|
|
1407
1408
|
settings.section.tab.general = General
|
|
1408
1409
|
settings.section.updates = Updates
|
|
1409
|
-
settings.section.vision = Vision
|
|
1410
|
+
settings.section.vision = Vision and camera
|
|
1411
|
+
settings.section.vision.camera = Camera
|
|
1410
1412
|
settings.store_history = Store history
|
|
1411
1413
|
settings.store_history_time = Store time in history
|
|
1412
1414
|
settings.temperature = Temperature
|
|
@@ -1436,11 +1438,11 @@ settings.video.seed = Seed
|
|
|
1436
1438
|
settings.video.seed.desc = Optional random seed for reproducible results; leave empty for random
|
|
1437
1439
|
settings.vision.capture.auto = Auto capture
|
|
1438
1440
|
settings.vision.capture.enabled = Camera
|
|
1439
|
-
settings.vision.capture.height =
|
|
1440
|
-
settings.vision.capture.idx = Camera
|
|
1441
|
-
settings.vision.capture.idx.desc =
|
|
1441
|
+
settings.vision.capture.height = Capture height (in pixels)
|
|
1442
|
+
settings.vision.capture.idx = Camera Device
|
|
1443
|
+
settings.vision.capture.idx.desc = Select a camera device for real-time video capture
|
|
1442
1444
|
settings.vision.capture.quality = Capture quality (%)
|
|
1443
|
-
settings.vision.capture.width =
|
|
1445
|
+
settings.vision.capture.width = Capture width (in pixels)
|
|
1444
1446
|
settings.zoom = Chat output window zoom
|
|
1445
1447
|
speech.enable = Speak
|
|
1446
1448
|
speech.listening = Speak now...
|
|
@@ -1612,3 +1614,4 @@ vision.capture.manual.captured.success = Image captured from the camera:
|
|
|
1612
1614
|
vision.capture.name.prefix = Camera capture:
|
|
1613
1615
|
vision.capture.options.title = Video capture
|
|
1614
1616
|
vision.checkbox.tooltip = If checked, the vision model is active. It will be automatically activated upon image upload. You can deactivate it in real-time.
|
|
1617
|
+
assistant.store.menu.file.delete = Delete file
|
|
@@ -958,10 +958,10 @@ output.tips.7 = Para un mejor rendimiento, desactiva las herramientas cuando uti
|
|
|
958
958
|
output.tips.8 = Al utilizar modelos locales, recuerda establecer el modelo local también para el resumen de contexto y las incrustaciones.
|
|
959
959
|
output.tips.9 = Para configurar los proveedores de entrada y salida de audio, ve a Plugins -> Configuración. Para configurar los dispositivos de audio, ve a Configuración -> Configuración -> Audio.
|
|
960
960
|
output.tips.prefix = Consejo
|
|
961
|
-
painter.btn.crop = Recortar
|
|
962
961
|
painter.btn.camera.capture = De la cámara
|
|
963
962
|
painter.btn.capture = Capturar imagen
|
|
964
963
|
painter.btn.clear = Limpiar
|
|
964
|
+
painter.btn.crop = Recortar
|
|
965
965
|
painter.capture.manual.captured.success = Imagen capturada:
|
|
966
966
|
painter.capture.name.prefix = Dibujo de
|
|
967
967
|
painter.mode.erase = Borrar
|
|
@@ -1365,7 +1365,8 @@ settings.section.remote_tools = Herramientas remotas
|
|
|
1365
1365
|
settings.section.remote_tools.openai = OpenAI
|
|
1366
1366
|
settings.section.tab.general = General
|
|
1367
1367
|
settings.section.updates = Actualizaciones
|
|
1368
|
-
settings.section.vision = Visión
|
|
1368
|
+
settings.section.vision = Visión y cámara
|
|
1369
|
+
settings.section.vision.camera = Cámara
|
|
1369
1370
|
settings.store_history = Almacenar historial
|
|
1370
1371
|
settings.store_history_time = Almacenar hora en el historial
|
|
1371
1372
|
settings.temperature = Temperatura
|
|
@@ -1395,11 +1396,11 @@ settings.video.seed = Semilla
|
|
|
1395
1396
|
settings.video.seed.desc = Semilla aleatoria opcional para resultados reproducibles; déjelo vacío para aleatorio
|
|
1396
1397
|
settings.vision.capture.auto = Captura automática
|
|
1397
1398
|
settings.vision.capture.enabled = Cámara
|
|
1398
|
-
settings.vision.capture.height = Altura de captura
|
|
1399
|
-
settings.vision.capture.idx =
|
|
1400
|
-
settings.vision.capture.idx.desc =
|
|
1401
|
-
settings.vision.capture.quality = Calidad de captura
|
|
1402
|
-
settings.vision.capture.width = Ancho de captura
|
|
1399
|
+
settings.vision.capture.height = Altura de captura (en píxeles)
|
|
1400
|
+
settings.vision.capture.idx = Dispositivo de Cámara
|
|
1401
|
+
settings.vision.capture.idx.desc = Seleccione un dispositivo de cámara para la captura de video en tiempo real
|
|
1402
|
+
settings.vision.capture.quality = Calidad de captura (%)
|
|
1403
|
+
settings.vision.capture.width = Ancho de captura (en píxeles)
|
|
1403
1404
|
settings.zoom = Zoom de ventana de salida del chat
|
|
1404
1405
|
speech.enable = Hablar
|
|
1405
1406
|
speech.listening = Hable ahora...
|
|
@@ -957,10 +957,10 @@ output.tips.7 = Pour de meilleures performances, désactivez les outils lorsque
|
|
|
957
957
|
output.tips.8 = Lorsque vous utilisez des modèles locaux, n’oubliez pas de définir également le modèle local pour le résumé de contexte et les embeddings.
|
|
958
958
|
output.tips.9 = Pour configurer les fournisseurs d'entrée et de sortie audio, allez dans Plugins -> Paramètres. Pour configurer les appareils audio, allez dans Configuration -> Paramètres -> Audio.
|
|
959
959
|
output.tips.prefix = Astuce
|
|
960
|
-
painter.btn.crop = Rogner
|
|
961
960
|
painter.btn.camera.capture = De la caméra
|
|
962
961
|
painter.btn.capture = Capturer l'image
|
|
963
962
|
painter.btn.clear = Effacer
|
|
963
|
+
painter.btn.crop = Rogner
|
|
964
964
|
painter.capture.manual.captured.success = Image capturée:
|
|
965
965
|
painter.capture.name.prefix = Dessin de
|
|
966
966
|
painter.mode.erase = Effacer
|
|
@@ -1364,7 +1364,8 @@ settings.section.remote_tools = Outils distants
|
|
|
1364
1364
|
settings.section.remote_tools.openai = OpenAI
|
|
1365
1365
|
settings.section.tab.general = Général
|
|
1366
1366
|
settings.section.updates = Mises à jour
|
|
1367
|
-
settings.section.vision = Vision
|
|
1367
|
+
settings.section.vision = Vision et caméra
|
|
1368
|
+
settings.section.vision.camera = Caméra
|
|
1368
1369
|
settings.store_history = Stocker l'historique
|
|
1369
1370
|
settings.store_history_time = Stocker l'heure dans l'historique
|
|
1370
1371
|
settings.temperature = Température
|
|
@@ -1394,11 +1395,11 @@ settings.video.seed = Graine
|
|
|
1394
1395
|
settings.video.seed.desc = Graine aléatoire facultative pour des résultats reproductibles; laisser vide pour aléatoire
|
|
1395
1396
|
settings.vision.capture.auto = Capture automatique
|
|
1396
1397
|
settings.vision.capture.enabled = Caméra
|
|
1397
|
-
settings.vision.capture.height = Hauteur de capture
|
|
1398
|
-
settings.vision.capture.idx =
|
|
1399
|
-
settings.vision.capture.idx.desc =
|
|
1400
|
-
settings.vision.capture.quality = Qualité de capture
|
|
1401
|
-
settings.vision.capture.width = Largeur de capture
|
|
1398
|
+
settings.vision.capture.height = Hauteur de capture (en pixels)
|
|
1399
|
+
settings.vision.capture.idx = Appareil Photo
|
|
1400
|
+
settings.vision.capture.idx.desc = Sélectionnez un appareil photo pour la capture vidéo en temps réel
|
|
1401
|
+
settings.vision.capture.quality = Qualité de capture (%)
|
|
1402
|
+
settings.vision.capture.width = Largeur de capture (en pixels)
|
|
1402
1403
|
settings.zoom = Zoom de la fenêtre de sortie du chat
|
|
1403
1404
|
speech.enable = Parler
|
|
1404
1405
|
speech.listening = Parler maintenant...
|
|
@@ -957,10 +957,10 @@ output.tips.7 = Per prestazioni migliori, disattiva gli strumenti quando usi mod
|
|
|
957
957
|
output.tips.8 = Quando usi modelli locali, ricorda di impostare anche il modello locale per il riassunto del contesto e gli embeddings.
|
|
958
958
|
output.tips.9 = Per configurare i fornitori di input e output audio, vai su Plugin -> Impostazioni. Per configurare i dispositivi audio, vai su Configurazione -> Impostazioni -> Audio.
|
|
959
959
|
output.tips.prefix = Suggerimento
|
|
960
|
-
painter.btn.crop = Ritaglia
|
|
961
960
|
painter.btn.camera.capture = Dalla fotocamera
|
|
962
961
|
painter.btn.capture = Cattura immagine
|
|
963
962
|
painter.btn.clear = Pulire
|
|
963
|
+
painter.btn.crop = Ritaglia
|
|
964
964
|
painter.capture.manual.captured.success = Immagine catturata:
|
|
965
965
|
painter.capture.name.prefix = Disegno da
|
|
966
966
|
painter.mode.erase = Cancellare
|
|
@@ -1364,7 +1364,8 @@ settings.section.remote_tools = Strumenti remoti
|
|
|
1364
1364
|
settings.section.remote_tools.openai = OpenAI
|
|
1365
1365
|
settings.section.tab.general = Generale
|
|
1366
1366
|
settings.section.updates = Aggiornamenti
|
|
1367
|
-
settings.section.vision = Visione
|
|
1367
|
+
settings.section.vision = Visione e fotocamera
|
|
1368
|
+
settings.section.vision.camera = Fotocamera
|
|
1368
1369
|
settings.store_history = Conserva la cronologia
|
|
1369
1370
|
settings.store_history_time = Conserva l'orario nella cronologia
|
|
1370
1371
|
settings.temperature = Temperatura
|
|
@@ -1394,11 +1395,11 @@ settings.video.seed = Seme
|
|
|
1394
1395
|
settings.video.seed.desc = Seme casuale opzionale per risultati riproducibili; lascia vuoto per casuale
|
|
1395
1396
|
settings.vision.capture.auto = Cattura automatica
|
|
1396
1397
|
settings.vision.capture.enabled = Fotocamera
|
|
1397
|
-
settings.vision.capture.height = Altezza cattura
|
|
1398
|
-
settings.vision.capture.idx =
|
|
1399
|
-
settings.vision.capture.idx.desc =
|
|
1400
|
-
settings.vision.capture.quality = Qualità cattura
|
|
1401
|
-
settings.vision.capture.width = Larghezza cattura
|
|
1398
|
+
settings.vision.capture.height = Altezza della cattura (in pixel)
|
|
1399
|
+
settings.vision.capture.idx = Dispositivo Fotocamera
|
|
1400
|
+
settings.vision.capture.idx.desc = Seleziona un dispositivo fotocamera per la cattura video in tempo reale
|
|
1401
|
+
settings.vision.capture.quality = Qualità della cattura (%)
|
|
1402
|
+
settings.vision.capture.width = Larghezza della cattura (in pixel)
|
|
1402
1403
|
settings.zoom = Zoom finestra output chat
|
|
1403
1404
|
speech.enable = Parla
|
|
1404
1405
|
speech.listening = Parla ora...
|
|
@@ -961,10 +961,10 @@ output.tips.7 = Dla lepszej wydajności wyłącz narzędzia podczas korzystania
|
|
|
961
961
|
output.tips.8 = Kiedy korzystasz z lokalnych modeli, pamiętaj o ustawieniu lokalnego modelu dla podsumowania kontekstu i osadzeń.
|
|
962
962
|
output.tips.9 = Aby skonfigurować dostawców wejścia i wyjścia audio, przejdź do Pluginy -> Ustawienia. Aby skonfigurować urządzenia audio, przejdź do Opcje -> Ustawienia -> Audio.
|
|
963
963
|
output.tips.prefix = Tip
|
|
964
|
-
painter.btn.crop = Przytnij
|
|
965
964
|
painter.btn.camera.capture = Z kamery
|
|
966
965
|
painter.btn.capture = Użyj obrazu
|
|
967
966
|
painter.btn.clear = Wyczyść
|
|
967
|
+
painter.btn.crop = Przytnij
|
|
968
968
|
painter.capture.manual.captured.success = Image captured:
|
|
969
969
|
painter.capture.name.prefix = Drawing from
|
|
970
970
|
painter.mode.erase = Gumka
|
|
@@ -1368,7 +1368,8 @@ settings.section.remote_tools = Zdalne narzędzia
|
|
|
1368
1368
|
settings.section.remote_tools.openai = OpenAI
|
|
1369
1369
|
settings.section.tab.general = Ogólne
|
|
1370
1370
|
settings.section.updates = Aktualizacje
|
|
1371
|
-
settings.section.vision = Wizja
|
|
1371
|
+
settings.section.vision = Wizja i kamera
|
|
1372
|
+
settings.section.vision.camera = Kamera
|
|
1372
1373
|
settings.store_history = Zapisuj historię
|
|
1373
1374
|
settings.store_history_time = Zapisuj czas w historii
|
|
1374
1375
|
settings.temperature = Temperatura
|
|
@@ -1398,11 +1399,11 @@ settings.video.seed = Seed
|
|
|
1398
1399
|
settings.video.seed.desc = Optional random seed for reproducible results; leave empty for random
|
|
1399
1400
|
settings.vision.capture.auto = Auto przechwyt.
|
|
1400
1401
|
settings.vision.capture.enabled = Kamera
|
|
1401
|
-
settings.vision.capture.height =
|
|
1402
|
-
settings.vision.capture.idx =
|
|
1403
|
-
settings.vision.capture.idx.desc =
|
|
1404
|
-
settings.vision.capture.quality = Jakość
|
|
1405
|
-
settings.vision.capture.width =
|
|
1402
|
+
settings.vision.capture.height = Wysokość przechwytywania (w pikselach)
|
|
1403
|
+
settings.vision.capture.idx = Urządzenie Kamery
|
|
1404
|
+
settings.vision.capture.idx.desc = Wybierz urządzenie kamery do przechwytywania wideo w czasie rzeczywistym
|
|
1405
|
+
settings.vision.capture.quality = Jakość przechwytywania (%)
|
|
1406
|
+
settings.vision.capture.width = Szerokość przechwytywania (w pikselach)
|
|
1406
1407
|
settings.zoom = Powiększenie okna outputu czatu
|
|
1407
1408
|
speech.enable = Mowa
|
|
1408
1409
|
speech.listening = Mów teraz...
|
|
@@ -957,10 +957,10 @@ output.tips.7 = Для кращої продуктивності відключ
|
|
|
957
957
|
output.tips.8 = При використанні локальних моделей пам’ятайте встановлювати локальну модель також для зведення контексту та вбудовувань.
|
|
958
958
|
output.tips.9 = Щоб налаштувати постачальників вхідних та вихідних аудіосигналів, перейдіть до Плагіни -> Налаштування. Щоб налаштувати аудіопристрої, перейдіть до Конфігурація -> Налаштування -> Аудіо.
|
|
959
959
|
output.tips.prefix = Порада
|
|
960
|
-
painter.btn.crop = Обрізати
|
|
961
960
|
painter.btn.camera.capture = З камери
|
|
962
961
|
painter.btn.capture = Захопити зображення
|
|
963
962
|
painter.btn.clear = Очистити
|
|
963
|
+
painter.btn.crop = Обрізати
|
|
964
964
|
painter.capture.manual.captured.success = Зображення захоплено:
|
|
965
965
|
painter.capture.name.prefix = Малюнок з
|
|
966
966
|
painter.mode.erase = Стерти
|
|
@@ -1364,7 +1364,8 @@ settings.section.remote_tools = Віддалені інструменти
|
|
|
1364
1364
|
settings.section.remote_tools.openai = OpenAI
|
|
1365
1365
|
settings.section.tab.general = Загальні
|
|
1366
1366
|
settings.section.updates = Оновлення
|
|
1367
|
-
settings.section.vision =
|
|
1367
|
+
settings.section.vision = Зір і камера
|
|
1368
|
+
settings.section.vision.camera = Камера
|
|
1368
1369
|
settings.store_history = Зберігати історію
|
|
1369
1370
|
settings.store_history_time = Зберігати час в історії
|
|
1370
1371
|
settings.temperature = Температура
|
|
@@ -1394,11 +1395,11 @@ settings.video.seed = Seed
|
|
|
1394
1395
|
settings.video.seed.desc = Опціональний випадковий seed для відтворюваних результатів; залиште порожнім для випадкового
|
|
1395
1396
|
settings.vision.capture.auto = Автоматичне захоплення
|
|
1396
1397
|
settings.vision.capture.enabled = Камера
|
|
1397
|
-
settings.vision.capture.height = Висота
|
|
1398
|
-
settings.vision.capture.idx =
|
|
1399
|
-
settings.vision.capture.idx.desc =
|
|
1400
|
-
settings.vision.capture.quality = Якість
|
|
1401
|
-
settings.vision.capture.width = Ширина
|
|
1398
|
+
settings.vision.capture.height = Висота зйомки (у пікселях)
|
|
1399
|
+
settings.vision.capture.idx = Пристрій Камери
|
|
1400
|
+
settings.vision.capture.idx.desc = Виберіть пристрій камери для відеозйомки в реальному часі
|
|
1401
|
+
settings.vision.capture.quality = Якість зйомки (%)
|
|
1402
|
+
settings.vision.capture.width = Ширина зйомки (у пікселях)
|
|
1402
1403
|
settings.zoom = Збільшення вікна виводу чату
|
|
1403
1404
|
speech.enable = Говоріть
|
|
1404
1405
|
speech.listening = Говоріть зараз...
|
|
@@ -957,10 +957,10 @@ output.tips.7 = 为更好的性能,当不需要工具时,请在使用本地
|
|
|
957
957
|
output.tips.8 = 在使用本地模型时,记得也为上下文摘要和嵌入设置本地模型。
|
|
958
958
|
output.tips.9 = 要配置音频输入和输出提供商,请转到插件 -> 设置。要配置音频设备,请转到配置 -> 设置 -> 音频。
|
|
959
959
|
output.tips.prefix = 提示
|
|
960
|
-
painter.btn.crop = 裁剪
|
|
961
960
|
painter.btn.camera.capture = 从相机
|
|
962
961
|
painter.btn.capture = 使用图像
|
|
963
962
|
painter.btn.clear = 清除
|
|
963
|
+
painter.btn.crop = 裁剪
|
|
964
964
|
painter.capture.manual.captured.success = 图像已捕获:
|
|
965
965
|
painter.capture.name.prefix = 绘制自
|
|
966
966
|
painter.mode.erase = 擦除
|
|
@@ -1364,7 +1364,8 @@ settings.section.remote_tools = 远程工具
|
|
|
1364
1364
|
settings.section.remote_tools.openai = OpenAI
|
|
1365
1365
|
settings.section.tab.general = 一般設置
|
|
1366
1366
|
settings.section.updates = 更新
|
|
1367
|
-
settings.section.vision =
|
|
1367
|
+
settings.section.vision = 视觉和摄像头
|
|
1368
|
+
settings.section.vision.camera = 摄像头
|
|
1368
1369
|
settings.store_history = 存儲歷史記錄
|
|
1369
1370
|
settings.store_history_time = 在歷史記錄中存儲時間
|
|
1370
1371
|
settings.temperature = 溫度
|
|
@@ -1394,11 +1395,11 @@ settings.video.seed = 随机种子
|
|
|
1394
1395
|
settings.video.seed.desc = 可选的随机种子以获得可重复的结果;留空为随机
|
|
1395
1396
|
settings.vision.capture.auto = 自动捕获
|
|
1396
1397
|
settings.vision.capture.enabled = 相机
|
|
1397
|
-
settings.vision.capture.height =
|
|
1398
|
-
settings.vision.capture.idx =
|
|
1399
|
-
settings.vision.capture.idx.desc =
|
|
1400
|
-
settings.vision.capture.quality =
|
|
1401
|
-
settings.vision.capture.width =
|
|
1398
|
+
settings.vision.capture.height = 拍摄高度(像素)
|
|
1399
|
+
settings.vision.capture.idx = 摄像设备
|
|
1400
|
+
settings.vision.capture.idx.desc = 选择实时视频捕捉的摄像设备
|
|
1401
|
+
settings.vision.capture.quality = 拍摄质量(%)
|
|
1402
|
+
settings.vision.capture.width = 拍摄宽度(像素)
|
|
1402
1403
|
settings.zoom = 聊天输出窗口缩放
|
|
1403
1404
|
speech.enable = 启用语音
|
|
1404
1405
|
speech.listening = 现在说话...
|
pygpt_net/item/assistant.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.09.02 22:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import json
|
|
@@ -271,6 +271,18 @@ class AssistantStoreItem:
|
|
|
271
271
|
self.expire_days = data.get('expire_days', 0)
|
|
272
272
|
self.status = data.get('status', {})
|
|
273
273
|
|
|
274
|
+
def get_file_count(self):
|
|
275
|
+
"""
|
|
276
|
+
Return number of files in store
|
|
277
|
+
|
|
278
|
+
:return: number of files
|
|
279
|
+
"""
|
|
280
|
+
num = self.num_files
|
|
281
|
+
if self.status and isinstance(self.status, dict) and 'file_counts' in self.status:
|
|
282
|
+
if 'completed' in self.status['file_counts']:
|
|
283
|
+
num = int(self.status['file_counts']['completed'] or 0)
|
|
284
|
+
return num
|
|
285
|
+
|
|
274
286
|
def dump(self) -> str:
|
|
275
287
|
"""
|
|
276
288
|
Dump item to string
|
|
@@ -69,32 +69,12 @@ class ApiGoogle:
|
|
|
69
69
|
model = ModelItem()
|
|
70
70
|
model.provider = "google"
|
|
71
71
|
args = self.window.core.models.prepare_client_args(mode, model)
|
|
72
|
-
config = self.window.core.config
|
|
73
|
-
|
|
74
72
|
filtered = {}
|
|
75
73
|
if args.get("api_key"):
|
|
76
74
|
filtered["api_key"] = args["api_key"]
|
|
77
75
|
|
|
78
|
-
# setup VertexAI
|
|
79
|
-
use_vertex =
|
|
80
|
-
if config.get("api_native_google.use_vertex", False):
|
|
81
|
-
use_vertex = True
|
|
82
|
-
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "1"
|
|
83
|
-
os.environ["GOOGLE_CLOUD_PROJECT"] = config.get("api_native_google.cloud_project", "")
|
|
84
|
-
os.environ["GOOGLE_CLOUD_LOCATION"] = config.get("api_native_google.cloud_location", "us-central1")
|
|
85
|
-
if config.get("api_native_google.app_credentials", ""):
|
|
86
|
-
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = config.get("api_native_google.app_credentials", "")
|
|
87
|
-
else:
|
|
88
|
-
if os.environ.get("GOOGLE_GENAI_USE_VERTEXAI"):
|
|
89
|
-
del os.environ["GOOGLE_GENAI_USE_VERTEXAI"]
|
|
90
|
-
if os.environ.get("GOOGLE_CLOUD_PROJECT"):
|
|
91
|
-
del os.environ["GOOGLE_CLOUD_PROJECT"]
|
|
92
|
-
if os.environ.get("GOOGLE_CLOUD_LOCATION"):
|
|
93
|
-
del os.environ["GOOGLE_CLOUD_LOCATION"]
|
|
94
|
-
if os.environ.get("GOOGLE_APPLICATION_CREDENTIALS"):
|
|
95
|
-
del os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
|
|
96
|
-
|
|
97
|
-
# append VertexAI params to client args
|
|
76
|
+
# setup VertexAI if enabled
|
|
77
|
+
use_vertex = self.setup_env()
|
|
98
78
|
if use_vertex:
|
|
99
79
|
filtered["vertexai"] = True
|
|
100
80
|
filtered["project"] = os.environ.get("GOOGLE_CLOUD_PROJECT")
|
|
@@ -104,7 +84,6 @@ class ApiGoogle:
|
|
|
104
84
|
if self.client is None or self.last_client_args != filtered:
|
|
105
85
|
self.client = genai.Client(**filtered)
|
|
106
86
|
self.last_client_args = filtered
|
|
107
|
-
|
|
108
87
|
return self.client
|
|
109
88
|
|
|
110
89
|
def call(
|
|
@@ -313,6 +292,36 @@ class ApiGoogle:
|
|
|
313
292
|
|
|
314
293
|
return tools
|
|
315
294
|
|
|
295
|
+
def setup_env(self) -> bool:
|
|
296
|
+
"""
|
|
297
|
+
Setup environment variables for VertexAI via Google GenAI API
|
|
298
|
+
|
|
299
|
+
- GOOGLE_GENAI_USE_VERTEXAI
|
|
300
|
+
- GOOGLE_CLOUD_PROJECT
|
|
301
|
+
- GOOGLE_CLOUD_LOCATION
|
|
302
|
+
- GOOGLE_APPLICATION_CREDENTIALS
|
|
303
|
+
|
|
304
|
+
:return: bool: True if VertexAI is used, False otherwise
|
|
305
|
+
"""
|
|
306
|
+
config = self.window.core.config
|
|
307
|
+
use_vertex = False
|
|
308
|
+
if config.get("api_native_google.use_vertex", False):
|
|
309
|
+
use_vertex = True
|
|
310
|
+
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "1"
|
|
311
|
+
os.environ["GOOGLE_CLOUD_PROJECT"] = config.get("api_native_google.cloud_project", "")
|
|
312
|
+
os.environ["GOOGLE_CLOUD_LOCATION"] = config.get("api_native_google.cloud_location", "us-central1")
|
|
313
|
+
if config.get("api_native_google.app_credentials", ""):
|
|
314
|
+
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = config.get("api_native_google.app_credentials", "")
|
|
315
|
+
else:
|
|
316
|
+
if os.environ.get("GOOGLE_GENAI_USE_VERTEXAI"):
|
|
317
|
+
del os.environ["GOOGLE_GENAI_USE_VERTEXAI"]
|
|
318
|
+
if os.environ.get("GOOGLE_CLOUD_PROJECT"):
|
|
319
|
+
del os.environ["GOOGLE_CLOUD_PROJECT"]
|
|
320
|
+
if os.environ.get("GOOGLE_CLOUD_LOCATION"):
|
|
321
|
+
del os.environ["GOOGLE_CLOUD_LOCATION"]
|
|
322
|
+
if os.environ.get("GOOGLE_APPLICATION_CREDENTIALS"):
|
|
323
|
+
del os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
|
|
324
|
+
return use_vertex
|
|
316
325
|
|
|
317
326
|
def stop(self):
|
|
318
327
|
"""On global event stop"""
|
|
@@ -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.09.02 22:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import os
|
|
@@ -175,6 +175,50 @@ class Store:
|
|
|
175
175
|
self.log(msg, callback)
|
|
176
176
|
return num
|
|
177
177
|
|
|
178
|
+
def remove_file(
|
|
179
|
+
self,
|
|
180
|
+
file_id: str,
|
|
181
|
+
callback: Optional[callable] = None
|
|
182
|
+
) -> bool:
|
|
183
|
+
"""
|
|
184
|
+
Remove a single file using the Files API.
|
|
185
|
+
|
|
186
|
+
:param file_id: file ID
|
|
187
|
+
:param callback: callback function for logging
|
|
188
|
+
:return: True if removed
|
|
189
|
+
"""
|
|
190
|
+
self.log("Removing file: " + file_id, callback)
|
|
191
|
+
try:
|
|
192
|
+
res = self.delete_file(file_id)
|
|
193
|
+
return res is not None
|
|
194
|
+
except Exception as e:
|
|
195
|
+
msg = "Error removing file {}: {}".format(file_id, str(e))
|
|
196
|
+
self.log(msg, callback)
|
|
197
|
+
raise
|
|
198
|
+
|
|
199
|
+
def remove_store_file(
|
|
200
|
+
self,
|
|
201
|
+
store_id: str,
|
|
202
|
+
file_id: str,
|
|
203
|
+
callback: Optional[callable] = None
|
|
204
|
+
) -> bool:
|
|
205
|
+
"""
|
|
206
|
+
Remove a single file from a specific vector store.
|
|
207
|
+
|
|
208
|
+
:param store_id: store ID
|
|
209
|
+
:param file_id: file ID
|
|
210
|
+
:param callback: callback function for logging
|
|
211
|
+
:return: True if removed
|
|
212
|
+
"""
|
|
213
|
+
self.log("Removing file from vector store [{}]: {}".format(store_id, file_id), callback)
|
|
214
|
+
try:
|
|
215
|
+
res = self.delete_store_file(store_id, file_id)
|
|
216
|
+
return res is not None
|
|
217
|
+
except Exception as e:
|
|
218
|
+
msg = "Error removing file {} from store {}: {}".format(file_id, store_id, str(e))
|
|
219
|
+
self.log(msg, callback)
|
|
220
|
+
raise
|
|
221
|
+
|
|
178
222
|
def remove_store_files(
|
|
179
223
|
self,
|
|
180
224
|
store_id: str,
|
|
@@ -55,6 +55,8 @@ class GoogleLLM(BaseLLM):
|
|
|
55
55
|
args["model"] = model.id
|
|
56
56
|
if "api_key" not in args or args["api_key"] == "":
|
|
57
57
|
args["api_key"] = window.core.config.get("api_key_google", "")
|
|
58
|
+
|
|
59
|
+
window.core.api.google.setup_env() # setup VertexAI if configured
|
|
58
60
|
return GoogleGenAI(**args)
|
|
59
61
|
|
|
60
62
|
def get_embeddings_model(
|
|
@@ -79,6 +81,8 @@ class GoogleLLM(BaseLLM):
|
|
|
79
81
|
args["api_key"] = window.core.config.get("api_key_google", "")
|
|
80
82
|
if "model" in args and "model_name" not in args:
|
|
81
83
|
args["model_name"] = args.pop("model")
|
|
84
|
+
|
|
85
|
+
window.core.api.google.setup_env() # setup VertexAI if configured
|
|
82
86
|
return GoogleGenAIEmbedding(**args)
|
|
83
87
|
|
|
84
88
|
def get_models(
|