pygpt-net 2.6.31__py3-none-any.whl → 2.6.32__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/app.py +3 -1
- pygpt_net/app_core.py +3 -1
- pygpt_net/config.py +3 -1
- pygpt_net/controller/__init__.py +5 -1
- pygpt_net/controller/audio/audio.py +13 -0
- pygpt_net/controller/chat/common.py +18 -83
- pygpt_net/controller/lang/custom.py +2 -2
- pygpt_net/controller/media/__init__.py +12 -0
- pygpt_net/controller/media/media.py +115 -0
- pygpt_net/controller/realtime/realtime.py +27 -2
- pygpt_net/controller/ui/mode.py +16 -2
- pygpt_net/core/audio/backend/pyaudio/realtime.py +51 -14
- pygpt_net/core/audio/output.py +3 -2
- pygpt_net/core/image/image.py +6 -5
- pygpt_net/core/realtime/worker.py +1 -5
- pygpt_net/core/render/web/body.py +24 -3
- pygpt_net/core/text/utils.py +54 -2
- pygpt_net/core/types/image.py +7 -1
- pygpt_net/core/video/__init__.py +12 -0
- pygpt_net/core/video/video.py +290 -0
- pygpt_net/data/config/config.json +19 -4
- pygpt_net/data/config/models.json +75 -3
- pygpt_net/data/config/settings.json +194 -6
- pygpt_net/data/css/web-blocks.css +6 -0
- pygpt_net/data/css/web-chatgpt.css +6 -0
- pygpt_net/data/css/web-chatgpt_wide.css +6 -0
- pygpt_net/data/locale/locale.de.ini +30 -2
- pygpt_net/data/locale/locale.en.ini +40 -7
- pygpt_net/data/locale/locale.es.ini +30 -2
- pygpt_net/data/locale/locale.fr.ini +30 -2
- pygpt_net/data/locale/locale.it.ini +30 -2
- pygpt_net/data/locale/locale.pl.ini +33 -2
- pygpt_net/data/locale/locale.uk.ini +30 -2
- pygpt_net/data/locale/locale.zh.ini +30 -2
- pygpt_net/data/locale/plugin.cmd_web.en.ini +8 -0
- pygpt_net/item/model.py +22 -1
- pygpt_net/provider/api/google/__init__.py +38 -2
- pygpt_net/provider/api/google/video.py +364 -0
- pygpt_net/provider/api/openai/realtime/realtime.py +1 -2
- pygpt_net/provider/core/config/patch.py +226 -178
- pygpt_net/provider/core/model/patch.py +17 -2
- pygpt_net/provider/web/duckduck_search.py +212 -0
- pygpt_net/ui/layout/toolbox/audio.py +55 -0
- pygpt_net/ui/layout/toolbox/footer.py +14 -58
- pygpt_net/ui/layout/toolbox/image.py +3 -14
- pygpt_net/ui/layout/toolbox/raw.py +52 -0
- pygpt_net/ui/layout/toolbox/split.py +48 -0
- pygpt_net/ui/layout/toolbox/toolbox.py +8 -8
- pygpt_net/ui/layout/toolbox/video.py +49 -0
- {pygpt_net-2.6.31.dist-info → pygpt_net-2.6.32.dist-info}/METADATA +23 -11
- {pygpt_net-2.6.31.dist-info → pygpt_net-2.6.32.dist-info}/RECORD +56 -46
- {pygpt_net-2.6.31.dist-info → pygpt_net-2.6.32.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.31.dist-info → pygpt_net-2.6.32.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.31.dist-info → pygpt_net-2.6.32.dist-info}/entry_points.txt +0 -0
|
@@ -191,6 +191,7 @@ attachments_uploaded.tab = File caricati
|
|
|
191
191
|
audio.cache.clear.confirm = Sei sicuro di voler eliminare tutti i file audio memorizzati nella cache?
|
|
192
192
|
audio.cache.clear.success = OK. Tutti i file della cache audio sono stati cancellati.
|
|
193
193
|
audio.control.btn = Controllo vocale
|
|
194
|
+
audio.loop = Ciclo
|
|
194
195
|
audio.magic_word.detected = Parola magica rilevata!
|
|
195
196
|
audio.magic_word.invalid = Non è una parola magica :(
|
|
196
197
|
audio.magic_word.please = Per favore, parola magica...
|
|
@@ -854,7 +855,7 @@ mode.computer = Uso del computer
|
|
|
854
855
|
mode.computer.tooltip = Uso del computer (mouse, tastiera, navigazione)
|
|
855
856
|
mode.expert = Esperti (cooperazione)
|
|
856
857
|
mode.expert.tooltip = Chiamare esperti in background
|
|
857
|
-
mode.img = Immagine
|
|
858
|
+
mode.img = Immagine e video
|
|
858
859
|
mode.img.tooltip = Generazione immagini con DALL-E
|
|
859
860
|
mode.langchain = Langchain
|
|
860
861
|
mode.langchain.tooltip = Chattare con modelli forniti da Langchain
|
|
@@ -1127,6 +1128,8 @@ settings.audio.input.stop_interval.desc = Intervallo in secondi per la trascrizi
|
|
|
1127
1128
|
settings.audio.input.timeout = Timeout di registrazione
|
|
1128
1129
|
settings.audio.input.timeout.continuous = Abilita timeout in modalità continua
|
|
1129
1130
|
settings.audio.input.timeout.desc = Timeout (secondi) per l'arresto automatico della registrazione, 0 per disabilitare, predefinito: 120
|
|
1131
|
+
settings.audio.input.vad.prefix = Padding prefisso VAD (in ms)
|
|
1132
|
+
settings.audio.input.vad.silence = Silenzio finale VAD (in ms)
|
|
1130
1133
|
settings.audio.output.backend = Backend per l'uscita audio
|
|
1131
1134
|
settings.audio.output.backend.desc = Seleziona il backend per l'uscita audio.
|
|
1132
1135
|
settings.audio.output.device = Dispositivo per l'uscita audio
|
|
@@ -1198,6 +1201,7 @@ settings.func_call.native = Usa chiamate di funzione API native
|
|
|
1198
1201
|
settings.func_call.native.desc = Se abilitato, l'applicazione utilizzerà le chiamate di funzione API native invece del formato interno pygpt e i prompt di comando di seguito non saranno utilizzati. Solo modalità chat e assistenti.
|
|
1199
1202
|
settings.img_dialog_open = Apri la finestra di dialogo dell'immagine dopo la generazione (Modalità immagine)
|
|
1200
1203
|
settings.img_prompt_model = Modello di generazione del prompt
|
|
1204
|
+
settings.img_prompt_model.desc = LLM utilizzato per affinare il tuo prompt prima della generazione di immagini (non il modello di immagini)
|
|
1201
1205
|
settings.img_quality = Qualità dell'immagine
|
|
1202
1206
|
settings.img_resolution = Dimensione dell'immagine
|
|
1203
1207
|
settings.layout.animation.disable = Disabilita animazioni
|
|
@@ -1296,6 +1300,8 @@ settings.prompt.expert = Esperto: Master prompt
|
|
|
1296
1300
|
settings.prompt.expert.desc = Istruzione (prompt del sistema) per l'esperto Master su come gestire gli esperti subalterni. Le istruzioni per gli esperti subalterni sono date dalle loro preimpostazioni.
|
|
1297
1301
|
settings.prompt.img = Generazione immagine
|
|
1298
1302
|
settings.prompt.img.desc = Prompt per generare comandi per DALL-E (se la modalità grezza è disabilitata). Solo modalità immagine.
|
|
1303
|
+
settings.prompt.video = Generazione video
|
|
1304
|
+
settings.prompt.video.desc = Prompt per generare prompt per il modello video (se la modalità raw è disattivata). Solo modalità Immagine/Video.
|
|
1299
1305
|
settings.remote_tools.code_interpreter = Interprete del codice
|
|
1300
1306
|
settings.remote_tools.code_interpreter.desc = Abilita l'attrezzo remoto `code_interpreter` in modalità Chat / tramite API delle Risposte di OpenAI.
|
|
1301
1307
|
settings.remote_tools.file_search = File search
|
|
@@ -1339,7 +1345,9 @@ settings.section.ctx = Contesto
|
|
|
1339
1345
|
settings.section.debug = Debug
|
|
1340
1346
|
settings.section.files = File e allegati
|
|
1341
1347
|
settings.section.general = Generale
|
|
1342
|
-
settings.section.images = Immagini
|
|
1348
|
+
settings.section.images = Immagini e video
|
|
1349
|
+
settings.section.images.image = Immagine
|
|
1350
|
+
settings.section.images.video = Video
|
|
1343
1351
|
settings.section.layout = Layout
|
|
1344
1352
|
settings.section.llama_index = Indici / LlamaIndex
|
|
1345
1353
|
settings.section.llama-index.chat = Chat
|
|
@@ -1367,6 +1375,22 @@ settings.upload.data_dir.desc = Abilita per memorizzare tutto in una singola dir
|
|
|
1367
1375
|
settings.upload.store = Conserva gli allegati nella cartella di upload del workdir
|
|
1368
1376
|
settings.upload.store.desc = Abilita la conservazione di una copia locale degli allegati caricati per un uso futuro
|
|
1369
1377
|
settings.use_context = Usa contesto (memoria)
|
|
1378
|
+
settings.video.aspect_ratio = Rapporto d'aspetto
|
|
1379
|
+
settings.video.aspect_ratio.desc = Rapporto d'aspetto del fotogramma (es. 16:9, 9:16, 1:1); la disponibilità dipende dal modello selezionato
|
|
1380
|
+
settings.video.duration = Durata video
|
|
1381
|
+
settings.video.duration.desc = Lunghezza della clip in secondi; i limiti possono variare in base al modello
|
|
1382
|
+
settings.video.fps = FPS
|
|
1383
|
+
settings.video.fps.desc = Fotogrammi al secondo (es. 24, 25, 30); può essere arrotondato o ignorato dal modello
|
|
1384
|
+
settings.video.generate_audio = Genera audio
|
|
1385
|
+
settings.video.generate_audio.desc = Include audio di sottofondo sintetizzato se supportato dal modello
|
|
1386
|
+
settings.video.negative_prompt = Prompt negativo
|
|
1387
|
+
settings.video.negative_prompt.desc = Parole o frasi da evitare nel risultato (separate da virgole)
|
|
1388
|
+
settings.video.prompt_model = Modello di miglioramento del prompt
|
|
1389
|
+
settings.video.prompt_model.desc = LLM utilizzato per affinare il tuo prompt prima della generazione video (non il modello video)
|
|
1390
|
+
settings.video.resolution = Risoluzione video
|
|
1391
|
+
settings.video.resolution.desc = Risoluzione di uscita target (es. 720p, 1080p); la disponibilità dipende dal modello
|
|
1392
|
+
settings.video.seed = Seme
|
|
1393
|
+
settings.video.seed.desc = Seme casuale opzionale per risultati riproducibili; lascia vuoto per casuale
|
|
1370
1394
|
settings.vision.capture.auto = Cattura automatica
|
|
1371
1395
|
settings.vision.capture.enabled = Fotocamera
|
|
1372
1396
|
settings.vision.capture.height = Altezza cattura fotocamera (px)
|
|
@@ -1526,6 +1550,10 @@ updater.check.launch = Controlla all'avvio
|
|
|
1526
1550
|
update.released = build
|
|
1527
1551
|
update.snap = Vai allo Snap Store
|
|
1528
1552
|
update.title = Controllo degli aggiornamenti
|
|
1553
|
+
vid.status.downloading = Download del video... si prega di attendere...
|
|
1554
|
+
vid.status.generating = Generazione video da
|
|
1555
|
+
vid.status.prompt.error = Si è verificato un errore nel prompt di miglioramento
|
|
1556
|
+
vid.status.prompt.wait = Preparazione del prompt... si prega di attendere...
|
|
1529
1557
|
vision.capture.auto = Cattura automatica
|
|
1530
1558
|
vision.capture.auto.click = La cattura automatica è abilitata!
|
|
1531
1559
|
vision.capture.auto.label = Cattura automatica abilitata
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
[LOCALE]
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
2
5
|
about.btn.github = GitHub
|
|
3
6
|
about.btn.support = Wsparcie
|
|
4
7
|
about.btn.website = WWW
|
|
@@ -191,6 +194,7 @@ attachments_uploaded.tab = Wgrane pliki
|
|
|
191
194
|
audio.cache.clear.confirm = Czy na pewno chcesz usunąć wszystkie pliki w pamięci podręcznej audio?
|
|
192
195
|
audio.cache.clear.success = OK. Wszystkie pliki pamięci podręcznej audio zostały wyczyszczone.
|
|
193
196
|
audio.control.btn = Kontrola głosowa
|
|
197
|
+
audio.loop = Pętla
|
|
194
198
|
audio.magic_word.detected = Wykryto magiczne słowo!
|
|
195
199
|
audio.magic_word.invalid = To nie magiczne słowo :(
|
|
196
200
|
audio.magic_word.please = Podaj magiczne słowo...
|
|
@@ -855,7 +859,7 @@ mode.computer = Kontrola komputera
|
|
|
855
859
|
mode.computer.tooltip = Kontrola komputera (mysz, klawiatura)
|
|
856
860
|
mode.expert = Eksperci (współpraca)
|
|
857
861
|
mode.expert.tooltip = Eksperci do wezwania w tle
|
|
858
|
-
mode.img = Obraz
|
|
862
|
+
mode.img = Obraz i wideo
|
|
859
863
|
mode.img.tooltip = Generowanie obrazów przy użyciu DALL-E
|
|
860
864
|
mode.langchain = Langchain
|
|
861
865
|
mode.langchain.tooltip = Czat z modelami dostarczonymi przez Langchain
|
|
@@ -1128,6 +1132,8 @@ settings.audio.input.stop_interval.desc = Interwał w sekundach dla automatyczne
|
|
|
1128
1132
|
settings.audio.input.timeout = Limit czasu nagrywania
|
|
1129
1133
|
settings.audio.input.timeout.continuous = Włącz limit czasu w trybie ciągłym
|
|
1130
1134
|
settings.audio.input.timeout.desc = Limit czasu (w sekundach) dla automatycznego zatrzymania nagrywania, 0 aby wyłączyć, domyślnie: 120
|
|
1135
|
+
settings.audio.input.vad.prefix = VAD prefix padding (in ms)
|
|
1136
|
+
settings.audio.input.vad.silence = VAD end silence (in ms)
|
|
1131
1137
|
settings.audio.output.backend = Backend dla wyjścia audio
|
|
1132
1138
|
settings.audio.output.backend.desc = Wybierz backend dla wyjścia audio.
|
|
1133
1139
|
settings.audio.output.device = Urządzenie do wyjścia audio
|
|
@@ -1199,6 +1205,7 @@ settings.func_call.native = Używaj natywnych wywołań funkcji API
|
|
|
1199
1205
|
settings.func_call.native.desc = Jeśli włączone, aplikacja będzie używać natywnych wywołań funkcji API zamiast wewnętrznego formatu pygpt i poniższych promptów poleceń. Tylko tryby czatu i asystentów.
|
|
1200
1206
|
settings.img_dialog_open = Otwórz okno dialogowe obrazu po wygenerowaniu (Tryb obrazu)
|
|
1201
1207
|
settings.img_prompt_model = Model do generowania promptów
|
|
1208
|
+
settings.img_prompt_model.desc = LLM used to refine your prompt before image generation (not the image model)
|
|
1202
1209
|
settings.img_quality = Jakość obrazu
|
|
1203
1210
|
settings.img_resolution = Rozmiar obrazu
|
|
1204
1211
|
settings.layout.animation.disable = Wyłącz animacje
|
|
@@ -1297,6 +1304,8 @@ settings.prompt.expert = Ekspert: Główna wskazówka
|
|
|
1297
1304
|
settings.prompt.expert.desc = Instrukcja (systemowa wskazówka) dla głównego eksperta, jak obsługiwać ekspertów pomocniczych. Instrukcje dla ekspertów pomocniczych są podawane z ich ustawień.
|
|
1298
1305
|
settings.prompt.img = Generowanie obrazu
|
|
1299
1306
|
settings.prompt.img.desc = Prompt do generowania poleceń dla DALL-E (jeśli surowy tryb jest wyłączony). Tylko tryb obrazu.
|
|
1307
|
+
settings.prompt.video = Video generation
|
|
1308
|
+
settings.prompt.video.desc = Prompt for generating prompts for video model (if raw-mode is disabled). Image / Videos mode only.
|
|
1300
1309
|
settings.remote_tools.code_interpreter = Interpreter kodu
|
|
1301
1310
|
settings.remote_tools.code_interpreter.desc = Włącz narzędzie `code_interpreter` w trybie Czat / za pośrednictwem OpenAI Responses API.
|
|
1302
1311
|
settings.remote_tools.file_search = File search
|
|
@@ -1340,7 +1349,9 @@ settings.section.ctx = Kontekst
|
|
|
1340
1349
|
settings.section.debug = Debugowanie
|
|
1341
1350
|
settings.section.files = Pliki i załączniki
|
|
1342
1351
|
settings.section.general = Ogólne
|
|
1343
|
-
settings.section.images = Obrazy
|
|
1352
|
+
settings.section.images = Obrazy i wideo
|
|
1353
|
+
settings.section.images.image = Image
|
|
1354
|
+
settings.section.images.video = Video
|
|
1344
1355
|
settings.section.layout = Wygląd
|
|
1345
1356
|
settings.section.llama_index = Indeksy / LlamaIndex
|
|
1346
1357
|
settings.section.llama-index.chat = Czat
|
|
@@ -1368,6 +1379,22 @@ settings.upload.data_dir.desc = Włącz, aby przechowywać wszystko w jednym kat
|
|
|
1368
1379
|
settings.upload.store = Przechowuj załączniki w katalogu upload w katalogu roboczym
|
|
1369
1380
|
settings.upload.store.desc = Włącz przechowywanie lokalnej kopii przesłanych załączników do przyszłego użytku
|
|
1370
1381
|
settings.use_context = Włącz kontekst (pamięć)
|
|
1382
|
+
settings.video.aspect_ratio = Aspect ratio
|
|
1383
|
+
settings.video.aspect_ratio.desc = Frame aspect ratio (e.g., 16:9, 9:16, 1:1); availability depends on the selected model
|
|
1384
|
+
settings.video.duration = Video duration
|
|
1385
|
+
settings.video.duration.desc = Clip length in seconds; limits may vary by model
|
|
1386
|
+
settings.video.fps = FPS
|
|
1387
|
+
settings.video.fps.desc = Frames per second (e.g., 24, 25, 30); may be rounded or ignored by the model
|
|
1388
|
+
settings.video.generate_audio = Generate audio
|
|
1389
|
+
settings.video.generate_audio.desc = Include synthesized background audio if supported by the model
|
|
1390
|
+
settings.video.negative_prompt = Negative prompt
|
|
1391
|
+
settings.video.negative_prompt.desc = Words or phrases to avoid in the output (comma-separated)
|
|
1392
|
+
settings.video.prompt_model = Prompt enhancement model
|
|
1393
|
+
settings.video.prompt_model.desc = LLM used to refine your prompt before video generation (not the video model)
|
|
1394
|
+
settings.video.resolution = Video resolution
|
|
1395
|
+
settings.video.resolution.desc = Target output resolution (e.g., 720p, 1080p); availability depends on the model
|
|
1396
|
+
settings.video.seed = Seed
|
|
1397
|
+
settings.video.seed.desc = Optional random seed for reproducible results; leave empty for random
|
|
1371
1398
|
settings.vision.capture.auto = Auto przechwyt.
|
|
1372
1399
|
settings.vision.capture.enabled = Kamera
|
|
1373
1400
|
settings.vision.capture.height = Kamera - obraz szerokość (px)
|
|
@@ -1527,6 +1554,10 @@ updater.check.launch = Sprawdzaj przy uruchamianiu
|
|
|
1527
1554
|
update.released = wydanie
|
|
1528
1555
|
update.snap = Pobierz ze Snap Store
|
|
1529
1556
|
update.title = Sprawdzanie dostępności aktualizacji
|
|
1557
|
+
vid.status.downloading = Downloading video... please wait...
|
|
1558
|
+
vid.status.generating = Generating video from
|
|
1559
|
+
vid.status.prompt.error = Enhancement prompt error occured
|
|
1560
|
+
vid.status.prompt.wait = Preparing prompt... please wait...
|
|
1530
1561
|
vision.capture.auto = Auto przechwyt.
|
|
1531
1562
|
vision.capture.auto.click = Auto przechwyt. jest włączone!
|
|
1532
1563
|
vision.capture.auto.label = Auto przechwytywanie wł.
|
|
@@ -191,6 +191,7 @@ attachments_uploaded.tab = Завантажені файли
|
|
|
191
191
|
audio.cache.clear.confirm = Ви впевнені, що хочете видалити всі кешовані аудіофайли?
|
|
192
192
|
audio.cache.clear.success = OK. Усі файли аудіокешу очищено.
|
|
193
193
|
audio.control.btn = Керування голосом
|
|
194
|
+
audio.loop = Петля
|
|
194
195
|
audio.magic_word.detected = Магічне слово виявлено!
|
|
195
196
|
audio.magic_word.invalid = Не магічне слово :(
|
|
196
197
|
audio.magic_word.please = Магічне слово, будь ласка...
|
|
@@ -854,7 +855,7 @@ mode.computer = Використання комп'ютера
|
|
|
854
855
|
mode.computer.tooltip = Використання комп'ютера (миша, клавіатура, навігація)
|
|
855
856
|
mode.expert = Експерти (співпраця)
|
|
856
857
|
mode.expert.tooltip = Виклик експертів на задній план
|
|
857
|
-
mode.img = Зображення
|
|
858
|
+
mode.img = Зображення та відео
|
|
858
859
|
mode.img.tooltip = Генерація зображень за допомогою DALL-E
|
|
859
860
|
mode.langchain = Langchain
|
|
860
861
|
mode.langchain.tooltip = Чат з моделями, наданими Langchain
|
|
@@ -1127,6 +1128,8 @@ settings.audio.input.stop_interval.desc = Інтервал у секундах
|
|
|
1127
1128
|
settings.audio.input.timeout = Тайм-аут запису
|
|
1128
1129
|
settings.audio.input.timeout.continuous = Увімкнути тайм-аут у безперервному режимі
|
|
1129
1130
|
settings.audio.input.timeout.desc = Тайм-аут (в секундах) для автоматичної зупинки запису, 0 для відключення, за замовчуванням: 120
|
|
1131
|
+
settings.audio.input.vad.prefix = Заповнення префікса VAD (в мс)
|
|
1132
|
+
settings.audio.input.vad.silence = Кінцева тиша VAD (в мс)
|
|
1130
1133
|
settings.audio.output.backend = Бекенд для аудіовиходу
|
|
1131
1134
|
settings.audio.output.backend.desc = Виберіть бекенд для аудіовиходу.
|
|
1132
1135
|
settings.audio.output.device = Пристрій для аудіовиходу
|
|
@@ -1198,6 +1201,7 @@ settings.func_call.native = Використовувати рідні викли
|
|
|
1198
1201
|
settings.func_call.native.desc = Якщо увімкнено, програма буде використовувати рідні виклики функцій API замість внутрішнього формату pygpt і нижченаведених запитів команд не використовуватимуться. Лише режими чату та асистентів.
|
|
1199
1202
|
settings.img_dialog_open = Відкрити діалогове вікно зображення після генерації (Режим зображення)
|
|
1200
1203
|
settings.img_prompt_model = Модель Генерації Запиту
|
|
1204
|
+
settings.img_prompt_model.desc = LLM, що використовується для уточнення вашого запиту перед генерацією зображень (не модель зображень)
|
|
1201
1205
|
settings.img_quality = Якість Зображення
|
|
1202
1206
|
settings.img_resolution = Розмір Зображення
|
|
1203
1207
|
settings.layout.animation.disable = Вимкнути анімації
|
|
@@ -1296,6 +1300,8 @@ settings.prompt.expert = Експерт: Основний запит
|
|
|
1296
1300
|
settings.prompt.expert.desc = Інструкція (системний запит) для ведучого експерта, як керувати підеекспертами. Інструкції для підеекспертів даються з їхніх налаштувань.
|
|
1297
1301
|
settings.prompt.img = Генерація зображення
|
|
1298
1302
|
settings.prompt.img.desc = Підказка для генерації команддля DALL-E (якщо вимкнено сирівний режим). Тільки режим зображення.
|
|
1303
|
+
settings.prompt.video = Генерація відео
|
|
1304
|
+
settings.prompt.video.desc = Запит для генерації запитів для відеомоделі (якщо режим без обробки вимкнено). Тільки режим Зображення/Відео.
|
|
1299
1305
|
settings.remote_tools.code_interpreter = Інтерпретатор коду
|
|
1300
1306
|
settings.remote_tools.code_interpreter.desc = Увімкніть віддалений інструмент `code_interpreter` у режимі Чат / через Responses API OpenAI.
|
|
1301
1307
|
settings.remote_tools.file_search = File search
|
|
@@ -1339,7 +1345,9 @@ settings.section.ctx = Контекст
|
|
|
1339
1345
|
settings.section.debug = Налагодження
|
|
1340
1346
|
settings.section.files = Файли та вкладення
|
|
1341
1347
|
settings.section.general = Загальні
|
|
1342
|
-
settings.section.images = Зображення
|
|
1348
|
+
settings.section.images = Зображення і відео
|
|
1349
|
+
settings.section.images.image = Зображення
|
|
1350
|
+
settings.section.images.video = Відео
|
|
1343
1351
|
settings.section.layout = Макет
|
|
1344
1352
|
settings.section.llama_index = Індекси / LlamaIndex
|
|
1345
1353
|
settings.section.llama-index.chat = Чат
|
|
@@ -1367,6 +1375,22 @@ settings.upload.data_dir.desc = Увімкніть, щоб зберігати в
|
|
|
1367
1375
|
settings.upload.store = Зберігати вкладення у директорії завантаження робочого каталогу
|
|
1368
1376
|
settings.upload.store.desc = Увімкнути зберігання локальної копії завантажених вкладень для майбутнього використання
|
|
1369
1377
|
settings.use_context = Використовувати контекст (пам'ять)
|
|
1378
|
+
settings.video.aspect_ratio = Співвідношення сторін
|
|
1379
|
+
settings.video.aspect_ratio.desc = Співвідношення сторін кадру (наприклад, 16:9, 9:16, 1:1); доступність залежить від вибраної моделі
|
|
1380
|
+
settings.video.duration = Тривалість відео
|
|
1381
|
+
settings.video.duration.desc = Довжина кліпу в секундах; межі можуть відрізнятися залежно від моделі
|
|
1382
|
+
settings.video.fps = FPS
|
|
1383
|
+
settings.video.fps.desc = Кількість кадрів на секунду (наприклад, 24, 25, 30); може бути округлена або проігнорована моделлю
|
|
1384
|
+
settings.video.generate_audio = Генерувати аудіо
|
|
1385
|
+
settings.video.generate_audio.desc = Включити синтезоване фонове аудіо, якщо модель його підтримує
|
|
1386
|
+
settings.video.negative_prompt = Негативний запит
|
|
1387
|
+
settings.video.negative_prompt.desc = Слова чи фрази для уникнення в результаті (через кому)
|
|
1388
|
+
settings.video.prompt_model = Модель покращення запиту
|
|
1389
|
+
settings.video.prompt_model.desc = LLM, що використовується для уточнення вашого запиту перед генерацією відео (не відеомодель)
|
|
1390
|
+
settings.video.resolution = Роздільна здатність відео
|
|
1391
|
+
settings.video.resolution.desc = Цільова вихідна роздільна здатність (наприклад, 720p, 1080p); доступність залежить від моделі
|
|
1392
|
+
settings.video.seed = Seed
|
|
1393
|
+
settings.video.seed.desc = Опціональний випадковий seed для відтворюваних результатів; залиште порожнім для випадкового
|
|
1370
1394
|
settings.vision.capture.auto = Автоматичне захоплення
|
|
1371
1395
|
settings.vision.capture.enabled = Камера
|
|
1372
1396
|
settings.vision.capture.height = Висота захоплення з камери (пікселі)
|
|
@@ -1526,6 +1550,10 @@ updater.check.launch = Перевіряти при запуску
|
|
|
1526
1550
|
update.released = збірка
|
|
1527
1551
|
update.snap = Перейти до Snap Store
|
|
1528
1552
|
update.title = Перевірка оновлень
|
|
1553
|
+
vid.status.downloading = Завантаження відео... будь ласка, зачекайте...
|
|
1554
|
+
vid.status.generating = Генерація відео з
|
|
1555
|
+
vid.status.prompt.error = Виникла помилка під час покращення запиту
|
|
1556
|
+
vid.status.prompt.wait = Підготовка запиту... будь ласка, зачекайте...
|
|
1529
1557
|
vision.capture.auto = Автоматичне захоплення
|
|
1530
1558
|
vision.capture.auto.click = Увімкнуто автоматичне захоплення!
|
|
1531
1559
|
vision.capture.auto.label = Автоматичне захоплення увімкнуто
|
|
@@ -191,6 +191,7 @@ attachments_uploaded.tab = 已上傳的文件
|
|
|
191
191
|
audio.cache.clear.confirm = 您确定要删除所有缓存的音频文件吗?
|
|
192
192
|
audio.cache.clear.success = OK. 所有音频缓存文件已清除。
|
|
193
193
|
audio.control.btn = 语音控制
|
|
194
|
+
audio.loop = 循环
|
|
194
195
|
audio.magic_word.detected = 檢測到魔法詞!
|
|
195
196
|
audio.magic_word.invalid = 不是魔法词 :(
|
|
196
197
|
audio.magic_word.please = 请说魔法词...
|
|
@@ -854,7 +855,7 @@ mode.computer = 使用计算机
|
|
|
854
855
|
mode.computer.tooltip = 使用计算机(鼠标、键盘、导航)
|
|
855
856
|
mode.expert = 专家 (合作)
|
|
856
857
|
mode.expert.tooltip = 背景中呼叫专家
|
|
857
|
-
mode.img =
|
|
858
|
+
mode.img = 图像和视频
|
|
858
859
|
mode.img.tooltip = 使用DALL-E生成圖像
|
|
859
860
|
mode.langchain = Langchain模式
|
|
860
861
|
mode.langchain.tooltip = 使用Langchain提供的模型進行聊天
|
|
@@ -1127,6 +1128,8 @@ settings.audio.input.stop_interval.desc = 自动转录音频片段的间隔(
|
|
|
1127
1128
|
settings.audio.input.timeout = 录音超时
|
|
1128
1129
|
settings.audio.input.timeout.continuous = 在连续模式下启用超时
|
|
1129
1130
|
settings.audio.input.timeout.desc = 自动停止录音的超时时间(秒),0为禁用,默认:120
|
|
1131
|
+
settings.audio.input.vad.prefix = VAD 前缀填充(以毫秒为单位)
|
|
1132
|
+
settings.audio.input.vad.silence = VAD 结束静音(以毫秒为单位)
|
|
1130
1133
|
settings.audio.output.backend = 音频输出的后端
|
|
1131
1134
|
settings.audio.output.backend.desc = 选择音频输出的后端。
|
|
1132
1135
|
settings.audio.output.device = 音频输出的设备
|
|
@@ -1198,6 +1201,7 @@ settings.func_call.native = 使用本机 API 函数调用
|
|
|
1198
1201
|
settings.func_call.native.desc = 如果启用,应用程序将使用本机 API 函数调用,而不是内部 pygpt 格式,并且下面的命令提示将不被使用。仅聊天和助手模式。
|
|
1199
1202
|
settings.img_dialog_open = 生成后打开图像对话框(图像模式)
|
|
1200
1203
|
settings.img_prompt_model = DALL-E:提示生成模型
|
|
1204
|
+
settings.img_prompt_model.desc = 用于在图像生成前优化您的提示的LLM(不是图像模型)
|
|
1201
1205
|
settings.img_quality = DALL-E:图像质量
|
|
1202
1206
|
settings.img_resolution = DALL-E:图像尺寸
|
|
1203
1207
|
settings.layout.animation.disable = 禁用动画
|
|
@@ -1296,6 +1300,8 @@ settings.prompt.expert = 专家:主提示
|
|
|
1296
1300
|
settings.prompt.expert.desc = 对主专家如何处理奴隶专家的指令(系统提示)。奴隶专家的指令根据他们的预设给出。
|
|
1297
1301
|
settings.prompt.img = DALL-E:生成图像
|
|
1298
1302
|
settings.prompt.img.desc = 提示用于生成DALL-E的命令(如果原始模式被禁用)。仅图像模式。
|
|
1303
|
+
settings.prompt.video = 视频生成
|
|
1304
|
+
settings.prompt.video.desc = 为视频模型生成提示(如果未禁用原始模式)。仅限图像/视频模式。
|
|
1299
1305
|
settings.remote_tools.code_interpreter = 代码解释器
|
|
1300
1306
|
settings.remote_tools.code_interpreter.desc = 在聊天模式/通过 OpenAI Responses API 启用“code_interpreter”远程工具。
|
|
1301
1307
|
settings.remote_tools.file_search = File search
|
|
@@ -1339,7 +1345,9 @@ settings.section.ctx = 上下文
|
|
|
1339
1345
|
settings.section.debug = 调试
|
|
1340
1346
|
settings.section.files = 文件和附件
|
|
1341
1347
|
settings.section.general = 一般
|
|
1342
|
-
settings.section.images =
|
|
1348
|
+
settings.section.images = 图像和视频
|
|
1349
|
+
settings.section.images.image = 图像
|
|
1350
|
+
settings.section.images.video = 视频
|
|
1343
1351
|
settings.section.layout = 布局
|
|
1344
1352
|
settings.section.llama_index = 索引 / LlamaIndex
|
|
1345
1353
|
settings.section.llama-index.chat = 聊天
|
|
@@ -1367,6 +1375,22 @@ settings.upload.data_dir.desc = 启用以将所有内容存储在一个数据目
|
|
|
1367
1375
|
settings.upload.store = 在工作目录上传目录中存储附件
|
|
1368
1376
|
settings.upload.store.desc = 启用以存储上传附件的本地副本以供将来使用
|
|
1369
1377
|
settings.use_context = 使用上下文(记忆)
|
|
1378
|
+
settings.video.aspect_ratio = 纵横比
|
|
1379
|
+
settings.video.aspect_ratio.desc = 帧的纵横比(例如,16:9、9:16、1:1);可用性取决于所选模型
|
|
1380
|
+
settings.video.duration = 视频时长
|
|
1381
|
+
settings.video.duration.desc = 剪辑长度(以秒为单位);限制可能因模型而异
|
|
1382
|
+
settings.video.fps = FPS
|
|
1383
|
+
settings.video.fps.desc = 每秒帧数(例如,24、25、30);可能会被模型四舍五入或忽略
|
|
1384
|
+
settings.video.generate_audio = 生成音频
|
|
1385
|
+
settings.video.generate_audio.desc = 如果模型支持,包含合成背景音频
|
|
1386
|
+
settings.video.negative_prompt = 负面提示
|
|
1387
|
+
settings.video.negative_prompt.desc = 在输出中要避免的词语或短语(用逗号分隔)
|
|
1388
|
+
settings.video.prompt_model = 提示增强模型
|
|
1389
|
+
settings.video.prompt_model.desc = 用于在视频生成前优化您的提示的LLM(不是视频模型)
|
|
1390
|
+
settings.video.resolution = 视频分辨率
|
|
1391
|
+
settings.video.resolution.desc = 目标输出分辨率(例如,720p,1080p);可用性取决于模型
|
|
1392
|
+
settings.video.seed = 随机种子
|
|
1393
|
+
settings.video.seed.desc = 可选的随机种子以获得可重复的结果;留空为随机
|
|
1370
1394
|
settings.vision.capture.auto = 自动捕获
|
|
1371
1395
|
settings.vision.capture.enabled = 相机
|
|
1372
1396
|
settings.vision.capture.height = 相机高度(px)
|
|
@@ -1526,6 +1550,10 @@ updater.check.launch = 啟動時檢查
|
|
|
1526
1550
|
update.released = 發布時間
|
|
1527
1551
|
update.snap = 前往Snap商店
|
|
1528
1552
|
update.title = 檢查更新中
|
|
1553
|
+
vid.status.downloading = 正在下载视频...请稍候...
|
|
1554
|
+
vid.status.generating = 正在从中生成视频
|
|
1555
|
+
vid.status.prompt.error = 提示增强出错
|
|
1556
|
+
vid.status.prompt.wait = 正在准备提示...请稍候...
|
|
1529
1557
|
vision.capture.auto = 自動捕獲
|
|
1530
1558
|
vision.capture.auto.click = 已啟用自動捕獲!
|
|
1531
1559
|
vision.capture.auto.label = 啟用自動捕獲
|
|
@@ -31,6 +31,14 @@ cmd.web_url_raw.tooltip = Example prompt: Give me the raw content of http://exam
|
|
|
31
31
|
cmd.web_urls.description = Enable `web_urls` command execution.\nIf enabled, the model will be able to search the Web and get a list of found URLs.
|
|
32
32
|
cmd.web_urls.label = Enable: getting a list of URLs from search results
|
|
33
33
|
cmd.web_urls.tooltip = Example prompt: Give me the list of URLs for query (question).
|
|
34
|
+
ddg_backend.description = Engine backend: auto, html, lite.
|
|
35
|
+
ddg_backend.label = Backend
|
|
36
|
+
ddg_region.description = DuckDuckGo region, e.g. us-en, pl-pl, wt-wt
|
|
37
|
+
ddg_region.label = Region (kl)
|
|
38
|
+
ddg_safesearch.description = Allowed values: on, moderate, off
|
|
39
|
+
ddg_safesearch.label = SafeSearch
|
|
40
|
+
ddg_timelimit.description = Use: d, w, m, y or leave empty for any time.
|
|
41
|
+
ddg_timelimit.label = Time limit (df)
|
|
34
42
|
disable_ssl.description = Disables SSL verification when crawling web pages.
|
|
35
43
|
disable_ssl.label = Disable SSL verification
|
|
36
44
|
google_api_cx.description = You can find your CX ID at https://programmablesearchengine.google.com/controlpanel/all\nRemember to enable the "Search on ALL internet pages" option in project settings.
|
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.09.01 23:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import json
|
|
@@ -19,6 +19,7 @@ from pygpt_net.core.types import (
|
|
|
19
19
|
MODE_AUDIO,
|
|
20
20
|
MULTIMODAL_AUDIO,
|
|
21
21
|
OPENAI_COMPATIBLE_PROVIDERS,
|
|
22
|
+
MULTIMODAL_VIDEO,
|
|
22
23
|
)
|
|
23
24
|
|
|
24
25
|
class ModelItem:
|
|
@@ -287,6 +288,26 @@ class ModelItem:
|
|
|
287
288
|
return True
|
|
288
289
|
return False
|
|
289
290
|
|
|
291
|
+
def is_video_input(self) -> bool:
|
|
292
|
+
"""
|
|
293
|
+
Check if model supports video input
|
|
294
|
+
|
|
295
|
+
:return: True if supports video input
|
|
296
|
+
"""
|
|
297
|
+
if MULTIMODAL_VIDEO in self.input:
|
|
298
|
+
return True
|
|
299
|
+
return False
|
|
300
|
+
|
|
301
|
+
def is_video_output(self) -> bool:
|
|
302
|
+
"""
|
|
303
|
+
Check if model supports video output
|
|
304
|
+
|
|
305
|
+
:return: True if supports video output
|
|
306
|
+
"""
|
|
307
|
+
if MULTIMODAL_VIDEO in self.output:
|
|
308
|
+
return True
|
|
309
|
+
return False
|
|
310
|
+
|
|
290
311
|
def dump(self) -> str:
|
|
291
312
|
"""
|
|
292
313
|
Dump event to json string
|
|
@@ -6,9 +6,10 @@
|
|
|
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.01 23:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
|
+
import os
|
|
12
13
|
from typing import Optional, Dict, Any
|
|
13
14
|
|
|
14
15
|
from google.genai import types as gtypes
|
|
@@ -31,6 +32,7 @@ from .tools import Tools
|
|
|
31
32
|
from .audio import Audio
|
|
32
33
|
from .image import Image
|
|
33
34
|
from .realtime import Realtime
|
|
35
|
+
from .video import Video
|
|
34
36
|
|
|
35
37
|
class ApiGoogle:
|
|
36
38
|
def __init__(self, window=None):
|
|
@@ -46,6 +48,7 @@ class ApiGoogle:
|
|
|
46
48
|
self.audio = Audio(window)
|
|
47
49
|
self.image = Image(window)
|
|
48
50
|
self.realtime = Realtime(window)
|
|
51
|
+
self.video = Video(window)
|
|
49
52
|
self.client: Optional[genai.Client] = None
|
|
50
53
|
self.locked = False
|
|
51
54
|
self.last_client_args: Optional[Dict[str, Any]] = None
|
|
@@ -66,12 +69,42 @@ class ApiGoogle:
|
|
|
66
69
|
model = ModelItem()
|
|
67
70
|
model.provider = "google"
|
|
68
71
|
args = self.window.core.models.prepare_client_args(mode, model)
|
|
72
|
+
config = self.window.core.config
|
|
73
|
+
|
|
69
74
|
filtered = {}
|
|
70
75
|
if args.get("api_key"):
|
|
71
76
|
filtered["api_key"] = args["api_key"]
|
|
77
|
+
|
|
78
|
+
# setup VertexAI
|
|
79
|
+
use_vertex = False
|
|
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
|
|
98
|
+
if use_vertex:
|
|
99
|
+
filtered["vertexai"] = True
|
|
100
|
+
filtered["project"] = os.environ.get("GOOGLE_CLOUD_PROJECT")
|
|
101
|
+
filtered["location"] = os.environ.get("GOOGLE_CLOUD_LOCATION", "us-central1")
|
|
102
|
+
# filtered["http_options"] = gtypes.HttpOptions(api_version="v1")
|
|
103
|
+
|
|
72
104
|
if self.client is None or self.last_client_args != filtered:
|
|
73
105
|
self.client = genai.Client(**filtered)
|
|
74
106
|
self.last_client_args = filtered
|
|
107
|
+
|
|
75
108
|
return self.client
|
|
76
109
|
|
|
77
110
|
def call(
|
|
@@ -120,7 +153,10 @@ class ApiGoogle:
|
|
|
120
153
|
self.vision.append_images(ctx)
|
|
121
154
|
|
|
122
155
|
elif mode == MODE_IMAGE:
|
|
123
|
-
|
|
156
|
+
if context.model.is_video_output():
|
|
157
|
+
return self.video.generate(context=context, extra=extra) # veo, etc.
|
|
158
|
+
else:
|
|
159
|
+
return self.image.generate(context=context, extra=extra) # imagen, etc.
|
|
124
160
|
|
|
125
161
|
elif mode == MODE_ASSISTANT:
|
|
126
162
|
return False # not implemented for Google
|