pygpt-net 2.6.18__py3-none-any.whl → 2.6.19__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 +5 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/chat/response.py +6 -3
- pygpt_net/core/agents/observer/evaluation.py +4 -2
- pygpt_net/core/render/web/body.py +16 -1
- pygpt_net/core/render/web/renderer.py +28 -13
- pygpt_net/data/config/config.json +3 -3
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/provider/gpt/summarizer.py +4 -0
- {pygpt_net-2.6.18.dist-info → pygpt_net-2.6.19.dist-info}/METADATA +7 -2
- {pygpt_net-2.6.18.dist-info → pygpt_net-2.6.19.dist-info}/RECORD +14 -14
- {pygpt_net-2.6.18.dist-info → pygpt_net-2.6.19.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.18.dist-info → pygpt_net-2.6.19.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.18.dist-info → pygpt_net-2.6.19.dist-info}/entry_points.txt +0 -0
pygpt_net/CHANGELOG.txt
CHANGED
pygpt_net/__init__.py
CHANGED
|
@@ -6,15 +6,15 @@
|
|
|
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.22 00:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
__author__ = "Marcin Szczygliński"
|
|
13
13
|
__copyright__ = "Copyright 2025, Marcin Szczygliński"
|
|
14
14
|
__credits__ = ["Marcin Szczygliński"]
|
|
15
15
|
__license__ = "MIT"
|
|
16
|
-
__version__ = "2.6.
|
|
17
|
-
__build__ = "2025-08-
|
|
16
|
+
__version__ = "2.6.19"
|
|
17
|
+
__build__ = "2025-08-22"
|
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
|
20
20
|
__report__ = "https://github.com/szczyglis-dev/py-gpt/issues"
|
|
@@ -226,14 +226,17 @@ class Response:
|
|
|
226
226
|
})
|
|
227
227
|
self.window.dispatch(event)
|
|
228
228
|
|
|
229
|
+
# CTX OUTPUT INFO:
|
|
230
|
+
# - ctx.output may be empty here if stream in OpenAI agents
|
|
231
|
+
# - ctx.live_output may be used against output in LlamaIndex agents
|
|
229
232
|
if ctx.id is None:
|
|
230
233
|
self.window.core.ctx.add(ctx)
|
|
231
|
-
|
|
232
|
-
|
|
234
|
+
else:
|
|
235
|
+
self.window.core.ctx.update_item(ctx)
|
|
233
236
|
|
|
234
237
|
# update ctx meta
|
|
235
238
|
if mode in (MODE_AGENT_LLAMA, MODE_AGENT_OPENAI) and ctx.meta is not None:
|
|
236
|
-
self.window.core.ctx.replace(ctx.meta)
|
|
239
|
+
self.window.core.ctx.replace(ctx.meta) # update meta in items
|
|
237
240
|
self.window.core.ctx.save(ctx.meta.id)
|
|
238
241
|
|
|
239
242
|
# update preset if exists
|
|
@@ -185,14 +185,16 @@ class Evaluation:
|
|
|
185
185
|
:return: final response from agent
|
|
186
186
|
"""
|
|
187
187
|
outputs = []
|
|
188
|
+
i = 0
|
|
188
189
|
for ctx in history:
|
|
189
|
-
# if next input then clear outputs - use only output after last user input
|
|
190
|
-
if self.is_input(ctx):
|
|
190
|
+
# if next input (but not last) then clear outputs - use only output after last user input
|
|
191
|
+
if self.is_input(ctx) and i < len(history) - 1:
|
|
191
192
|
outputs.clear()
|
|
192
193
|
|
|
193
194
|
if self.is_output(ctx):
|
|
194
195
|
if ctx.output:
|
|
195
196
|
outputs.append(ctx.output)
|
|
197
|
+
i += 1
|
|
196
198
|
|
|
197
199
|
return "\n\n".join(outputs) if outputs else ""
|
|
198
200
|
|
|
@@ -262,7 +262,22 @@ class Body:
|
|
|
262
262
|
element.classList.remove('empty_list');
|
|
263
263
|
element.insertAdjacentHTML('beforeend', content);
|
|
264
264
|
highlightCode(true, element);
|
|
265
|
-
|
|
265
|
+
scrollToBottom(false); // without schedule
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
function replaceNodes(content) {
|
|
269
|
+
if (DEBUG_MODE) {
|
|
270
|
+
log("REPLACE NODES: {" + content + "}");
|
|
271
|
+
}
|
|
272
|
+
clearStreamBefore();
|
|
273
|
+
prevScroll = 0;
|
|
274
|
+
const element = els.nodes || document.getElementById('_nodes_');
|
|
275
|
+
if (element) {
|
|
276
|
+
element.classList.remove('empty_list');
|
|
277
|
+
element.replaceChildren();
|
|
278
|
+
element.insertAdjacentHTML('beforeend', content);
|
|
279
|
+
highlightCode(true, element);
|
|
280
|
+
scrollToBottom(false); // without schedule
|
|
266
281
|
}
|
|
267
282
|
}
|
|
268
283
|
function clean() {
|
|
@@ -422,7 +422,7 @@ class Renderer(BaseRenderer):
|
|
|
422
422
|
self.init(pid)
|
|
423
423
|
|
|
424
424
|
if clear:
|
|
425
|
-
self.reset(meta)
|
|
425
|
+
self.reset(meta, clear_nodes=False) # nodes will be cleared later, in flush_output()
|
|
426
426
|
|
|
427
427
|
self.pids[pid].use_buffer = True
|
|
428
428
|
self.pids[pid].html = ""
|
|
@@ -482,7 +482,8 @@ class Renderer(BaseRenderer):
|
|
|
482
482
|
if html_parts:
|
|
483
483
|
self.append(
|
|
484
484
|
pid,
|
|
485
|
-
"".join(html_parts)
|
|
485
|
+
"".join(html_parts),
|
|
486
|
+
replace=True,
|
|
486
487
|
)
|
|
487
488
|
|
|
488
489
|
html_parts.clear()
|
|
@@ -495,6 +496,7 @@ class Renderer(BaseRenderer):
|
|
|
495
496
|
pid,
|
|
496
497
|
self.pids[pid].html,
|
|
497
498
|
flush=True,
|
|
499
|
+
replace=True,
|
|
498
500
|
)
|
|
499
501
|
self.parser.reset()
|
|
500
502
|
|
|
@@ -894,7 +896,8 @@ class Renderer(BaseRenderer):
|
|
|
894
896
|
self,
|
|
895
897
|
pid,
|
|
896
898
|
html: str,
|
|
897
|
-
flush: bool = False
|
|
899
|
+
flush: bool = False,
|
|
900
|
+
replace: bool = False,
|
|
898
901
|
):
|
|
899
902
|
"""
|
|
900
903
|
Append text to output
|
|
@@ -902,11 +905,12 @@ class Renderer(BaseRenderer):
|
|
|
902
905
|
:param pid: ctx pid
|
|
903
906
|
:param html: HTML code
|
|
904
907
|
:param flush: True if flush only
|
|
908
|
+
:param replace: True if replace current content
|
|
905
909
|
"""
|
|
906
910
|
if self.pids[pid].loaded and not self.pids[pid].use_buffer:
|
|
907
911
|
self.clear_chunks(pid)
|
|
908
912
|
if html:
|
|
909
|
-
self.flush_output(pid, html)
|
|
913
|
+
self.flush_output(pid, html, replace)
|
|
910
914
|
self.pids[pid].clear()
|
|
911
915
|
else:
|
|
912
916
|
if not flush:
|
|
@@ -1064,33 +1068,37 @@ class Renderer(BaseRenderer):
|
|
|
1064
1068
|
|
|
1065
1069
|
def reset(
|
|
1066
1070
|
self,
|
|
1067
|
-
meta: Optional[CtxMeta] = None
|
|
1071
|
+
meta: Optional[CtxMeta] = None,
|
|
1072
|
+
clear_nodes: bool = True
|
|
1068
1073
|
):
|
|
1069
1074
|
"""
|
|
1070
1075
|
Reset
|
|
1071
1076
|
|
|
1072
1077
|
:param meta: Context meta
|
|
1078
|
+
:param clear_nodes: True if clear nodes
|
|
1073
1079
|
"""
|
|
1074
1080
|
pid = self.get_pid(meta)
|
|
1075
1081
|
if pid is not None and pid in self.pids:
|
|
1076
|
-
self.reset_by_pid(pid)
|
|
1082
|
+
self.reset_by_pid(pid, clear_nodes=clear_nodes)
|
|
1077
1083
|
else:
|
|
1078
1084
|
if meta is not None:
|
|
1079
1085
|
pid = self.get_or_create_pid(meta)
|
|
1080
|
-
self.reset_by_pid(pid)
|
|
1086
|
+
self.reset_by_pid(pid, clear_nodes=clear_nodes)
|
|
1081
1087
|
|
|
1082
1088
|
self.clear_live(meta, CtxItem())
|
|
1083
1089
|
|
|
1084
|
-
def reset_by_pid(self, pid: Optional[int]):
|
|
1090
|
+
def reset_by_pid(self, pid: Optional[int], clear_nodes: bool = True):
|
|
1085
1091
|
"""
|
|
1086
1092
|
Reset by PID
|
|
1087
1093
|
|
|
1088
1094
|
:param pid: context PID
|
|
1095
|
+
:param clear_nodes: True if clear nodes
|
|
1089
1096
|
"""
|
|
1090
1097
|
self.parser.reset()
|
|
1091
1098
|
self.pids[pid].item = None
|
|
1092
1099
|
self.pids[pid].html = ""
|
|
1093
|
-
|
|
1100
|
+
if clear_nodes:
|
|
1101
|
+
self.clear_nodes(pid)
|
|
1094
1102
|
self.clear_chunks(pid)
|
|
1095
1103
|
self.pids[pid].images_appended = []
|
|
1096
1104
|
self.pids[pid].urls_appended = []
|
|
@@ -1379,18 +1387,25 @@ class Renderer(BaseRenderer):
|
|
|
1379
1387
|
def flush_output(
|
|
1380
1388
|
self,
|
|
1381
1389
|
pid: Optional[int],
|
|
1382
|
-
html: str
|
|
1390
|
+
html: str,
|
|
1391
|
+
replace: bool = False
|
|
1383
1392
|
):
|
|
1384
1393
|
"""
|
|
1385
1394
|
Flush output
|
|
1386
1395
|
|
|
1387
1396
|
:param pid: context PID
|
|
1388
1397
|
:param html: HTML code
|
|
1398
|
+
:param replace: True if replace current content
|
|
1389
1399
|
"""
|
|
1390
1400
|
try:
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1401
|
+
if replace:
|
|
1402
|
+
self.get_output_node_by_pid(pid).page().runJavaScript(
|
|
1403
|
+
f"if (typeof window.replaceNodes !== 'undefined') replaceNodes({self.to_json(self.sanitize_html(html))});"
|
|
1404
|
+
)
|
|
1405
|
+
else:
|
|
1406
|
+
self.get_output_node_by_pid(pid).page().runJavaScript(
|
|
1407
|
+
f"if (typeof window.appendNode !== 'undefined') appendNode({self.to_json(self.sanitize_html(html))});"
|
|
1408
|
+
)
|
|
1394
1409
|
except Exception:
|
|
1395
1410
|
pass
|
|
1396
1411
|
html = None
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"app.version": "2.6.
|
|
5
|
-
"updated_at": "2025-08-
|
|
3
|
+
"version": "2.6.19",
|
|
4
|
+
"app.version": "2.6.19",
|
|
5
|
+
"updated_at": "2025-08-22T00:00:00"
|
|
6
6
|
},
|
|
7
7
|
"access.audio.event.speech": false,
|
|
8
8
|
"access.audio.event.speech.disabled": [],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"app.version": "2.6.
|
|
5
|
-
"updated_at": "2025-08-
|
|
3
|
+
"version": "2.6.19",
|
|
4
|
+
"app.version": "2.6.19",
|
|
5
|
+
"updated_at": "2025-08-22T23:07:35"
|
|
6
6
|
},
|
|
7
7
|
"items": {
|
|
8
8
|
"SpeakLeash/bielik-11b-v2.3-instruct:Q4_K_M": {
|
|
@@ -35,6 +35,10 @@ class Summarizer:
|
|
|
35
35
|
system_prompt = self.window.core.prompt.get('ctx.auto_summary.system')
|
|
36
36
|
truncated_input = str(ctx.input)[:max_chars] + '...' if len(str(ctx.input)) > max_chars else str(ctx.input)
|
|
37
37
|
truncated_output = str(ctx.output)[:max_chars] + '...' if len(str(ctx.output)) > max_chars else str(ctx.output)
|
|
38
|
+
|
|
39
|
+
if not truncated_input and (not truncated_output or truncated_output == "None"):
|
|
40
|
+
return ""
|
|
41
|
+
|
|
38
42
|
if truncated_output and truncated_output != "None":
|
|
39
43
|
text = (self.window.core.prompt.get('ctx.auto_summary.user').
|
|
40
44
|
replace("{input}", truncated_input).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.19
|
|
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
|
|
@@ -109,7 +109,7 @@ Description-Content-Type: text/markdown
|
|
|
109
109
|
|
|
110
110
|
[](https://snapcraft.io/pygpt)
|
|
111
111
|
|
|
112
|
-
Release: **2.6.
|
|
112
|
+
Release: **2.6.19** | build: **2025-08-22** | Python: **>=3.10, <3.14**
|
|
113
113
|
|
|
114
114
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
115
115
|
>
|
|
@@ -4567,6 +4567,11 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
4567
4567
|
|
|
4568
4568
|
## Recent changes:
|
|
4569
4569
|
|
|
4570
|
+
**2.6.19 (2025-08-22)**
|
|
4571
|
+
|
|
4572
|
+
- Fixed: added prevention for summarizing an empty context.
|
|
4573
|
+
- Improved the speed of context item refreshing.
|
|
4574
|
+
|
|
4570
4575
|
**2.6.18 (2025-08-21)**
|
|
4571
4576
|
|
|
4572
4577
|
- Refactor and optimizations.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
|
1
|
+
pygpt_net/CHANGELOG.txt,sha256=pXUA8cJ0SH9plFL3gWKvSbZnyzd0o75KVsH_302jVC0,100677
|
|
2
2
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
|
3
|
-
pygpt_net/__init__.py,sha256=
|
|
3
|
+
pygpt_net/__init__.py,sha256=3qsXSKahk5822CHe-IOkYBE6ti5pr-IXDt4dqrPbAxc,1373
|
|
4
4
|
pygpt_net/app.py,sha256=jBRU18JvJPWwzTTMwrRA986jBFYQSVvB6C_xcJDY7ZI,21007
|
|
5
5
|
pygpt_net/config.py,sha256=LCKrqQfePVNrAvH3EY_1oZx1Go754sDoyUneJ0iGWFI,16660
|
|
6
6
|
pygpt_net/container.py,sha256=NsMSHURaEC_eW8vrCNdztwqkxB7jui3yVlzUOMYvCHg,4124
|
|
@@ -42,7 +42,7 @@ pygpt_net/controller/chat/image.py,sha256=yPX26gsz0fLnyXR88lpVyvvHnKA-yZwfXJ4paU
|
|
|
42
42
|
pygpt_net/controller/chat/input.py,sha256=EPA90r6GqHIlu4JJbr0cuvKIEYSs6LVkimxrWHAyyX0,12390
|
|
43
43
|
pygpt_net/controller/chat/output.py,sha256=VL4OmC6MMy2KvJlMo6ipFqvd0oVNUK9F14BzUHWFfno,10860
|
|
44
44
|
pygpt_net/controller/chat/render.py,sha256=-Z-beOsEvw_tS4I8kBT5Z0n9KhDlgrEQH4x1PLDvxhE,20613
|
|
45
|
-
pygpt_net/controller/chat/response.py,sha256=
|
|
45
|
+
pygpt_net/controller/chat/response.py,sha256=AydIFs507x3K3nd1HG-nsBBgLCoxM9IHXdcUMT8kQiw,12278
|
|
46
46
|
pygpt_net/controller/chat/stream.py,sha256=zmDGI_Z9Rn8IYv6vEIVBMTOGjjY0zlfmM3qJMddRGRI,21994
|
|
47
47
|
pygpt_net/controller/chat/text.py,sha256=ktluNw9ItG4g9p3OpOSmgALhFf1Gnonhl3J9kLzdTqU,10743
|
|
48
48
|
pygpt_net/controller/chat/vision.py,sha256=LsFc0TZZwY8dVtJH6Q5iha8rUQCf5HhOMuRXMtnLzZU,3578
|
|
@@ -146,7 +146,7 @@ pygpt_net/core/agents/bridge.py,sha256=KhCbMTZNigNlgOhXEMN1kqWGNUhkEdjFdiHBBVTAr
|
|
|
146
146
|
pygpt_net/core/agents/legacy.py,sha256=DdlyIpFjmeAC4XUGtq3F5_1BLGZLPOej0RZ6x9ycFjM,1731
|
|
147
147
|
pygpt_net/core/agents/memory.py,sha256=9Jz9kT-xT8QPpGeXEpWopJUGBLLHu6Ys_-fRrg6BWDg,5210
|
|
148
148
|
pygpt_net/core/agents/observer/__init__.py,sha256=qVIBJKpGbc0k7PTESAwAR7SbN-pbkBMJUTzeliCAaJU,651
|
|
149
|
-
pygpt_net/core/agents/observer/evaluation.py,sha256=
|
|
149
|
+
pygpt_net/core/agents/observer/evaluation.py,sha256=xA1TDHA6g0N1KXnZr92Xvi7pKYhiWHTTaM5G3L1oxlA,8109
|
|
150
150
|
pygpt_net/core/agents/provider.py,sha256=rjxnuqzRxv2Z1d9i_wKpREwJBTeTgtyBDYtyHuwcSPA,2440
|
|
151
151
|
pygpt_net/core/agents/runner.py,sha256=_R6bG1AD7uaHr158Az0DLQduy96dkr6UPyCWumSwFXE,12248
|
|
152
152
|
pygpt_net/core/agents/runners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -304,11 +304,11 @@ pygpt_net/core/render/plain/helpers.py,sha256=CMF84kSeuQnkgZVHmN_9YWaL5BC958tDE9
|
|
|
304
304
|
pygpt_net/core/render/plain/pid.py,sha256=Pz3v1tnLj-XI_9vcaVkCf9SZ2EgVs4LYV4qzelBMoOg,1119
|
|
305
305
|
pygpt_net/core/render/plain/renderer.py,sha256=CVCdwuDUZEpYna3tkwDlZLN7bwRMu-fBX636k5blqxM,15637
|
|
306
306
|
pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
|
|
307
|
-
pygpt_net/core/render/web/body.py,sha256=
|
|
307
|
+
pygpt_net/core/render/web/body.py,sha256=ZmVK7mf74ebbctpVsqRsUfM4fJDpxQC-rirvYPecBw0,55666
|
|
308
308
|
pygpt_net/core/render/web/helpers.py,sha256=ivrXrCqRIUWHDmu3INu-i6XUlB2W9IOO8iYyqpbnSRU,5438
|
|
309
309
|
pygpt_net/core/render/web/parser.py,sha256=pDFc9Tf8P-jvrDilXyT1fukcQHbixHRJ9Dn9hF10Gko,12892
|
|
310
310
|
pygpt_net/core/render/web/pid.py,sha256=pXBdPb8hw_aZS2Rtz3pLBpuybpXrzoqwYAFWBal9bLE,3685
|
|
311
|
-
pygpt_net/core/render/web/renderer.py,sha256=
|
|
311
|
+
pygpt_net/core/render/web/renderer.py,sha256=Toc8DXNsKO-V5wEd9fCZ-4WPv1xgQLRcD4ozlJ_yUGs,57308
|
|
312
312
|
pygpt_net/core/render/web/syntax_highlight.py,sha256=QSLGF5cJL_Xeqej7_TYwY_5C2w9enXV_cMEuaJ3C43U,2005
|
|
313
313
|
pygpt_net/core/settings/__init__.py,sha256=GQ6_gJ2jf_Chm7ZuZLvkcvEh_sfMDVMBieeoJi2iPI4,512
|
|
314
314
|
pygpt_net/core/settings/settings.py,sha256=onqwNiICm2VhHfmXLvp1MiEJ14m2jzeeI2pjUiaUwtY,7787
|
|
@@ -345,8 +345,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
|
345
345
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
|
346
346
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
|
347
347
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
|
348
|
-
pygpt_net/data/config/config.json,sha256=
|
|
349
|
-
pygpt_net/data/config/models.json,sha256=
|
|
348
|
+
pygpt_net/data/config/config.json,sha256=sFI99Xg2JwriJzFqKXPsqhDQ825ZwhyuuUdV3vO7wH4,24924
|
|
349
|
+
pygpt_net/data/config/models.json,sha256=g5-Xu_mh8z-gG8tJRz98Q65WIDjO1ARnbJvMIMPnIKI,109650
|
|
350
350
|
pygpt_net/data/config/modes.json,sha256=M882iiqX_R2sNQl9cqZ3k-uneEvO9wpARtHRMLx_LHw,2265
|
|
351
351
|
pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
|
|
352
352
|
pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
|
|
@@ -2098,7 +2098,7 @@ pygpt_net/provider/gpt/image.py,sha256=p1p8zXuhHPUey8B_ruGAW8eQXuvXxOFGlQITtazM7
|
|
|
2098
2098
|
pygpt_net/provider/gpt/remote_tools.py,sha256=eppSMpcr-5HD6vX2FZQJyr2UTKtunLxdl2nefndDh0M,5670
|
|
2099
2099
|
pygpt_net/provider/gpt/responses.py,sha256=GN3QdPBlXQn0MDeJOY-yzKhWgm1iqptu-hnHAbYbRpE,29137
|
|
2100
2100
|
pygpt_net/provider/gpt/store.py,sha256=4Mf3yv8x-ab2xBfIxtzQyJvzBnOLFddGQ83Prvcqkvk,17265
|
|
2101
|
-
pygpt_net/provider/gpt/summarizer.py,sha256=
|
|
2101
|
+
pygpt_net/provider/gpt/summarizer.py,sha256=vuJz6mj9F9Psiat0d-fn1zNGgXc-WkXJyi0jrvijO6E,2978
|
|
2102
2102
|
pygpt_net/provider/gpt/tools.py,sha256=Oh9mnGIXfnwoRTx6f-9ZItD-v3loyr4OtcvhmgroyrY,3146
|
|
2103
2103
|
pygpt_net/provider/gpt/utils.py,sha256=O0H0EPb4lXUMfE1bFdWB56yuWLv7M5owVIGWRyDDv-E,855
|
|
2104
2104
|
pygpt_net/provider/gpt/vision.py,sha256=bdo5hQRDSVSvWMQT29RCxAYrwSqIfYfpJnyKyVL1CZQ,12716
|
|
@@ -2439,8 +2439,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=xGI-47bZ5M_vf_jMc2R9sB1-vuHJbgd5FxE5t
|
|
|
2439
2439
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
|
2440
2440
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
|
2441
2441
|
pygpt_net/utils.py,sha256=GBAXOpp_Wjfu7Al7TnTV62-R-JPMiP9GuPXLJ0HmeJU,8906
|
|
2442
|
-
pygpt_net-2.6.
|
|
2443
|
-
pygpt_net-2.6.
|
|
2444
|
-
pygpt_net-2.6.
|
|
2445
|
-
pygpt_net-2.6.
|
|
2446
|
-
pygpt_net-2.6.
|
|
2442
|
+
pygpt_net-2.6.19.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
|
2443
|
+
pygpt_net-2.6.19.dist-info/METADATA,sha256=ZQG0mftnPm3VOC9m38G0n7AcPiZp9_ZhKdFE3qydZrA,190399
|
|
2444
|
+
pygpt_net-2.6.19.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
2445
|
+
pygpt_net-2.6.19.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
|
2446
|
+
pygpt_net-2.6.19.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|