pygpt-net 2.6.20__py3-none-any.whl → 2.6.21__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 +9 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/agent/agent.py +130 -2
- pygpt_net/controller/agent/experts.py +93 -96
- pygpt_net/controller/agent/llama.py +2 -1
- pygpt_net/controller/assistant/assistant.py +18 -1
- pygpt_net/controller/attachment/attachment.py +17 -1
- pygpt_net/controller/camera/camera.py +15 -7
- pygpt_net/controller/chat/chat.py +2 -2
- pygpt_net/controller/chat/common.py +50 -33
- pygpt_net/controller/chat/image.py +67 -77
- pygpt_net/controller/chat/input.py +94 -166
- pygpt_net/controller/chat/output.py +83 -140
- pygpt_net/controller/chat/response.py +83 -102
- pygpt_net/controller/chat/text.py +116 -149
- pygpt_net/controller/ctx/common.py +2 -1
- pygpt_net/controller/ctx/ctx.py +86 -6
- pygpt_net/controller/files/files.py +13 -1
- pygpt_net/controller/idx/idx.py +26 -2
- pygpt_net/controller/kernel/reply.py +53 -66
- pygpt_net/controller/kernel/stack.py +16 -16
- pygpt_net/controller/model/importer.py +2 -1
- pygpt_net/controller/model/model.py +62 -3
- pygpt_net/controller/settings/editor.py +4 -4
- pygpt_net/controller/ui/ui.py +16 -2
- pygpt_net/core/agents/observer/evaluation.py +3 -3
- pygpt_net/core/agents/provider.py +25 -3
- pygpt_net/core/agents/runner.py +4 -1
- pygpt_net/core/agents/runners/llama_workflow.py +19 -7
- pygpt_net/core/agents/runners/loop.py +3 -1
- pygpt_net/core/agents/runners/openai_workflow.py +17 -3
- pygpt_net/core/agents/tools.py +4 -1
- pygpt_net/core/bridge/context.py +34 -37
- pygpt_net/core/ctx/ctx.py +1 -1
- pygpt_net/core/db/database.py +2 -2
- pygpt_net/core/debug/debug.py +12 -1
- pygpt_net/core/dispatcher/dispatcher.py +24 -1
- pygpt_net/core/events/app.py +7 -7
- pygpt_net/core/events/control.py +26 -26
- pygpt_net/core/events/event.py +6 -3
- pygpt_net/core/events/kernel.py +2 -2
- pygpt_net/core/events/render.py +13 -13
- pygpt_net/core/experts/experts.py +76 -82
- pygpt_net/core/experts/worker.py +12 -12
- pygpt_net/core/models/models.py +5 -1
- pygpt_net/core/models/ollama.py +14 -5
- pygpt_net/core/render/web/helpers.py +2 -2
- pygpt_net/core/render/web/renderer.py +4 -4
- pygpt_net/core/types/__init__.py +2 -1
- pygpt_net/core/types/agent.py +4 -4
- pygpt_net/core/types/base.py +19 -0
- pygpt_net/core/types/console.py +6 -6
- pygpt_net/core/types/mode.py +8 -8
- pygpt_net/core/types/multimodal.py +3 -3
- pygpt_net/core/types/openai.py +2 -1
- pygpt_net/data/config/config.json +4 -4
- pygpt_net/data/config/models.json +19 -3
- pygpt_net/data/config/settings.json +14 -14
- pygpt_net/data/locale/locale.en.ini +2 -2
- pygpt_net/item/ctx.py +256 -240
- pygpt_net/item/model.py +59 -116
- pygpt_net/item/preset.py +122 -105
- pygpt_net/provider/agents/llama_index/workflow/planner.py +3 -3
- pygpt_net/provider/agents/openai/agent.py +4 -12
- pygpt_net/provider/agents/openai/agent_b2b.py +10 -15
- pygpt_net/provider/agents/openai/agent_planner.py +4 -4
- pygpt_net/provider/agents/openai/agent_with_experts.py +3 -7
- pygpt_net/provider/agents/openai/agent_with_experts_feedback.py +4 -8
- pygpt_net/provider/agents/openai/agent_with_feedback.py +4 -8
- pygpt_net/provider/agents/openai/bot_researcher.py +2 -18
- pygpt_net/provider/agents/openai/bots/__init__.py +0 -0
- pygpt_net/provider/agents/openai/bots/research_bot/__init__.py +0 -0
- pygpt_net/provider/agents/openai/bots/research_bot/agents/__init__.py +0 -0
- 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 -0
- pygpt_net/provider/agents/openai/bots/research_bot/agents/writer_agent.py +1 -1
- pygpt_net/provider/agents/openai/bots/research_bot/manager.py +1 -10
- pygpt_net/provider/agents/openai/evolve.py +5 -9
- pygpt_net/provider/agents/openai/supervisor.py +4 -8
- pygpt_net/provider/core/config/patch.py +10 -3
- pygpt_net/provider/core/ctx/db_sqlite/utils.py +43 -43
- pygpt_net/provider/core/model/patch.py +11 -1
- pygpt_net/provider/core/preset/json_file.py +47 -49
- pygpt_net/provider/gpt/agents/experts.py +2 -2
- {pygpt_net-2.6.20.dist-info → pygpt_net-2.6.21.dist-info}/METADATA +13 -6
- {pygpt_net-2.6.20.dist-info → pygpt_net-2.6.21.dist-info}/RECORD +86 -85
- {pygpt_net-2.6.20.dist-info → pygpt_net-2.6.21.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.20.dist-info → pygpt_net-2.6.21.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.20.dist-info → pygpt_net-2.6.21.dist-info}/entry_points.txt +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.23 15:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import json
|
|
@@ -226,75 +226,73 @@ class JsonFileProvider(BaseProvider):
|
|
|
226
226
|
:param data: serialized item
|
|
227
227
|
:param item: item to deserialize
|
|
228
228
|
"""
|
|
229
|
-
if MODE_CHAT in data:
|
|
230
|
-
item.chat = data[MODE_CHAT]
|
|
231
|
-
if MODE_COMPLETION in data:
|
|
232
|
-
item.completion = data[MODE_COMPLETION]
|
|
233
|
-
if MODE_IMAGE in data:
|
|
234
|
-
item.img = data[MODE_IMAGE]
|
|
235
|
-
if MODE_VISION in data:
|
|
236
|
-
item.vision = data[MODE_VISION]
|
|
237
|
-
# if MODE_LANGCHAIN in data:
|
|
238
|
-
# item.langchain = data[MODE_LANGCHAIN]
|
|
239
|
-
if MODE_ASSISTANT in data:
|
|
240
|
-
item.assistant = data[MODE_ASSISTANT]
|
|
241
|
-
if MODE_LLAMA_INDEX in data:
|
|
242
|
-
item.llama_index = data[MODE_LLAMA_INDEX]
|
|
243
229
|
if MODE_AGENT in data:
|
|
244
230
|
item.agent = data[MODE_AGENT]
|
|
245
231
|
if MODE_AGENT_LLAMA in data:
|
|
246
232
|
item.agent_llama = data[MODE_AGENT_LLAMA]
|
|
247
233
|
if MODE_AGENT_OPENAI in data:
|
|
248
234
|
item.agent_openai = data[MODE_AGENT_OPENAI]
|
|
249
|
-
if
|
|
250
|
-
item.
|
|
235
|
+
if MODE_ASSISTANT in data:
|
|
236
|
+
item.assistant = data[MODE_ASSISTANT]
|
|
251
237
|
if MODE_AUDIO in data:
|
|
252
238
|
item.audio = data[MODE_AUDIO]
|
|
253
|
-
if
|
|
254
|
-
item.
|
|
239
|
+
if MODE_CHAT in data:
|
|
240
|
+
item.chat = data[MODE_CHAT]
|
|
241
|
+
if MODE_COMPLETION in data:
|
|
242
|
+
item.completion = data[MODE_COMPLETION]
|
|
255
243
|
if MODE_COMPUTER in data:
|
|
256
244
|
item.computer = data[MODE_COMPUTER]
|
|
245
|
+
if MODE_EXPERT in data:
|
|
246
|
+
item.expert = data[MODE_EXPERT]
|
|
247
|
+
if MODE_IMAGE in data:
|
|
248
|
+
item.img = data[MODE_IMAGE]
|
|
249
|
+
if MODE_LLAMA_INDEX in data:
|
|
250
|
+
item.llama_index = data[MODE_LLAMA_INDEX]
|
|
251
|
+
if MODE_RESEARCH in data:
|
|
252
|
+
item.research = data[MODE_RESEARCH]
|
|
253
|
+
if MODE_VISION in data:
|
|
254
|
+
item.vision = data[MODE_VISION]
|
|
257
255
|
|
|
258
|
-
if 'uuid' in data:
|
|
259
|
-
item.uuid = data['uuid']
|
|
260
|
-
if 'name' in data:
|
|
261
|
-
item.name = data['name']
|
|
262
|
-
if 'ai_name' in data:
|
|
263
|
-
item.ai_name = data['ai_name']
|
|
264
|
-
if 'ai_avatar' in data:
|
|
265
|
-
item.ai_avatar = data['ai_avatar']
|
|
266
|
-
if 'ai_personalize' in data:
|
|
267
|
-
item.ai_personalize = data['ai_personalize']
|
|
268
|
-
if 'user_name' in data:
|
|
269
|
-
item.user_name = data['user_name']
|
|
270
|
-
if 'prompt' in data:
|
|
271
|
-
item.prompt = data['prompt']
|
|
272
|
-
if 'temperature' in data:
|
|
273
|
-
item.temperature = data['temperature']
|
|
274
|
-
if 'filename' in data:
|
|
275
|
-
item.filename = data['filename']
|
|
276
|
-
if 'model' in data:
|
|
277
|
-
item.model = data['model']
|
|
278
|
-
if 'tools' in data:
|
|
279
|
-
item.tools = data['tools']
|
|
280
|
-
if 'experts' in data:
|
|
281
|
-
item.experts = data['experts']
|
|
282
|
-
if 'idx' in data:
|
|
283
|
-
item.idx = data['idx']
|
|
284
256
|
if 'agent_provider' in data:
|
|
285
257
|
item.agent_provider = data['agent_provider']
|
|
286
258
|
if 'agent_provider_openai' in data:
|
|
287
259
|
item.agent_provider_openai = data['agent_provider_openai']
|
|
260
|
+
if 'ai_avatar' in data:
|
|
261
|
+
item.ai_avatar = data['ai_avatar']
|
|
262
|
+
if 'ai_name' in data:
|
|
263
|
+
item.ai_name = data['ai_name']
|
|
264
|
+
if 'ai_personalize' in data:
|
|
265
|
+
item.ai_personalize = data['ai_personalize']
|
|
288
266
|
if 'assistant_id' in data:
|
|
289
267
|
item.assistant_id = data['assistant_id']
|
|
290
|
-
if 'enabled' in data:
|
|
291
|
-
item.enabled = data['enabled']
|
|
292
268
|
if 'description' in data:
|
|
293
269
|
item.description = data['description']
|
|
294
|
-
if '
|
|
295
|
-
item.
|
|
270
|
+
if 'enabled' in data:
|
|
271
|
+
item.enabled = data['enabled']
|
|
272
|
+
if 'experts' in data:
|
|
273
|
+
item.experts = data['experts']
|
|
296
274
|
if 'extra' in data:
|
|
297
275
|
item.extra = data['extra']
|
|
276
|
+
if 'filename' in data:
|
|
277
|
+
item.filename = data['filename']
|
|
278
|
+
if 'idx' in data:
|
|
279
|
+
item.idx = data['idx']
|
|
280
|
+
if 'model' in data:
|
|
281
|
+
item.model = data['model']
|
|
282
|
+
if 'name' in data:
|
|
283
|
+
item.name = data['name']
|
|
284
|
+
if 'prompt' in data:
|
|
285
|
+
item.prompt = data['prompt']
|
|
286
|
+
if 'remote_tools' in data:
|
|
287
|
+
item.remote_tools = data['remote_tools']
|
|
288
|
+
if 'temperature' in data:
|
|
289
|
+
item.temperature = data['temperature']
|
|
290
|
+
if 'tools' in data:
|
|
291
|
+
item.tools = data['tools']
|
|
292
|
+
if 'user_name' in data:
|
|
293
|
+
item.user_name = data['user_name']
|
|
294
|
+
if 'uuid' in data:
|
|
295
|
+
item.uuid = data['uuid']
|
|
298
296
|
|
|
299
297
|
# get version
|
|
300
298
|
if '__meta__' in data and 'version' in data['__meta__']:
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
4
4
|
# MIT License #
|
|
5
5
|
# Created By : Marcin Szczygliński #
|
|
6
|
-
# Updated Date: 2025.08.
|
|
6
|
+
# Updated Date: 2025.08.24 03:00:00 #
|
|
7
7
|
# ================================================== #
|
|
8
8
|
|
|
9
9
|
from agents import (
|
|
@@ -74,7 +74,7 @@ def get_expert(
|
|
|
74
74
|
kwargs = {
|
|
75
75
|
"name": agent_name,
|
|
76
76
|
"instructions": prompt,
|
|
77
|
-
"model": model
|
|
77
|
+
"model": window.core.agents.provider.get_openai_model(model),
|
|
78
78
|
}
|
|
79
79
|
tool_kwargs = append_tools(
|
|
80
80
|
tools=tools,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.21
|
|
4
4
|
Summary: Desktop AI Assistant powered by: OpenAI GPT-5, o1, o3, GPT-4, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, internet access, file handling, command execution and more.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: py_gpt,py-gpt,pygpt,desktop,app,o1,o3,gpt-5,gpt,gpt4,gpt-4o,gpt-4v,gpt3.5,gpt-4,gpt-4-vision,gpt-3.5,llama3,mistral,gemini,grok,deepseek,bielik,claude,tts,whisper,vision,chatgpt,dall-e,chat,chatbot,assistant,text completion,image generation,ai,api,openai,api key,langchain,llama-index,ollama,presets,ui,qt,pyside
|
|
@@ -111,7 +111,7 @@ Description-Content-Type: text/markdown
|
|
|
111
111
|
|
|
112
112
|
[](https://snapcraft.io/pygpt)
|
|
113
113
|
|
|
114
|
-
Release: **2.6.
|
|
114
|
+
Release: **2.6.21** | build: **2025-08-24** | Python: **>=3.10, <3.14**
|
|
115
115
|
|
|
116
116
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
117
117
|
>
|
|
@@ -930,8 +930,6 @@ Below is a pattern for how different types of agents work. You can use these pat
|
|
|
930
930
|
|
|
931
931
|
- When the `Computer use` tool is selected for an expert or when the `computer-use` model is chosen, all other tools will not be available for that model.
|
|
932
932
|
|
|
933
|
-
- Ollama models are not supported in this mode.
|
|
934
|
-
|
|
935
933
|
## Agent (Autonomous)
|
|
936
934
|
|
|
937
935
|
This is an older version of the Agent mode, still available as legacy. However, it is recommended to use the newer mode: `Agent (LlamaIndex)`.
|
|
@@ -2489,8 +2487,6 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
|
|
|
2489
2487
|
|
|
2490
2488
|
- `Use ReAct agent for Tool calls in Chat with Files mode`: Enable ReAct agent for tool calls in Chat with Files mode.
|
|
2491
2489
|
|
|
2492
|
-
- `Display full agent output in chat window`: If enabled, a real-time output from agent reasoning will be displayed with the response.
|
|
2493
|
-
|
|
2494
2490
|
- `Auto-retrieve additional context`: Enable automatic retrieve of additional context from vector store in every query.
|
|
2495
2491
|
|
|
2496
2492
|
**Embeddings**
|
|
@@ -2545,6 +2541,8 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
|
|
|
2545
2541
|
|
|
2546
2542
|
- `Display a tray notification when the goal is achieved.`: If enabled, a notification will be displayed after goal achieved / finished run.
|
|
2547
2543
|
|
|
2544
|
+
- `Display full agent output in chat window`: If enabled, a real-time output from agent reasoning will be displayed with the response.
|
|
2545
|
+
|
|
2548
2546
|
**Agents (LlamaIndex / OpenAI)**
|
|
2549
2547
|
|
|
2550
2548
|
- `Max steps (per iteration)` - Max steps is one iteration before goal achieved
|
|
@@ -3538,6 +3536,15 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
3538
3536
|
|
|
3539
3537
|
## Recent changes:
|
|
3540
3538
|
|
|
3539
|
+
**2.6.21 (2025-08-24)**
|
|
3540
|
+
|
|
3541
|
+
- Ollama models are now available in OpenAI Agents mode.
|
|
3542
|
+
- Improved parsing of responses from Agents.
|
|
3543
|
+
- Fix: do not initialize index in Agents mode if not provided.
|
|
3544
|
+
- Fix: agent response evaluation steps limit.
|
|
3545
|
+
- Fix: do not execute code in agents if Tools are disabled.
|
|
3546
|
+
- Refactoring.
|
|
3547
|
+
|
|
3541
3548
|
**2.6.20 (2025-08-22)**
|
|
3542
3549
|
|
|
3543
3550
|
- Added a new plugin: Server (FTP/SSH) - connect to remote servers using FTP, SFTP, and SSH. Execute remote commands, upload, download, and more (beta).
|