pygpt-net 2.6.28__py3-none-any.whl → 2.6.30__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 +13 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/{container.py → app_core.py} +5 -6
- pygpt_net/controller/access/control.py +1 -9
- pygpt_net/controller/assistant/assistant.py +4 -4
- pygpt_net/controller/assistant/batch.py +7 -7
- pygpt_net/controller/assistant/files.py +4 -4
- pygpt_net/controller/assistant/threads.py +3 -3
- pygpt_net/controller/attachment/attachment.py +4 -7
- pygpt_net/controller/chat/common.py +1 -1
- pygpt_net/controller/chat/stream.py +961 -294
- pygpt_net/controller/chat/vision.py +11 -19
- pygpt_net/controller/config/placeholder.py +1 -1
- pygpt_net/controller/ctx/ctx.py +1 -1
- pygpt_net/controller/ctx/summarizer.py +1 -1
- pygpt_net/controller/mode/mode.py +21 -12
- pygpt_net/controller/plugins/settings.py +3 -2
- pygpt_net/controller/presets/editor.py +112 -99
- pygpt_net/controller/theme/common.py +2 -0
- pygpt_net/controller/theme/theme.py +6 -2
- pygpt_net/controller/ui/vision.py +4 -4
- pygpt_net/core/agents/legacy.py +2 -2
- pygpt_net/core/agents/runners/openai_workflow.py +2 -2
- pygpt_net/core/assistants/files.py +5 -5
- pygpt_net/core/assistants/store.py +4 -4
- pygpt_net/core/bridge/bridge.py +3 -3
- pygpt_net/core/bridge/worker.py +28 -9
- pygpt_net/core/debug/console/console.py +2 -2
- pygpt_net/core/debug/presets.py +2 -2
- pygpt_net/core/experts/experts.py +2 -2
- pygpt_net/core/idx/llm.py +21 -3
- pygpt_net/core/modes/modes.py +2 -2
- pygpt_net/core/presets/presets.py +3 -3
- pygpt_net/core/tokens/tokens.py +4 -4
- pygpt_net/core/types/mode.py +5 -2
- pygpt_net/core/vision/analyzer.py +1 -1
- pygpt_net/data/config/config.json +6 -3
- pygpt_net/data/config/models.json +75 -3
- pygpt_net/data/config/modes.json +3 -9
- pygpt_net/data/config/settings.json +112 -55
- pygpt_net/data/config/settings_section.json +2 -2
- pygpt_net/data/locale/locale.de.ini +2 -2
- pygpt_net/data/locale/locale.en.ini +9 -2
- pygpt_net/data/locale/locale.es.ini +2 -2
- pygpt_net/data/locale/locale.fr.ini +2 -2
- pygpt_net/data/locale/locale.it.ini +2 -2
- pygpt_net/data/locale/locale.pl.ini +3 -3
- pygpt_net/data/locale/locale.uk.ini +2 -2
- pygpt_net/data/locale/locale.zh.ini +2 -2
- pygpt_net/item/model.py +23 -3
- pygpt_net/plugin/openai_dalle/plugin.py +4 -4
- pygpt_net/plugin/openai_vision/plugin.py +12 -13
- pygpt_net/provider/agents/openai/agent.py +5 -5
- pygpt_net/provider/agents/openai/agent_b2b.py +5 -5
- pygpt_net/provider/agents/openai/agent_planner.py +5 -6
- pygpt_net/provider/agents/openai/agent_with_experts.py +5 -5
- pygpt_net/provider/agents/openai/agent_with_experts_feedback.py +4 -4
- pygpt_net/provider/agents/openai/agent_with_feedback.py +4 -4
- pygpt_net/provider/agents/openai/bot_researcher.py +2 -2
- pygpt_net/provider/agents/openai/bots/research_bot/agents/planner_agent.py +1 -1
- pygpt_net/provider/agents/openai/bots/research_bot/agents/search_agent.py +1 -1
- pygpt_net/provider/agents/openai/bots/research_bot/agents/writer_agent.py +1 -1
- pygpt_net/provider/agents/openai/evolve.py +5 -5
- pygpt_net/provider/agents/openai/supervisor.py +4 -4
- pygpt_net/provider/api/__init__.py +27 -0
- pygpt_net/provider/api/anthropic/__init__.py +68 -0
- pygpt_net/provider/api/google/__init__.py +262 -0
- pygpt_net/provider/api/google/audio.py +114 -0
- pygpt_net/provider/api/google/chat.py +552 -0
- pygpt_net/provider/api/google/image.py +287 -0
- pygpt_net/provider/api/google/tools.py +222 -0
- pygpt_net/provider/api/google/vision.py +129 -0
- pygpt_net/provider/{gpt → api/openai}/__init__.py +2 -2
- pygpt_net/provider/{gpt → api/openai}/agents/computer.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/agents/experts.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/agents/response.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/assistants.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/chat.py +15 -8
- pygpt_net/provider/{gpt → api/openai}/completion.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/image.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/remote_tools.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/responses.py +34 -20
- pygpt_net/provider/{gpt → api/openai}/store.py +2 -2
- pygpt_net/provider/{gpt → api/openai}/vision.py +1 -1
- pygpt_net/provider/{gpt → api/openai}/worker/assistants.py +4 -4
- pygpt_net/provider/{gpt → api/openai}/worker/importer.py +10 -10
- pygpt_net/provider/audio_input/openai_whisper.py +1 -1
- pygpt_net/provider/audio_output/google_tts.py +12 -0
- pygpt_net/provider/audio_output/openai_tts.py +1 -1
- pygpt_net/provider/core/config/patch.py +11 -0
- pygpt_net/provider/core/model/patch.py +9 -0
- pygpt_net/provider/core/preset/json_file.py +2 -4
- pygpt_net/provider/llms/anthropic.py +2 -5
- pygpt_net/provider/llms/base.py +4 -3
- pygpt_net/provider/llms/openai.py +1 -1
- pygpt_net/provider/loaders/hub/image_vision/base.py +1 -1
- pygpt_net/ui/dialog/preset.py +71 -55
- pygpt_net/ui/main.py +6 -4
- pygpt_net/utils.py +9 -0
- {pygpt_net-2.6.28.dist-info → pygpt_net-2.6.30.dist-info}/METADATA +42 -48
- {pygpt_net-2.6.28.dist-info → pygpt_net-2.6.30.dist-info}/RECORD +115 -107
- /pygpt_net/provider/{gpt → api/openai}/agents/__init__.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/agents/client.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/agents/remote_tools.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/agents/utils.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/audio.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/computer.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/container.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/summarizer.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/tools.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/utils.py +0 -0
- /pygpt_net/provider/{gpt → api/openai}/worker/__init__.py +0 -0
- {pygpt_net-2.6.28.dist-info → pygpt_net-2.6.30.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.28.dist-info → pygpt_net-2.6.30.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.28.dist-info → pygpt_net-2.6.30.dist-info}/entry_points.txt +0 -0
|
@@ -133,6 +133,21 @@
|
|
|
133
133
|
"advanced": false,
|
|
134
134
|
"tab": "Google"
|
|
135
135
|
},
|
|
136
|
+
"api_native_google": {
|
|
137
|
+
"section": "api_keys",
|
|
138
|
+
"type": "bool",
|
|
139
|
+
"slider": false,
|
|
140
|
+
"label": "settings.api_native_google",
|
|
141
|
+
"description": "settings.api_native_google.desc",
|
|
142
|
+
"value": true,
|
|
143
|
+
"min": null,
|
|
144
|
+
"max": null,
|
|
145
|
+
"multiplier": null,
|
|
146
|
+
"step": null,
|
|
147
|
+
"secret": false,
|
|
148
|
+
"advanced": false,
|
|
149
|
+
"tab": "Google"
|
|
150
|
+
},
|
|
136
151
|
"api_key_anthropic": {
|
|
137
152
|
"section": "api_keys",
|
|
138
153
|
"type": "text",
|
|
@@ -683,20 +698,7 @@
|
|
|
683
698
|
"multiplier": null,
|
|
684
699
|
"step": null,
|
|
685
700
|
"advanced": false
|
|
686
|
-
},
|
|
687
|
-
"ctx.attachment.verbose": {
|
|
688
|
-
"section": "files",
|
|
689
|
-
"type": "bool",
|
|
690
|
-
"slider": false,
|
|
691
|
-
"label": "settings.ctx.attachment.verbose",
|
|
692
|
-
"description": "settings.ctx.attachment.verbose.desc",
|
|
693
|
-
"value": false,
|
|
694
|
-
"min": null,
|
|
695
|
-
"max": null,
|
|
696
|
-
"multiplier": null,
|
|
697
|
-
"step": null,
|
|
698
|
-
"advanced": false
|
|
699
|
-
},
|
|
701
|
+
},
|
|
700
702
|
"ctx.attachment.img": {
|
|
701
703
|
"section": "files",
|
|
702
704
|
"type": "bool",
|
|
@@ -1276,7 +1278,22 @@
|
|
|
1276
1278
|
{"1024x1024": "[DALL-E 3] 1024x1024"},
|
|
1277
1279
|
{"1024x1024": "[DALL-E 2] 1024x1024"},
|
|
1278
1280
|
{"512x512": "[DALL-E 2] 512x512"},
|
|
1279
|
-
{"256x256": "[DALL-E 2] 256x256"}
|
|
1281
|
+
{"256x256": "[DALL-E 2] 256x256"},
|
|
1282
|
+
{"1024x1024": "[Imagen 3.0] 1024x1024"},
|
|
1283
|
+
{"896x1280": "[Imagen 3.0] 896x1280"},
|
|
1284
|
+
{"1280x896": "[Imagen 3.0] 1280x896"},
|
|
1285
|
+
{"768x1408": "[Imagen 3.0] 768x1408"},
|
|
1286
|
+
{"1408x768": "[Imagen 3.0] 1408x768"},
|
|
1287
|
+
{"1024x1024": "[Imagen 4.0] 1024x1024"},
|
|
1288
|
+
{"896x1280": "[Imagen 4.0] 896x1280"},
|
|
1289
|
+
{"1280x896": "[Imagen 4.0] 1280x896"},
|
|
1290
|
+
{"768x1408": "[Imagen 4.0] 768x1408"},
|
|
1291
|
+
{"1408x768": "[Imagen 4.0] 1408x768"},
|
|
1292
|
+
{"2048x2048": "[Imagen 4.0] 2048x2048"},
|
|
1293
|
+
{"1792x2560": "[Imagen 4.0] 1792x2560"},
|
|
1294
|
+
{"2560x1792": "[Imagen 4.0] 2560x1792"},
|
|
1295
|
+
{"1536x2816": "[Imagen 4.0] 1536x2816"},
|
|
1296
|
+
{"2816x1536": "[Imagen 4.0] 2816x1536"}
|
|
1280
1297
|
]
|
|
1281
1298
|
},
|
|
1282
1299
|
"img_quality": {
|
|
@@ -1610,6 +1627,34 @@
|
|
|
1610
1627
|
"OpenAI Docs": "https://platform.openai.com/docs/guides/tools-file-search"
|
|
1611
1628
|
}
|
|
1612
1629
|
},
|
|
1630
|
+
"remote_tools.google.web_search": {
|
|
1631
|
+
"section": "remote_tools",
|
|
1632
|
+
"type": "bool",
|
|
1633
|
+
"slider": false,
|
|
1634
|
+
"label": "settings.remote_tools.google.web_search",
|
|
1635
|
+
"description": "settings.remote_tools.google.web_search.desc",
|
|
1636
|
+
"value": true,
|
|
1637
|
+
"min": null,
|
|
1638
|
+
"max": null,
|
|
1639
|
+
"multiplier": null,
|
|
1640
|
+
"step": null,
|
|
1641
|
+
"advanced": false,
|
|
1642
|
+
"tab": "Google"
|
|
1643
|
+
},
|
|
1644
|
+
"remote_tools.google.code_interpreter": {
|
|
1645
|
+
"section": "remote_tools",
|
|
1646
|
+
"type": "bool",
|
|
1647
|
+
"slider": false,
|
|
1648
|
+
"label": "settings.remote_tools.google.code_interpreter",
|
|
1649
|
+
"description": "settings.remote_tools.google.code_interpreter.desc",
|
|
1650
|
+
"value": true,
|
|
1651
|
+
"min": null,
|
|
1652
|
+
"max": null,
|
|
1653
|
+
"multiplier": null,
|
|
1654
|
+
"step": null,
|
|
1655
|
+
"advanced": false,
|
|
1656
|
+
"tab": "Google"
|
|
1657
|
+
},
|
|
1613
1658
|
"llama.idx.list": {
|
|
1614
1659
|
"section": "llama-index",
|
|
1615
1660
|
"type": "dict",
|
|
@@ -2047,20 +2092,7 @@
|
|
|
2047
2092
|
"step": 1,
|
|
2048
2093
|
"advanced": false,
|
|
2049
2094
|
"tab": "llama"
|
|
2050
|
-
},
|
|
2051
|
-
"agent.llama.verbose": {
|
|
2052
|
-
"section": "agent",
|
|
2053
|
-
"type": "bool",
|
|
2054
|
-
"slider": false,
|
|
2055
|
-
"label": "settings.agent.llama.verbose",
|
|
2056
|
-
"value": false,
|
|
2057
|
-
"min": 0,
|
|
2058
|
-
"max": 0,
|
|
2059
|
-
"multiplier": 1,
|
|
2060
|
-
"step": 1,
|
|
2061
|
-
"advanced": false,
|
|
2062
|
-
"tab": "general"
|
|
2063
|
-
},
|
|
2095
|
+
},
|
|
2064
2096
|
"agent.idx.auto_retrieve": {
|
|
2065
2097
|
"section": "agent",
|
|
2066
2098
|
"type": "bool",
|
|
@@ -2259,10 +2291,10 @@
|
|
|
2259
2291
|
"advanced": false
|
|
2260
2292
|
},
|
|
2261
2293
|
"debug": {
|
|
2262
|
-
"section": "
|
|
2294
|
+
"section": "debug",
|
|
2263
2295
|
"type": "bool",
|
|
2264
2296
|
"slider": false,
|
|
2265
|
-
"label": "settings.
|
|
2297
|
+
"label": "settings.debug.show_menu",
|
|
2266
2298
|
"value": false,
|
|
2267
2299
|
"min": 0,
|
|
2268
2300
|
"max": 0,
|
|
@@ -2270,8 +2302,27 @@
|
|
|
2270
2302
|
"step": 1,
|
|
2271
2303
|
"advanced": false
|
|
2272
2304
|
},
|
|
2305
|
+
"log.level": {
|
|
2306
|
+
"section": "debug",
|
|
2307
|
+
"description": "Tip: Running application with --debug=1 or --debug=2 command line arguments overwrites this settings and force enables logging to %workdir%/app.log file. Log levels: 1 = INFO, 2 = DEBUG",
|
|
2308
|
+
"type": "combo",
|
|
2309
|
+
"slider": false,
|
|
2310
|
+
"label": "Log Level",
|
|
2311
|
+
"value": "",
|
|
2312
|
+
"min": null,
|
|
2313
|
+
"max": null,
|
|
2314
|
+
"multiplier": null,
|
|
2315
|
+
"step": null,
|
|
2316
|
+
"advanced": false,
|
|
2317
|
+
"keys": [
|
|
2318
|
+
{"error": "ERROR (default)"},
|
|
2319
|
+
{"warning": "WARNING"},
|
|
2320
|
+
{"info": "INFO"},
|
|
2321
|
+
{"debug": "DEBUG"}
|
|
2322
|
+
]
|
|
2323
|
+
},
|
|
2273
2324
|
"log.ctx": {
|
|
2274
|
-
"section": "
|
|
2325
|
+
"section": "debug",
|
|
2275
2326
|
"type": "bool",
|
|
2276
2327
|
"slider": false,
|
|
2277
2328
|
"label": "Log and debug context",
|
|
@@ -2283,7 +2334,7 @@
|
|
|
2283
2334
|
"advanced": false
|
|
2284
2335
|
},
|
|
2285
2336
|
"log.events": {
|
|
2286
|
-
"section": "
|
|
2337
|
+
"section": "debug",
|
|
2287
2338
|
"type": "bool",
|
|
2288
2339
|
"slider": false,
|
|
2289
2340
|
"label": "Log and debug events",
|
|
@@ -2295,7 +2346,7 @@
|
|
|
2295
2346
|
"advanced": false
|
|
2296
2347
|
},
|
|
2297
2348
|
"log.plugins": {
|
|
2298
|
-
"section": "
|
|
2349
|
+
"section": "debug",
|
|
2299
2350
|
"type": "bool",
|
|
2300
2351
|
"slider": false,
|
|
2301
2352
|
"label": "Log plugin usage to console",
|
|
@@ -2307,7 +2358,7 @@
|
|
|
2307
2358
|
"advanced": false
|
|
2308
2359
|
},
|
|
2309
2360
|
"log.dalle": {
|
|
2310
|
-
"section": "
|
|
2361
|
+
"section": "debug",
|
|
2311
2362
|
"type": "bool",
|
|
2312
2363
|
"slider": false,
|
|
2313
2364
|
"label": "Log DALL-E usage to console",
|
|
@@ -2318,11 +2369,11 @@
|
|
|
2318
2369
|
"step": null,
|
|
2319
2370
|
"advanced": false
|
|
2320
2371
|
},
|
|
2321
|
-
"
|
|
2322
|
-
"section": "
|
|
2372
|
+
"ctx.attachment.verbose": {
|
|
2373
|
+
"section": "debug",
|
|
2323
2374
|
"type": "bool",
|
|
2324
2375
|
"slider": false,
|
|
2325
|
-
"label": "Log
|
|
2376
|
+
"label": "Log attachments usage to console",
|
|
2326
2377
|
"value": false,
|
|
2327
2378
|
"min": null,
|
|
2328
2379
|
"max": null,
|
|
@@ -2330,11 +2381,24 @@
|
|
|
2330
2381
|
"step": null,
|
|
2331
2382
|
"advanced": false
|
|
2332
2383
|
},
|
|
2333
|
-
"
|
|
2334
|
-
"section": "
|
|
2384
|
+
"agent.llama.verbose": {
|
|
2385
|
+
"section": "debug",
|
|
2335
2386
|
"type": "bool",
|
|
2336
2387
|
"slider": false,
|
|
2337
|
-
"label": "Log
|
|
2388
|
+
"label": "Log Agents usage to console",
|
|
2389
|
+
"value": false,
|
|
2390
|
+
"min": 0,
|
|
2391
|
+
"max": 0,
|
|
2392
|
+
"multiplier": 1,
|
|
2393
|
+
"step": 1,
|
|
2394
|
+
"advanced": false,
|
|
2395
|
+
"tab": "general"
|
|
2396
|
+
},
|
|
2397
|
+
"log.llama": {
|
|
2398
|
+
"section": "debug",
|
|
2399
|
+
"type": "bool",
|
|
2400
|
+
"slider": false,
|
|
2401
|
+
"label": "Log LlamaIndex usage to console",
|
|
2338
2402
|
"value": false,
|
|
2339
2403
|
"min": null,
|
|
2340
2404
|
"max": null,
|
|
@@ -2342,25 +2406,18 @@
|
|
|
2342
2406
|
"step": null,
|
|
2343
2407
|
"advanced": false
|
|
2344
2408
|
},
|
|
2345
|
-
"log.
|
|
2346
|
-
"section": "
|
|
2347
|
-
"
|
|
2348
|
-
"type": "combo",
|
|
2409
|
+
"log.assistants": {
|
|
2410
|
+
"section": "debug",
|
|
2411
|
+
"type": "bool",
|
|
2349
2412
|
"slider": false,
|
|
2350
|
-
"label": "Log
|
|
2351
|
-
"value":
|
|
2413
|
+
"label": "Log Assistants usage to console",
|
|
2414
|
+
"value": false,
|
|
2352
2415
|
"min": null,
|
|
2353
2416
|
"max": null,
|
|
2354
2417
|
"multiplier": null,
|
|
2355
2418
|
"step": null,
|
|
2356
|
-
"advanced": false
|
|
2357
|
-
|
|
2358
|
-
{"error": "ERROR (default)"},
|
|
2359
|
-
{"warning": "WARNING"},
|
|
2360
|
-
{"info": "INFO"},
|
|
2361
|
-
{"debug": "DEBUG"}
|
|
2362
|
-
]
|
|
2363
|
-
},
|
|
2419
|
+
"advanced": false
|
|
2420
|
+
},
|
|
2364
2421
|
"access.voice_control": {
|
|
2365
2422
|
"section": "access",
|
|
2366
2423
|
"type": "bool",
|
|
@@ -1174,9 +1174,9 @@ settings.ctx.sources = Zeige Llama-Indexquellen
|
|
|
1174
1174
|
settings.ctx.sources.desc = Falls aktiviert, werden die genutzten Quellen in der Antwort angezeigt (falls verfügbar, funktioniert nicht im gestreamten Chat)
|
|
1175
1175
|
settings.ctx.use_extra = Verwenden Sie zusätzlichen Kontextoutput
|
|
1176
1176
|
settings.ctx.use_extra.desc = Wenn aktiviert, wird die einfache Textausgabe (falls verfügbar) aus den Befehlsausgaben zusätzlich zur JSON-Ausgabe angezeigt.
|
|
1177
|
+
settings.debug.show_menu = Debug-Menü anzeigen
|
|
1177
1178
|
settings.defaults.app.confirm = Werksseitige App-Einstellungen laden?
|
|
1178
1179
|
settings.defaults.user.confirm = Aktuelle Änderungen rückgängig machen?
|
|
1179
|
-
settings.developer.debug = Debug-Menü anzeigen
|
|
1180
1180
|
settings.dict.delete.confirm = Eintrag aus der Liste entfernen?
|
|
1181
1181
|
settings.download.dir = Verzeichnis für Dateidownloads
|
|
1182
1182
|
settings.download.dir.desc = Unterordner für heruntergeladene Dateien, z.B. im Assistentenmodus, innerhalb von "data"
|
|
@@ -1336,7 +1336,7 @@ settings.section.audio.cache = Cache
|
|
|
1336
1336
|
settings.section.audio.device = Geräte
|
|
1337
1337
|
settings.section.audio.options = Optionen
|
|
1338
1338
|
settings.section.ctx = Kontext
|
|
1339
|
-
settings.section.
|
|
1339
|
+
settings.section.debug = Fehlerbehebung
|
|
1340
1340
|
settings.section.files = Dateien und Anhänge
|
|
1341
1341
|
settings.section.general = Allgemein
|
|
1342
1342
|
settings.section.images = Bilder
|
|
@@ -1118,6 +1118,8 @@ settings.api_key.voyage = VoyageAI API KEY
|
|
|
1118
1118
|
settings.api_key.voyage.desc = Required for the Voyage API - embeddings for Anthropic and DeepSeek API.
|
|
1119
1119
|
settings.api_key.xai = xAI API KEY
|
|
1120
1120
|
settings.api_key.xai.desc = Required for the xAI API and Grok models.
|
|
1121
|
+
settings.api_native_google = Use native API SDK
|
|
1122
|
+
settings.api_native_google.desc = Use native GenAI SDK instead of compatible OpenAI client
|
|
1121
1123
|
settings.api_proxy = Proxy address
|
|
1122
1124
|
settings.api_proxy.desc = Optional, proxy for OpenAI API, e.g. http://proxy.example.com or socks5://user:pass@host:port
|
|
1123
1125
|
settings.api_use_responses = Use Responses API in Chat mode
|
|
@@ -1192,9 +1194,9 @@ settings.ctx.sources = Show LlamaIndex sources
|
|
|
1192
1194
|
settings.ctx.sources.desc = If enabled, sources used will be displayed in the response (if available, it will not work in streamed chat)
|
|
1193
1195
|
settings.ctx.use_extra = Use extra context output
|
|
1194
1196
|
settings.ctx.use_extra.desc = If enabled, plain text output (if available) from command results will be displayed alongside the JSON output.
|
|
1197
|
+
settings.debug.show_menu = Show debug menu
|
|
1195
1198
|
settings.defaults.app.confirm = Load factory app settings?
|
|
1196
1199
|
settings.defaults.user.confirm = Undo current changes?
|
|
1197
|
-
settings.developer.debug = Show debug menu
|
|
1198
1200
|
settings.dict.delete.confirm = Remove item from list?
|
|
1199
1201
|
settings.download.dir = Directory for file downloads
|
|
1200
1202
|
settings.download.dir.desc = Subdirectory for downloaded files, e.g. in Assistants mode, inside "data"
|
|
@@ -1324,6 +1326,10 @@ settings.remote_tools.file_search = File search
|
|
|
1324
1326
|
settings.remote_tools.file_search.args = File search vector store IDs
|
|
1325
1327
|
settings.remote_tools.file_search.args.desc = Vector store IDs, separated by comma (,)
|
|
1326
1328
|
settings.remote_tools.file_search.desc = Enable `file_search` remote tool in Chat mode / via OpenAI Responses API.
|
|
1329
|
+
settings.remote_tools.google.code_interpreter = Code Interpreter
|
|
1330
|
+
settings.remote_tools.google.code_interpreter.desc = Enable Code Interpreter remote tool in Chat mode.
|
|
1331
|
+
settings.remote_tools.google.web_search = Google Web Search
|
|
1332
|
+
settings.remote_tools.google.web_search.desc = Enable Google Search remote tool in Chat mode.
|
|
1327
1333
|
settings.remote_tools.image = Image generation
|
|
1328
1334
|
settings.remote_tools.image.desc = Enable `image_generation` remote tool in Chat mode / via OpenAI Responses API.
|
|
1329
1335
|
settings.remote_tools.mcp = Remote MCP
|
|
@@ -1360,7 +1366,7 @@ settings.section.audio.cache = Cache
|
|
|
1360
1366
|
settings.section.audio.device = Devices
|
|
1361
1367
|
settings.section.audio.options = Options
|
|
1362
1368
|
settings.section.ctx = Context
|
|
1363
|
-
settings.section.
|
|
1369
|
+
settings.section.debug = Debug
|
|
1364
1370
|
settings.section.files = Files and attachments
|
|
1365
1371
|
settings.section.general = General
|
|
1366
1372
|
settings.section.images = Images
|
|
@@ -1376,6 +1382,7 @@ settings.section.model = Models
|
|
|
1376
1382
|
settings.section.personalize = Personalize
|
|
1377
1383
|
settings.section.prompts = Prompts
|
|
1378
1384
|
settings.section.remote_tools = Remote tools
|
|
1385
|
+
settings.section.remote_tools.google = Google
|
|
1379
1386
|
settings.section.remote_tools.openai = OpenAI
|
|
1380
1387
|
settings.section.tab.general = General
|
|
1381
1388
|
settings.section.updates = Updates
|
|
@@ -1175,9 +1175,9 @@ settings.ctx.sources = Mostrar fuentes del índice Llama
|
|
|
1175
1175
|
settings.ctx.sources.desc = Si está habilitado, las fuentes utilizadas se mostrarán en la respuesta (si están disponibles, no funcionará en el chat en vivo)
|
|
1176
1176
|
settings.ctx.use_extra = Usar salida de contexto extra
|
|
1177
1177
|
settings.ctx.use_extra.desc = Si está habilitado, la salida de texto sin formato (si está disponible) de los resultados de los comandos se mostrará junto con la salida JSON.
|
|
1178
|
+
settings.debug.show_menu = Mostrar menú de depuración
|
|
1178
1179
|
settings.defaults.app.confirm = ¿Cargar ajustes predeterminados de la aplicación?
|
|
1179
1180
|
settings.defaults.user.confirm = ¿Deshacer cambios actuales?
|
|
1180
|
-
settings.developer.debug = Mostrar menú de depuración
|
|
1181
1181
|
settings.dict.delete.confirm = ¿Eliminar elemento de la lista?
|
|
1182
1182
|
settings.download.dir = Directorio para descargas de archivos
|
|
1183
1183
|
settings.download.dir.desc = Subdirectorio para archivos descargados, por ejemplo, en modo Asistentes, dentro de "data"
|
|
@@ -1337,7 +1337,7 @@ settings.section.audio.cache = Caché
|
|
|
1337
1337
|
settings.section.audio.device = Dispositivos
|
|
1338
1338
|
settings.section.audio.options = Opciones
|
|
1339
1339
|
settings.section.ctx = Contexto
|
|
1340
|
-
settings.section.
|
|
1340
|
+
settings.section.debug = Depuración
|
|
1341
1341
|
settings.section.files = Archivos y adjuntos
|
|
1342
1342
|
settings.section.general = General
|
|
1343
1343
|
settings.section.images = Imágenes
|
|
@@ -1174,9 +1174,9 @@ settings.ctx.sources = Afficher les sources de l'index Llama
|
|
|
1174
1174
|
settings.ctx.sources.desc = Si activé, les sources utilisées seront affichées dans la réponse (si disponibles, cela ne fonctionnera pas dans le chat en continu)
|
|
1175
1175
|
settings.ctx.use_extra = Utiliser une sortie de contexte supplémentaire
|
|
1176
1176
|
settings.ctx.use_extra.desc = Si activé, la sortie en texte brut (si disponible) des résultats de commande sera affichée aux côtés de la sortie JSON.
|
|
1177
|
+
settings.debug.show_menu = Afficher le menu de débogage
|
|
1177
1178
|
settings.defaults.app.confirm = Charger les réglages par défaut de l'application ?
|
|
1178
1179
|
settings.defaults.user.confirm = Annuler les modifications actuelles ?
|
|
1179
|
-
settings.developer.debug = Afficher le menu de débogage
|
|
1180
1180
|
settings.dict.delete.confirm = Supprimer l'élément de la liste ?
|
|
1181
1181
|
settings.download.dir = Répertoire pour les téléchargements de fichiers
|
|
1182
1182
|
settings.download.dir.desc = Sous-répertoire pour les fichiers téléchargés, par exemple en mode Assistants, à l'intérieur de "data"
|
|
@@ -1336,7 +1336,7 @@ settings.section.audio.cache = Cache
|
|
|
1336
1336
|
settings.section.audio.device = Appareils
|
|
1337
1337
|
settings.section.audio.options = Options
|
|
1338
1338
|
settings.section.ctx = Contexte
|
|
1339
|
-
settings.section.
|
|
1339
|
+
settings.section.debug = Débogage
|
|
1340
1340
|
settings.section.files = Fichiers et pièces jointes
|
|
1341
1341
|
settings.section.general = Général
|
|
1342
1342
|
settings.section.images = Images
|
|
@@ -1174,9 +1174,9 @@ settings.ctx.sources = Mostra le fonti dell'indice Llama
|
|
|
1174
1174
|
settings.ctx.sources.desc = Se abilitato, le fonti utilizzate saranno mostrate nella risposta (se disponibili, non funzionerà nella chat in streaming)
|
|
1175
1175
|
settings.ctx.use_extra = Usa output di contesto extra
|
|
1176
1176
|
settings.ctx.use_extra.desc = Se abilitato, l'output di testo normale (se disponibile) dai risultati dei comandi sarà visualizzato accanto all'output JSON.
|
|
1177
|
+
settings.debug.show_menu = Mostra menu debug
|
|
1177
1178
|
settings.defaults.app.confirm = Caricare le impostazioni predefinite dell'applicazione?
|
|
1178
1179
|
settings.defaults.user.confirm = Annullare le modifiche correnti?
|
|
1179
|
-
settings.developer.debug = Mostra menu debug
|
|
1180
1180
|
settings.dict.delete.confirm = Rimuovere l'elemento dall'elenco?
|
|
1181
1181
|
settings.download.dir = Directory per il download dei file
|
|
1182
1182
|
settings.download.dir.desc = Sottodirectory per i file scaricati, ad esempio in modalità Assistenti, all'interno di "data"
|
|
@@ -1336,7 +1336,7 @@ settings.section.audio.cache = Cache
|
|
|
1336
1336
|
settings.section.audio.device = Dispositivi
|
|
1337
1337
|
settings.section.audio.options = Opzioni
|
|
1338
1338
|
settings.section.ctx = Contesto
|
|
1339
|
-
settings.section.
|
|
1339
|
+
settings.section.debug = Debug
|
|
1340
1340
|
settings.section.files = File e allegati
|
|
1341
1341
|
settings.section.general = Generale
|
|
1342
1342
|
settings.section.images = Immagini
|
|
@@ -1118,7 +1118,7 @@ settings.audio.input.backend.desc = Wybierz backend dla wejścia audio.
|
|
|
1118
1118
|
settings.audio.input.channels = Kanały
|
|
1119
1119
|
settings.audio.input.channels.desc = Kanały wejściowe, domyślnie: 1
|
|
1120
1120
|
settings.audio.input.continuous = Ciągłe Nagrywanie Dźwięku (Kawałki)
|
|
1121
|
-
settings.audio.input.continuous.desc = Włącz nagrywanie w kawałkach dla długich nagrań audio w notatniku (notatki głosowe).
|
|
1121
|
+
settings.audio.input.continuous.desc = Włącz nagrywanie w kawałkach dla długich nagrań audio w notatniku (notatki głosowe).
|
|
1122
1122
|
settings.audio.input.device = Urządzenie do wejścia audio
|
|
1123
1123
|
settings.audio.input.device.desc = Wybierz urządzenie do wejścia mikrofonu.
|
|
1124
1124
|
settings.audio.input.rate = Częstotliwość próbkowania
|
|
@@ -1175,9 +1175,9 @@ settings.ctx.sources = Pokaż źródła LlamaIndex
|
|
|
1175
1175
|
settings.ctx.sources.desc = Jeśli opcja jest włączona, wykorzystane źródła będą wyświetlane w odpowiedzi (jeśli dostępne, nie zadziała w czacie z wł. opcją stream)
|
|
1176
1176
|
settings.ctx.use_extra = Używaj dodatkowego kontekstu outputu
|
|
1177
1177
|
settings.ctx.use_extra.desc = Jeśli włączone, zwykły tekst outputu (jeśli dostępny) z wyników poleceń będzie wyświetlany obok outputu JSON.
|
|
1178
|
+
settings.debug.show_menu = Pokaż menu debugowania
|
|
1178
1179
|
settings.defaults.app.confirm = Wczytać fabryczne ustawienia aplikacji?
|
|
1179
1180
|
settings.defaults.user.confirm = Przywrócić dokonane zmiany?
|
|
1180
|
-
settings.developer.debug = Pokaż menu debugowania
|
|
1181
1181
|
settings.dict.delete.confirm = Usunąć pozycję z listy?
|
|
1182
1182
|
settings.download.dir = Katalog na pliki do pobrania
|
|
1183
1183
|
settings.download.dir.desc = Podkatalog na pobrane pliki, np. w trybie Asystentów, wewnątrz "data"
|
|
@@ -1337,7 +1337,7 @@ settings.section.audio.cache = Pamięć podręczna
|
|
|
1337
1337
|
settings.section.audio.device = Urządzenia
|
|
1338
1338
|
settings.section.audio.options = Opcje
|
|
1339
1339
|
settings.section.ctx = Kontekst
|
|
1340
|
-
settings.section.
|
|
1340
|
+
settings.section.debug = Debugowanie
|
|
1341
1341
|
settings.section.files = Pliki i załączniki
|
|
1342
1342
|
settings.section.general = Ogólne
|
|
1343
1343
|
settings.section.images = Obrazy
|
|
@@ -1174,9 +1174,9 @@ settings.ctx.sources = Показати джерела індексу Llama
|
|
|
1174
1174
|
settings.ctx.sources.desc = Якщо включено, використані джерела будуть відображатися в відповіді (якщо доступно, не працюватиме в потоковому чаті)
|
|
1175
1175
|
settings.ctx.use_extra = Використовувати додатковий контекст виводу
|
|
1176
1176
|
settings.ctx.use_extra.desc = Якщо увімкнено, звичайний текстовий вивід (якщо доступний) з результатів команд буде відображений поруч з JSON виводом.
|
|
1177
|
+
settings.debug.show_menu = Показати меню налагодження
|
|
1177
1178
|
settings.defaults.app.confirm = Завантажити заводські налаштування додатку?
|
|
1178
1179
|
settings.defaults.user.confirm = Відмінити поточні зміни?
|
|
1179
|
-
settings.developer.debug = Показати меню налагодження
|
|
1180
1180
|
settings.dict.delete.confirm = Видалити елемент зі списку?
|
|
1181
1181
|
settings.download.dir = Директорія для завантаження файлів
|
|
1182
1182
|
settings.download.dir.desc = Піддиректорія для завантажених файлів, наприклад, у режимі помічників, всередині "data"
|
|
@@ -1336,7 +1336,7 @@ settings.section.audio.cache = Кеш
|
|
|
1336
1336
|
settings.section.audio.device = Пристрої
|
|
1337
1337
|
settings.section.audio.options = Параметри
|
|
1338
1338
|
settings.section.ctx = Контекст
|
|
1339
|
-
settings.section.
|
|
1339
|
+
settings.section.debug = Налагодження
|
|
1340
1340
|
settings.section.files = Файли та вкладення
|
|
1341
1341
|
settings.section.general = Загальні
|
|
1342
1342
|
settings.section.images = Зображення
|
|
@@ -1174,9 +1174,9 @@ settings.ctx.sources = 显示Llama索引源
|
|
|
1174
1174
|
settings.ctx.sources.desc = 如果启用,使用的源将在回应中显示(如果可用,不适用于流式聊天)
|
|
1175
1175
|
settings.ctx.use_extra = 使用额外的上下文输出
|
|
1176
1176
|
settings.ctx.use_extra.desc = 如果启用,将在命令结果的 JSON 输出旁边显示纯文本输出(如果有)。
|
|
1177
|
+
settings.debug.show_menu = 显示调试菜单
|
|
1177
1178
|
settings.defaults.app.confirm = 加载出厂应用程序设置?
|
|
1178
1179
|
settings.defaults.user.confirm = 撤销当前更改?
|
|
1179
|
-
settings.developer.debug = 显示调试菜单
|
|
1180
1180
|
settings.dict.delete.confirm = 从列表中移除项目?
|
|
1181
1181
|
settings.download.dir = 文件下载目录
|
|
1182
1182
|
settings.download.dir.desc = 下载文件的子目录,例如在助手模式下,位于 "data" 内部
|
|
@@ -1336,7 +1336,7 @@ settings.section.audio.cache = 缓存
|
|
|
1336
1336
|
settings.section.audio.device = 设备
|
|
1337
1337
|
settings.section.audio.options = 选项
|
|
1338
1338
|
settings.section.ctx = 上下文
|
|
1339
|
-
settings.section.
|
|
1339
|
+
settings.section.debug = 调试
|
|
1340
1340
|
settings.section.files = 文件和附件
|
|
1341
1341
|
settings.section.general = 一般
|
|
1342
1342
|
settings.section.images = 圖像
|
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.08.
|
|
9
|
+
# Updated Date: 2025.08.28 09:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import json
|
|
@@ -253,7 +253,17 @@ class ModelItem:
|
|
|
253
253
|
|
|
254
254
|
:return: True if supports image input
|
|
255
255
|
"""
|
|
256
|
-
if
|
|
256
|
+
if MULTIMODAL_IMAGE in self.input:
|
|
257
|
+
return True
|
|
258
|
+
return False
|
|
259
|
+
|
|
260
|
+
def is_image_output(self) -> bool:
|
|
261
|
+
"""
|
|
262
|
+
Check if model supports image output
|
|
263
|
+
|
|
264
|
+
:return: True if supports image output
|
|
265
|
+
"""
|
|
266
|
+
if "image" in self.output or MODE_VISION in self.mode:
|
|
257
267
|
return True
|
|
258
268
|
return False
|
|
259
269
|
|
|
@@ -263,7 +273,17 @@ class ModelItem:
|
|
|
263
273
|
|
|
264
274
|
:return: True if supports audio input
|
|
265
275
|
"""
|
|
266
|
-
if
|
|
276
|
+
if MULTIMODAL_AUDIO in self.input:
|
|
277
|
+
return True
|
|
278
|
+
return False
|
|
279
|
+
|
|
280
|
+
def is_audio_output(self) -> bool:
|
|
281
|
+
"""
|
|
282
|
+
Check if model supports audio output
|
|
283
|
+
|
|
284
|
+
:return: True if supports audio output
|
|
285
|
+
"""
|
|
286
|
+
if MULTIMODAL_AUDIO in self.output:
|
|
267
287
|
return True
|
|
268
288
|
return False
|
|
269
289
|
|
|
@@ -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.08.28 09:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from pygpt_net.core.types import (
|
|
@@ -42,8 +42,8 @@ class Plugin(BasePlugin):
|
|
|
42
42
|
]
|
|
43
43
|
self.allowed_modes = [
|
|
44
44
|
MODE_CHAT,
|
|
45
|
-
MODE_LANGCHAIN,
|
|
46
|
-
MODE_VISION,
|
|
45
|
+
# MODE_LANGCHAIN,
|
|
46
|
+
# MODE_VISION,
|
|
47
47
|
MODE_LLAMA_INDEX,
|
|
48
48
|
MODE_ASSISTANT,
|
|
49
49
|
MODE_AGENT,
|
|
@@ -166,7 +166,7 @@ class Plugin(BasePlugin):
|
|
|
166
166
|
sync = False
|
|
167
167
|
if self.window.core.config.get("mode") in [MODE_AGENT_LLAMA, MODE_AGENT_OPENAI]:
|
|
168
168
|
sync = True
|
|
169
|
-
self.window.core.
|
|
169
|
+
self.window.core.api.openai.image.generate(bridge_context, extra, sync) # force inline mode, async call
|
|
170
170
|
except Exception as e:
|
|
171
171
|
self.log("Error: " + str(e))
|
|
172
172
|
return
|
|
@@ -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.08.
|
|
9
|
+
# Updated Date: 2025.08.28 09:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from pygpt_net.core.types import (
|
|
@@ -102,7 +102,7 @@ class Plugin(BasePlugin):
|
|
|
102
102
|
) # mode change
|
|
103
103
|
|
|
104
104
|
elif name == Event.MODEL_BEFORE:
|
|
105
|
-
if
|
|
105
|
+
if data.get("mode") == MODE_CHAT:
|
|
106
106
|
key = self.get_option_value("model")
|
|
107
107
|
if self.window.core.models.has(key):
|
|
108
108
|
data['model'] = self.window.core.models.get(key)
|
|
@@ -119,7 +119,7 @@ class Plugin(BasePlugin):
|
|
|
119
119
|
data['value'] = self.on_system_prompt(data['value'])
|
|
120
120
|
|
|
121
121
|
elif name == Event.UI_ATTACHMENTS:
|
|
122
|
-
mode = data
|
|
122
|
+
mode = data.get("mode")
|
|
123
123
|
if mode in [MODE_AGENT, MODE_AGENT_LLAMA, MODE_AGENT_OPENAI] and not self.window.core.config.get("cmd"):
|
|
124
124
|
pass
|
|
125
125
|
else:
|
|
@@ -263,8 +263,7 @@ class Plugin(BasePlugin):
|
|
|
263
263
|
# append vision prompt only if vision is provided or enabled
|
|
264
264
|
if not self.is_vision_provided():
|
|
265
265
|
return prompt
|
|
266
|
-
|
|
267
|
-
return prompt
|
|
266
|
+
return "Image attachment has been already sent.\n\n" + prompt
|
|
268
267
|
|
|
269
268
|
def on_pre_prompt(self, prompt: str) -> str:
|
|
270
269
|
"""
|
|
@@ -294,12 +293,12 @@ class Plugin(BasePlugin):
|
|
|
294
293
|
"""
|
|
295
294
|
mode = self.window.core.config.get('mode')
|
|
296
295
|
attachments = self.window.core.attachments.get_all(mode)
|
|
297
|
-
self.window.core.
|
|
296
|
+
self.window.core.api.openai.vision.build_content(
|
|
298
297
|
str(self.prompt),
|
|
299
298
|
attachments,
|
|
300
299
|
) # tmp build content, provide attachments from global mode
|
|
301
300
|
|
|
302
|
-
built_attachments = self.window.core.
|
|
301
|
+
built_attachments = self.window.core.api.openai.vision.attachments
|
|
303
302
|
if len(built_attachments) > 0:
|
|
304
303
|
return True
|
|
305
304
|
return False
|
|
@@ -313,13 +312,13 @@ class Plugin(BasePlugin):
|
|
|
313
312
|
result = False
|
|
314
313
|
mode = self.window.core.config.get('mode')
|
|
315
314
|
attachments = self.window.core.attachments.get_all(mode) # from global mode
|
|
316
|
-
self.window.core.
|
|
315
|
+
self.window.core.api.openai.vision.build_content(
|
|
317
316
|
str(self.prompt),
|
|
318
317
|
attachments,
|
|
319
318
|
) # tmp build content, provide attachments from global mode
|
|
320
319
|
|
|
321
|
-
built_attachments = self.window.core.
|
|
322
|
-
built_urls = self.window.core.
|
|
320
|
+
built_attachments = self.window.core.api.openai.vision.attachments
|
|
321
|
+
built_urls = self.window.core.api.openai.vision.urls
|
|
323
322
|
|
|
324
323
|
# check for images in URLs found in prompt
|
|
325
324
|
img_urls = []
|
|
@@ -343,13 +342,13 @@ class Plugin(BasePlugin):
|
|
|
343
342
|
:return: updated mode
|
|
344
343
|
"""
|
|
345
344
|
# abort if already in vision mode or command enabled
|
|
346
|
-
if mode
|
|
345
|
+
if mode in self.disabled_mode_switch:
|
|
347
346
|
return mode # keep current mode
|
|
348
347
|
|
|
349
|
-
# if already used in this ctx then keep vision mode
|
|
348
|
+
# if already used in this ctx then keep vision (in CHAT) mode
|
|
350
349
|
if self.is_vision_provided():
|
|
351
350
|
ctx.is_vision = True
|
|
352
|
-
return
|
|
351
|
+
return MODE_CHAT
|
|
353
352
|
|
|
354
353
|
return mode # keep current mode
|
|
355
354
|
|