pygpt-net 2.4.45__py3-none-any.whl → 2.4.46__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.
- CHANGELOG.md +6 -0
- README.md +28 -8
- pygpt_net/CHANGELOG.txt +6 -0
- pygpt_net/__init__.py +2 -2
- pygpt_net/controller/chat/text.py +5 -2
- pygpt_net/controller/idx/__init__.py +2 -1
- pygpt_net/controller/settings/__init__.py +2 -2
- pygpt_net/core/idx/chat.py +71 -11
- pygpt_net/data/config/config.json +7 -2
- pygpt_net/data/config/models.json +311 -14
- pygpt_net/data/config/modes.json +2 -2
- pygpt_net/data/config/settings.json +104 -11
- pygpt_net/data/config/settings_section.json +3 -0
- pygpt_net/data/locale/locale.de.ini +17 -1
- pygpt_net/data/locale/locale.en.ini +19 -2
- pygpt_net/data/locale/locale.es.ini +17 -1
- pygpt_net/data/locale/locale.fr.ini +17 -1
- pygpt_net/data/locale/locale.it.ini +17 -1
- pygpt_net/data/locale/locale.pl.ini +17 -1
- pygpt_net/data/locale/locale.uk.ini +17 -1
- pygpt_net/data/locale/locale.zh.ini +17 -1
- pygpt_net/data/locale/plugin.cmd_web.de.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.en.ini +5 -5
- pygpt_net/data/locale/plugin.cmd_web.es.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.fr.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.it.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.pl.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.uk.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.zh.ini +1 -1
- pygpt_net/data/locale/plugin.mailer.en.ini +9 -9
- pygpt_net/provider/core/config/patch.py +16 -1
- pygpt_net/provider/core/model/patch.py +156 -1
- pygpt_net/ui/dialog/settings.py +22 -7
- {pygpt_net-2.4.45.dist-info → pygpt_net-2.4.46.dist-info}/METADATA +29 -9
- {pygpt_net-2.4.45.dist-info → pygpt_net-2.4.46.dist-info}/RECORD +38 -38
- {pygpt_net-2.4.45.dist-info → pygpt_net-2.4.46.dist-info}/LICENSE +0 -0
- {pygpt_net-2.4.45.dist-info → pygpt_net-2.4.46.dist-info}/WHEEL +0 -0
- {pygpt_net-2.4.45.dist-info → pygpt_net-2.4.46.dist-info}/entry_points.txt +0 -0
@@ -50,8 +50,8 @@ prompt_summarize_url.description = Prompt używany do podsumowywania określonej
|
|
50
50
|
prompt_summarize_url.label = Prompt podsumowujący (otwarte URL)
|
51
51
|
provider.description = Wybierz dostawcę wyszukiwarki, domyślnie: Google.
|
52
52
|
provider.label = Dostawca
|
53
|
-
raw.label = Użyj surowej zawartości (bez podsumowania)
|
54
53
|
raw.description = Zwróć surową zawartość z wyszukiwania w sieci zamiast podsumowanej zawartości
|
54
|
+
raw.label = Użyj surowej zawartości (bez podsumowania)
|
55
55
|
summary_max_tokens.description = Maksymalna liczba tokenów w wyniku przy generowaniu podsumowania.
|
56
56
|
summary_max_tokens.label = Maksymalna liczba tokenów podsumowania
|
57
57
|
summary_model.description = Model używany do podsumowywania stron internetowych, domyślnie: gpt-3.5-turbo-1106.
|
@@ -50,8 +50,8 @@ prompt_summarize_url.description = Шаблон для підсумування
|
|
50
50
|
prompt_summarize_url.label = Шаблон підсумування (відкриття URL)
|
51
51
|
provider.description = Виберіть провайдера пошукової системи, за замовчуванням: Google.
|
52
52
|
provider.label = Провайдер
|
53
|
-
raw.label = Використовувати сирий контент (без узагальнення)
|
54
53
|
raw.description = Повернути сирий контент з пошуку в Інтернеті замість узагальненого контенту
|
54
|
+
raw.label = Використовувати сирий контент (без узагальнення)
|
55
55
|
summary_max_tokens.description = Максимальна кількість токенів у виводі при створенні підсумку.
|
56
56
|
summary_max_tokens.label = Макс. токенів підсумування
|
57
57
|
summary_model.description = Модель, яка використовується для підсумування вебсторінок, за замовчуванням: gpt-3.5-turbo-1106.
|
@@ -50,8 +50,8 @@ prompt_summarize_url.description = 用于总结指定URL页面的提示。
|
|
50
50
|
prompt_summarize_url.label = 总结URL页面的提示
|
51
51
|
provider.description = 选择搜索引擎提供者,默认为Google。
|
52
52
|
provider.label = 提供者
|
53
|
-
raw.label = 使用原始内容(不进行总结)
|
54
53
|
raw.description = 返回来自网络搜索的原始内容,而不是总结的内容
|
54
|
+
raw.label = 使用原始内容(不进行总结)
|
55
55
|
summary_max_tokens.description = 在生成总结时输出的最大代币数。
|
56
56
|
summary_max_tokens.label = 总结的最大代币数
|
57
57
|
summary_model.description = 用于总结网页的模型,默认为:gpt-3.5-turbo-1106。
|
@@ -1,21 +1,21 @@
|
|
1
1
|
[LOCALE]
|
2
|
-
cmd.send_email.label = Enable: send email
|
3
|
-
cmd.send_email.description = Allows for sending emails.
|
4
|
-
cmd.get_emails.label = Enable: receive emails
|
5
|
-
cmd.get_emails.description = Allows for receiving emails.
|
6
|
-
cmd.get_email_body.label = Enable: get email body
|
7
2
|
cmd.get_email_body.description = Allows for receive email body.
|
3
|
+
cmd.get_email_body.label = Enable: get email body
|
4
|
+
cmd.get_emails.description = Allows for receiving emails.
|
5
|
+
cmd.get_emails.label = Enable: receive emails
|
6
|
+
cmd.send_email.description = Allows for sending emails.
|
7
|
+
cmd.send_email.label = Enable: send email
|
8
|
+
from_email.description = From (email), e.g. me@domain.com
|
9
|
+
from_email.label = From (email)
|
8
10
|
plugin.description = Provides the ability to send, receive and read emails from SMTP server.
|
9
11
|
plugin.name = Mailer
|
10
12
|
smtp_host.description = SMTP Host, e.g. smtp.domain.com
|
11
13
|
smtp_host.label = Host
|
14
|
+
smtp_password.description = SMTP Password
|
15
|
+
smtp_password.label = Password
|
12
16
|
smtp_port_inbox.description = SMTP Port (Inbox), default: 995
|
13
17
|
smtp_port_inbox.label = Port (Inbox)
|
14
18
|
smtp_port_outbox.description = SMTP Port (Outbox), default: 465
|
15
19
|
smtp_port_outbox.label = Port (Outbox)
|
16
20
|
smtp_user.description = SMTP User, e.g. user@domain.com
|
17
21
|
smtp_user.label = User
|
18
|
-
smtp_password.description = SMTP Password
|
19
|
-
smtp_password.label = Password
|
20
|
-
from_email.description = From (email), e.g. me@domain.com
|
21
|
-
from_email.label = From (email)
|
@@ -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: 2024.12.
|
9
|
+
# Updated Date: 2024.12.16 20:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import copy
|
@@ -1788,6 +1788,21 @@ class Patch:
|
|
1788
1788
|
self.window.core.updater.patch_css('style.css', True) # force update
|
1789
1789
|
updated = True
|
1790
1790
|
|
1791
|
+
# < 2.4.46
|
1792
|
+
if old < parse_version("2.4.46"):
|
1793
|
+
print("Migrating config from < 2.4.46...")
|
1794
|
+
if 'api_azure_version' not in data:
|
1795
|
+
data["api_azure_version"] = "2023-07-01-preview"
|
1796
|
+
if 'api_azure_endpoint' not in data:
|
1797
|
+
data["api_azure_endpoint"] = "https://<your-resource-name>.openai.azure.com/"
|
1798
|
+
if 'api_key_google' not in data:
|
1799
|
+
data["api_key_google"] = ""
|
1800
|
+
if 'api_key_anthropic' not in data:
|
1801
|
+
data["api_key_anthropic"] = ""
|
1802
|
+
if 'api_key_hugging_face' not in data:
|
1803
|
+
data["api_key_hugging_face"] = ""
|
1804
|
+
updated = True
|
1805
|
+
|
1791
1806
|
# update file
|
1792
1807
|
migrated = False
|
1793
1808
|
if updated:
|
@@ -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: 2024.
|
9
|
+
# Updated Date: 2024.12.16 20:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
from packaging.version import parse as parse_version, Version
|
@@ -314,6 +314,161 @@ class Patch:
|
|
314
314
|
# add missing gpt-4o-audio-preview, gpt-4o-2024-11-20
|
315
315
|
updated = True
|
316
316
|
|
317
|
+
# < 2.4.46 <--- add separated API keys
|
318
|
+
if old < parse_version("2.4.46"):
|
319
|
+
print("Migrating models from < 2.4.46...")
|
320
|
+
azure_endpoint = ""
|
321
|
+
azure_api_version = ""
|
322
|
+
google_key = ""
|
323
|
+
anthropic_key = ""
|
324
|
+
for id in data:
|
325
|
+
model = data[id]
|
326
|
+
# OpenAI
|
327
|
+
if model.id.startswith("gpt-") or model.id.startswith("o1-"):
|
328
|
+
# langchain
|
329
|
+
is_endpoint = False
|
330
|
+
is_version = False
|
331
|
+
for item in model.langchain["env"]:
|
332
|
+
if item["name"] == "AZURE_OPENAI_ENDPOINT":
|
333
|
+
is_endpoint = True
|
334
|
+
if (item["value"]
|
335
|
+
and item["value"] not in ["{api_azure_endpoint}", "{api_endpoint}"]):
|
336
|
+
azure_endpoint = item["value"]
|
337
|
+
item["value"] = "{api_azure_endpoint}"
|
338
|
+
elif item["name"] == "OPENAI_API_VERSION":
|
339
|
+
is_version = True
|
340
|
+
if (item["value"]
|
341
|
+
and item["value"] not in ["{api_azure_version}"]):
|
342
|
+
azure_api_version = item["value"]
|
343
|
+
item["value"] = "{api_azure_version}"
|
344
|
+
if not is_endpoint:
|
345
|
+
model.langchain["env"].append(
|
346
|
+
{
|
347
|
+
"name": "AZURE_OPENAI_ENDPOINT",
|
348
|
+
"value": "{api_azure_endpoint}",
|
349
|
+
}
|
350
|
+
)
|
351
|
+
if not is_version:
|
352
|
+
model.langchain["env"].append(
|
353
|
+
{
|
354
|
+
"name": "OPENAI_API_VERSION",
|
355
|
+
"value": "{api_azure_version}",
|
356
|
+
}
|
357
|
+
)
|
358
|
+
|
359
|
+
# llama
|
360
|
+
is_endpoint = False
|
361
|
+
is_version = False
|
362
|
+
for item in model.llama_index["env"]:
|
363
|
+
if item["name"] == "AZURE_OPENAI_ENDPOINT":
|
364
|
+
is_endpoint = True
|
365
|
+
if (item["value"]
|
366
|
+
and item["value"] not in ["{api_azure_endpoint}", "{api_endpoint}"]):
|
367
|
+
azure_endpoint = item["value"]
|
368
|
+
item["value"] = "{api_azure_endpoint}"
|
369
|
+
elif item["name"] == "OPENAI_API_VERSION":
|
370
|
+
is_version = True
|
371
|
+
if (item["value"]
|
372
|
+
and item["value"] not in ["{api_azure_version}"]):
|
373
|
+
azure_api_version = item["value"]
|
374
|
+
item["value"] = "{api_azure_version}"
|
375
|
+
if not is_endpoint:
|
376
|
+
model.llama_index["env"].append(
|
377
|
+
{
|
378
|
+
"name": "AZURE_OPENAI_ENDPOINT",
|
379
|
+
"value": "{api_azure_endpoint}",
|
380
|
+
}
|
381
|
+
)
|
382
|
+
if not is_version:
|
383
|
+
model.llama_index["env"].append(
|
384
|
+
{
|
385
|
+
"name": "OPENAI_API_VERSION",
|
386
|
+
"value": "{api_azure_version}",
|
387
|
+
}
|
388
|
+
)
|
389
|
+
|
390
|
+
# Anthropic
|
391
|
+
elif model.id.startswith("claude-"):
|
392
|
+
is_key = False
|
393
|
+
for item in model.langchain["env"]:
|
394
|
+
if item["name"] == "ANTHROPIC_API_KEY":
|
395
|
+
is_key = True
|
396
|
+
if (item["value"]
|
397
|
+
and item["value"] not in ["{api_key}"]):
|
398
|
+
anthropic_key = item["value"]
|
399
|
+
item["value"] = "{api_key_anthropic}"
|
400
|
+
if not is_key:
|
401
|
+
model.langchain["env"].append(
|
402
|
+
{
|
403
|
+
"name": "ANTHROPIC_API_KEY",
|
404
|
+
"value": "{api_key_anthropic}",
|
405
|
+
}
|
406
|
+
)
|
407
|
+
is_key = False
|
408
|
+
for item in model.llama_index["env"]:
|
409
|
+
if item["name"] == "ANTHROPIC_API_KEY":
|
410
|
+
is_key = True
|
411
|
+
if (item["value"]
|
412
|
+
and item["value"] not in ["{api_key}"]):
|
413
|
+
anthropic_key = item["value"]
|
414
|
+
item["value"] = "{api_key_anthropic}"
|
415
|
+
if not is_key:
|
416
|
+
model.llama_index["env"].append(
|
417
|
+
{
|
418
|
+
"name": "ANTHROPIC_API_KEY",
|
419
|
+
"value": "{api_key_anthropic}",
|
420
|
+
}
|
421
|
+
)
|
422
|
+
# Google
|
423
|
+
elif model.id.startswith("gemini-"):
|
424
|
+
is_key = False
|
425
|
+
for item in model.langchain["env"]:
|
426
|
+
if item["name"] == "GOOGLE_API_KEY":
|
427
|
+
is_key = True
|
428
|
+
if (item["value"]
|
429
|
+
and item["value"] not in ["{api_key}"]):
|
430
|
+
google_key = item["value"]
|
431
|
+
item["value"] = "{api_key_google}"
|
432
|
+
if not is_key:
|
433
|
+
model.langchain["env"].append(
|
434
|
+
{
|
435
|
+
"name": "GOOGLE_API_KEY",
|
436
|
+
"value": "{api_key_google}",
|
437
|
+
}
|
438
|
+
)
|
439
|
+
is_key = False
|
440
|
+
for item in model.llama_index["env"]:
|
441
|
+
if item["name"] == "GOOGLE_API_KEY":
|
442
|
+
is_key = True
|
443
|
+
if (item["value"]
|
444
|
+
and item["value"] not in ["{api_key}"]):
|
445
|
+
google_key = item["value"]
|
446
|
+
item["value"] = "{api_key_google}"
|
447
|
+
if not is_key:
|
448
|
+
model.llama_index["env"].append(
|
449
|
+
{
|
450
|
+
"name": "GOOGLE_API_KEY",
|
451
|
+
"value": "{api_key_google}",
|
452
|
+
}
|
453
|
+
)
|
454
|
+
# move API keys to config
|
455
|
+
config_updated = False
|
456
|
+
if azure_endpoint:
|
457
|
+
self.window.core.config.set("api_azure_endpoint", azure_endpoint)
|
458
|
+
config_updated = True
|
459
|
+
if azure_api_version:
|
460
|
+
self.window.core.config.set("api_azure_version", azure_api_version)
|
461
|
+
config_updated = True
|
462
|
+
if google_key:
|
463
|
+
self.window.core.config.set("api_key_google", google_key)
|
464
|
+
config_updated = True
|
465
|
+
if anthropic_key:
|
466
|
+
self.window.core.config.set("api_key_anthropic", anthropic_key)
|
467
|
+
config_updated = True
|
468
|
+
if config_updated:
|
469
|
+
self.window.core.config.save()
|
470
|
+
updated = True
|
471
|
+
|
317
472
|
# update file
|
318
473
|
if updated:
|
319
474
|
data = dict(sorted(data.items()))
|
pygpt_net/ui/dialog/settings.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: 2024.
|
9
|
+
# Updated Date: 2024.12.16 20:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
from PySide6.QtCore import Qt
|
@@ -71,9 +71,24 @@ class Settings(BaseConfigDialog):
|
|
71
71
|
content_tabs = {}
|
72
72
|
scroll_tabs = {}
|
73
73
|
advanced_keys = {} # advanced options keys
|
74
|
+
first_tab = "general"
|
74
75
|
|
75
76
|
# get settings options for section
|
76
77
|
fields = self.window.controller.settings.editor.get_options(section_id)
|
78
|
+
is_general = False
|
79
|
+
for key in fields:
|
80
|
+
if 'tab' in fields[key]:
|
81
|
+
tab = fields[key]['tab']
|
82
|
+
if tab is not None:
|
83
|
+
if first_tab == "general":
|
84
|
+
first_tab = tab
|
85
|
+
if tab.lower() == "general":
|
86
|
+
is_general = True
|
87
|
+
break
|
88
|
+
else:
|
89
|
+
is_general = True
|
90
|
+
break
|
91
|
+
|
77
92
|
|
78
93
|
# extract tab ids, general is default
|
79
94
|
tab_ids = self.extract_option_tabs(fields)
|
@@ -124,7 +139,7 @@ class Settings(BaseConfigDialog):
|
|
124
139
|
elif fields[key]['type'] == 'combo':
|
125
140
|
options[key] = self.add_option(widgets[key], fields[key]) # combobox
|
126
141
|
|
127
|
-
self.window.ui.nodes['settings.api_key.label'].setMinimumHeight(60)
|
142
|
+
#self.window.ui.nodes['settings.api_key.label'].setMinimumHeight(60)
|
128
143
|
|
129
144
|
# append widgets options layouts to scroll area
|
130
145
|
for key in options:
|
@@ -192,7 +207,7 @@ class Settings(BaseConfigDialog):
|
|
192
207
|
content_tabs[tab_id].addStretch()
|
193
208
|
|
194
209
|
# tabs or no tabs
|
195
|
-
if len(content_tabs) > 1:
|
210
|
+
if len(content_tabs) > 1 or (len(content_tabs) == 1 and not is_general):
|
196
211
|
# tabs
|
197
212
|
tab_widget = QTabWidget()
|
198
213
|
|
@@ -205,7 +220,7 @@ class Settings(BaseConfigDialog):
|
|
205
220
|
name_key = trans("settings.section.tab.general")
|
206
221
|
else:
|
207
222
|
name_key = trans("settings.section." + section_id + "." + tab_id)
|
208
|
-
tab_name = trans(name_key)
|
223
|
+
tab_name = trans(name_key.replace(" ", "_").lower())
|
209
224
|
scroll_widget = QWidget()
|
210
225
|
scroll_widget.setLayout(content_tabs[tab_id])
|
211
226
|
scroll_tabs[tab_id].setWidget(scroll_widget)
|
@@ -217,12 +232,12 @@ class Settings(BaseConfigDialog):
|
|
217
232
|
else:
|
218
233
|
# one scroll only
|
219
234
|
scroll_widget = QWidget()
|
220
|
-
scroll_widget.setLayout(content_tabs[
|
221
|
-
scroll_tabs[
|
235
|
+
scroll_widget.setLayout(content_tabs[first_tab])
|
236
|
+
scroll_tabs[first_tab].setWidget(scroll_widget)
|
222
237
|
|
223
238
|
area = QVBoxLayout()
|
224
239
|
area.addWidget(self.add_line())
|
225
|
-
area.addWidget(scroll_tabs[
|
240
|
+
area.addWidget(scroll_tabs[first_tab])
|
226
241
|
|
227
242
|
area_widget = QWidget()
|
228
243
|
area_widget.setLayout(area)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pygpt-net
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.46
|
4
4
|
Summary: Desktop AI Assistant powered by models: OpenAI o1, GPT-4o, GPT-4, GPT-4 Vision, GPT-3.5, DALL-E 3, Llama 3, Mistral, Gemini, Claude, Bielik, and other models supported by Langchain, Llama Index, and Ollama. Features include chatbot, text completion, image generation, vision analysis, speech-to-text, internet access, file handling, command execution and more.
|
5
5
|
Home-page: https://pygpt.net
|
6
6
|
License: MIT
|
@@ -92,7 +92,7 @@ Description-Content-Type: text/markdown
|
|
92
92
|
|
93
93
|
[](https://snapcraft.io/pygpt)
|
94
94
|
|
95
|
-
Release: **2.4.
|
95
|
+
Release: **2.4.46** | build: **2024.12.16** | Python: **>=3.10, <3.12**
|
96
96
|
|
97
97
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
98
98
|
>
|
@@ -419,12 +419,12 @@ During the initial launch, you must configure your API key within the applicatio
|
|
419
419
|
To do so, navigate to the menu:
|
420
420
|
|
421
421
|
``` ini
|
422
|
-
Config -> Settings
|
422
|
+
Config -> Settings -> API Keys
|
423
423
|
```
|
424
424
|
|
425
425
|
and then paste the API key into the `OpenAI API KEY` field.
|
426
426
|
|
427
|
-

|
428
428
|
|
429
429
|
The API key can be obtained by registering on the OpenAI website:
|
430
430
|
|
@@ -444,6 +444,8 @@ Your API keys will be available here:
|
|
444
444
|
|
445
445
|
This mode in **PyGPT** mirrors `ChatGPT`, allowing you to chat with models such as `o1`, `GPT-4`, `GPT-4o` and `GPT-3.5`. It works by using the `ChatCompletion` OpenAI API.
|
446
446
|
|
447
|
+
**Tip: This mode directly uses the OpenAI API. If you want to use models other than GPT (such as Gemini, Claude, or Llama3), use `Chat with Files` mode.**
|
448
|
+
|
447
449
|
The main part of the interface is a chat window where you see your conversations. Below it is a message box for typing. On the right side, you can set up or change the model and system prompt. You can also save these settings as presets to easily switch between models or tasks.
|
448
450
|
|
449
451
|
Above where you type your messages, the interface shows you the number of tokens your message will use up as you type it – this helps to keep track of usage. There is also a feature to attach and upload files in this area. Go to the `Files and Attachments` section for more information on how to use attachments.
|
@@ -2813,7 +2815,17 @@ Config -> Settings...
|
|
2813
2815
|
|
2814
2816
|
**General**
|
2815
2817
|
|
2816
|
-
- `
|
2818
|
+
- `Minimize to tray on exit`: Minimize to tray icon on exit. Tray icon enabled is required for this option to work. Default: False.
|
2819
|
+
|
2820
|
+
- `Render engine`: chat output render engine: `WebEngine / Chromium` - for full HTML/CSS and `Legacy (markdown)` for legacy, simple markdown CSS output. Default: WebEngine / Chromium.
|
2821
|
+
|
2822
|
+
- `OpenGL hardware acceleration`: enables hardware acceleration in `WebEngine / Chromium` renderer. Default: False.
|
2823
|
+
|
2824
|
+
- `Application environment (os.environ)`: Additional environment vars to set on application start.
|
2825
|
+
|
2826
|
+
**API Keys**
|
2827
|
+
|
2828
|
+
- `OpenAI API KEY`: Required for the OpenAI API. If you wish to use custom endpoints or local APIs, then you may enter any value here.
|
2817
2829
|
|
2818
2830
|
- `OpenAI ORGANIZATION KEY`: The organization's API key, which is optional for use within the application.
|
2819
2831
|
|
@@ -2821,13 +2833,15 @@ Config -> Settings...
|
|
2821
2833
|
|
2822
2834
|
- `Proxy address`: Proxy address to be used for connection; supports HTTP/SOCKS.
|
2823
2835
|
|
2824
|
-
- `
|
2836
|
+
- `Google API KEY`: Required for the Google API and Gemini models.
|
2825
2837
|
|
2826
|
-
- `
|
2838
|
+
- `Anthropic API KEY`: Required for the Anthropic API and Claude models.
|
2827
2839
|
|
2828
|
-
- `
|
2840
|
+
- `HuggingFace API KEY`: Required for the HuggingFace API.
|
2829
2841
|
|
2830
|
-
- `
|
2842
|
+
- `OpenAI API version`: Azure OpenAI API version, e.g. 2023-07-01-preview
|
2843
|
+
|
2844
|
+
- `Azure OpenAI API endpoint`: Azure OpenAI API endpoint, https://<your-resource-name>.openai.azure.com/
|
2831
2845
|
|
2832
2846
|
**Layout**
|
2833
2847
|
|
@@ -4028,6 +4042,12 @@ may consume additional tokens that are not displayed in the main window.
|
|
4028
4042
|
|
4029
4043
|
## Recent changes:
|
4030
4044
|
|
4045
|
+
**2.4.46 (2024-12-16)**
|
4046
|
+
|
4047
|
+
- Added a new tab in Settings: "API Keys", where the API keys configuration for Google and Anthropic models has been relocated.
|
4048
|
+
- Introduced a new mode in "Chat with Files": "Retrieve Only", which allows for retrieving raw documents from the index.
|
4049
|
+
- Fixed a bug related to tool calls in the Gemini provider when using Chat with Files mode.
|
4050
|
+
|
4031
4051
|
**2.4.45 (2024-12-16)**
|
4032
4052
|
|
4033
4053
|
- Enhanced web data loaders UI.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
CHANGELOG.md,sha256=
|
2
|
-
README.md,sha256=
|
1
|
+
CHANGELOG.md,sha256=y6Kz5VDV5NI5ZmfTTwupS35Si8zLLxXlTFuBZaO5iZg,80457
|
2
|
+
README.md,sha256=n4ZEs4sbs61suidCtdPs-ua7mgtiIQOpSgMlzYMS60A,164317
|
3
3
|
icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
|
4
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
4
|
+
pygpt_net/CHANGELOG.txt,sha256=4RIebiYnii50ghCbxdEYr4KwdelEaC27lI2KxCsG-MQ,78983
|
5
5
|
pygpt_net/LICENSE,sha256=6Ku72-zJ8wO5VIR87UoJ5P_coCVjPghaFL9ZF2jLp7E,1146
|
6
|
-
pygpt_net/__init__.py,sha256=
|
6
|
+
pygpt_net/__init__.py,sha256=91tF1PnSfcnuV1KbQ8sWJeChminwMYq7bo90aj_uH_s,1067
|
7
7
|
pygpt_net/app.py,sha256=i02M96uLngAs_XZCS1Mi84vb3Okx8ZZewbTdhCqFolM,16029
|
8
8
|
pygpt_net/config.py,sha256=Qc1FOBtTf3O6A6-6KoqUGtoJ0u8hXQeowvCVbZFwtik,16405
|
9
9
|
pygpt_net/container.py,sha256=BemiVZPpPNIzfB-ZvnZeeBPFu-AcX2c30OqYFylEjJc,4023
|
@@ -39,7 +39,7 @@ pygpt_net/controller/chat/output.py,sha256=VuziVuI9Lj_4kZmTWvXg8t2tq4w9uD7J1g2Mq
|
|
39
39
|
pygpt_net/controller/chat/render.py,sha256=h23QCvMDIAaCpInqwwADa4G43sSpSn-CE5celnk1LSc,17206
|
40
40
|
pygpt_net/controller/chat/response.py,sha256=UnTnnn2on-Qg2_T_QcQcklTCcuq6XhyLLxs1fn-D9Tg,9450
|
41
41
|
pygpt_net/controller/chat/stream.py,sha256=zdyC-IGgb9gUtvNCOBXc__XU__kiBmSF6XJitDjcXxU,7486
|
42
|
-
pygpt_net/controller/chat/text.py,sha256=
|
42
|
+
pygpt_net/controller/chat/text.py,sha256=11RIuXqSfXez8VVlfFH3x9z6y5gFzg4trfG6aqto7ko,10312
|
43
43
|
pygpt_net/controller/chat/vision.py,sha256=bTQ6TFEh9NsPSDSLpExS7KvxQMtqm2sDPm5A0skyOGo,2838
|
44
44
|
pygpt_net/controller/command.py,sha256=sUvnvsKISkHTrbv7woQQ8r4SAGDR8Gy85H42q8eAg78,5671
|
45
45
|
pygpt_net/controller/config/__init__.py,sha256=cpVI1-_DkrnDkl5K4rGjOhYD-TzXKUoQx99pKzwXjKg,4863
|
@@ -63,7 +63,7 @@ pygpt_net/controller/dialogs/debug.py,sha256=v6E85vyCwfaDG9XZysxhBjRwlrDkbYC-NxU
|
|
63
63
|
pygpt_net/controller/dialogs/info.py,sha256=7J3LwDX13BEXds5jVy5FQZAZgKIOGkqoOz8-kFadtTU,2835
|
64
64
|
pygpt_net/controller/files.py,sha256=1Zm9L8-rhLG-GjRQDaOCkAFocAAobTQj-D3ILxLUGn4,16135
|
65
65
|
pygpt_net/controller/finder.py,sha256=4jl8EzTVR1Wc0dJkVwacAdvBiuF1CyOSKB4Qewju0Jw,4955
|
66
|
-
pygpt_net/controller/idx/__init__.py,sha256=
|
66
|
+
pygpt_net/controller/idx/__init__.py,sha256=oY6clG2YANYB_wJumnOl78ugU3V5c_sG1WIwRyBCVOo,10161
|
67
67
|
pygpt_net/controller/idx/common.py,sha256=QOjDy2XMUONeeaXl6ULJGO8ropzd5fphf3DidJgFkp0,2097
|
68
68
|
pygpt_net/controller/idx/indexer.py,sha256=5odavgOrqsTD_JZn6fyK0_fKH1BYWYJJAPhec3uxyM0,22303
|
69
69
|
pygpt_net/controller/idx/settings.py,sha256=orWd8ARxIBBs3MWJLjEKcqmrXLi6DvsLitsPvPd2fXU,7916
|
@@ -90,7 +90,7 @@ pygpt_net/controller/plugins/settings.py,sha256=imKitT7FBCfuDQvCTy1Qz4dq4xaT4LKb
|
|
90
90
|
pygpt_net/controller/presets/__init__.py,sha256=nasEC4qE3OLzvh9l9YWv1h18cLXsab7-210oWeVTvkw,22367
|
91
91
|
pygpt_net/controller/presets/editor.py,sha256=MDLZHaJ7_vNZvrJXLFFaWukRXw0hz_L7_Wv1NX8ctcQ,19453
|
92
92
|
pygpt_net/controller/presets/experts.py,sha256=ipC4UBPseWK4OviQtOcrWY4HW9j2A4AButVS_9Z5leY,4998
|
93
|
-
pygpt_net/controller/settings/__init__.py,sha256=
|
93
|
+
pygpt_net/controller/settings/__init__.py,sha256=cFA4ZKjcsu8uoapWMTllUUB9DvJXVBzbxLT6InRS4zU,7768
|
94
94
|
pygpt_net/controller/settings/editor.py,sha256=2z2uFS4A4JImdlDbx8yhIyXfXn6WEBJ7BgXV3MXSZKo,16368
|
95
95
|
pygpt_net/controller/settings/profile.py,sha256=1sdsGlVf8DRy3NvyXdem6Bb8iJVrMe9yPdmWO23nDE8,21253
|
96
96
|
pygpt_net/controller/settings/workdir.py,sha256=khvMDJrQoLMVh2rnTyk9cKilBUig5PKdULRVLZJ5X1k,8794
|
@@ -178,7 +178,7 @@ pygpt_net/core/filesystem/types.py,sha256=1HFubxAHYup_SLQ7SlR5EvZb3KgVyd8K8vBRUk
|
|
178
178
|
pygpt_net/core/filesystem/url.py,sha256=cXctpPHBY1-fwn7vFqfZi3CeP73n2nFXF-ZnePiRk7U,3236
|
179
179
|
pygpt_net/core/history.py,sha256=93kjlEfVowxR8A_yoPqDINfYHsKlQnh9ii2klsWmUyE,3125
|
180
180
|
pygpt_net/core/idx/__init__.py,sha256=I5IPrC7ZzEvYVe4mLlGbyTvV_d-V49LOtVd2edRVCsM,17965
|
181
|
-
pygpt_net/core/idx/chat.py,sha256=
|
181
|
+
pygpt_net/core/idx/chat.py,sha256=Jr7pNwJXdn6ciaSeoi7nXMrkwBjxYtQRDxwJudOsE_o,23443
|
182
182
|
pygpt_net/core/idx/context.py,sha256=uISNiKprcA_Qv9t0PbMj1vDWCm1eccYbk5iGS-QcfG0,3143
|
183
183
|
pygpt_net/core/idx/indexing.py,sha256=IoQQYdF0J75lH02Nj3LpWpEqhkXexAhvLwW4o1GX7Fs,43048
|
184
184
|
pygpt_net/core/idx/llm.py,sha256=oTyU1t-xEtadRl8Vkzpp_IWN4bXTtbLQsnhiA_9myMQ,5159
|
@@ -246,9 +246,9 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
246
246
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
247
247
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
248
248
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
249
|
-
pygpt_net/data/config/config.json,sha256=
|
250
|
-
pygpt_net/data/config/models.json,sha256=
|
251
|
-
pygpt_net/data/config/modes.json,sha256=
|
249
|
+
pygpt_net/data/config/config.json,sha256=vXkxtd8jSLl-6ME2y3pBcMBEPeRDy669tUUsIxFQ60k,19735
|
250
|
+
pygpt_net/data/config/models.json,sha256=dauoYHK4UMqh2nnxiIs_k6KLMbemeQ1rIiQOkKC_UpQ,60405
|
251
|
+
pygpt_net/data/config/modes.json,sha256=jPS9KzVxKpV1Jhm1alFoneqZXxusQnfhhFR_qt_wF-U,1923
|
252
252
|
pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
|
253
253
|
pygpt_net/data/config/presets/agent_openai_assistant.json,sha256=awJw9lNTGpKML6SJUShVn7lv8AXh0oic7wBeyoN7AYs,798
|
254
254
|
pygpt_net/data/config/presets/agent_planner.json,sha256=a6Rv58Bnm2STNWB0Rw_dGhnsz6Lb3J8_GwsUVZaTIXc,742
|
@@ -268,8 +268,8 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
|
|
268
268
|
pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
|
269
269
|
pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
|
270
270
|
pygpt_net/data/config/presets/joke_expert.json,sha256=aFBFCY97Uba71rRq0MSeakXaOj8yuaUqekQ842YHv64,683
|
271
|
-
pygpt_net/data/config/settings.json,sha256=
|
272
|
-
pygpt_net/data/config/settings_section.json,sha256=
|
271
|
+
pygpt_net/data/config/settings.json,sha256=VXSG79pbpj_WDanxg_oLio1dwLQXeOU4TZP1uQ9n2F0,48806
|
272
|
+
pygpt_net/data/config/settings_section.json,sha256=M22jrZvly6KliNr_fhkS6rk_bdzlFK4OyoWZ6TiyRnY,1004
|
273
273
|
pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
|
274
274
|
pygpt_net/data/css/markdown.css,sha256=yaoJPogZZ_ghbqP8vTXTycwVyD61Ik5_033NpzuUzC0,1122
|
275
275
|
pygpt_net/data/css/markdown.dark.css,sha256=ixAwuT69QLesZttKhO4RAy-QukplZwwfXCZsWLN9TP4,730
|
@@ -1484,14 +1484,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff,sha256=4U_tArGrp86fW
|
|
1484
1484
|
pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
|
1485
1485
|
pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
|
1486
1486
|
pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
|
1487
|
-
pygpt_net/data/locale/locale.de.ini,sha256=
|
1488
|
-
pygpt_net/data/locale/locale.en.ini,sha256=
|
1489
|
-
pygpt_net/data/locale/locale.es.ini,sha256=
|
1490
|
-
pygpt_net/data/locale/locale.fr.ini,sha256=
|
1491
|
-
pygpt_net/data/locale/locale.it.ini,sha256=
|
1492
|
-
pygpt_net/data/locale/locale.pl.ini,sha256=
|
1493
|
-
pygpt_net/data/locale/locale.uk.ini,sha256=
|
1494
|
-
pygpt_net/data/locale/locale.zh.ini,sha256=
|
1487
|
+
pygpt_net/data/locale/locale.de.ini,sha256=x2KH8DuIMh-XT_LrwJtqI6lDhGpJGSzfNPG1Kda_mnc,63555
|
1488
|
+
pygpt_net/data/locale/locale.en.ini,sha256=AilIvmCHTH446NpT_1lYvfUuWbqKBNJlJoAKUerFRxg,76120
|
1489
|
+
pygpt_net/data/locale/locale.es.ini,sha256=jZtuTkg80doldJXiIOL6t2emLmTA6D4DR7Rejl6DVDw,63796
|
1490
|
+
pygpt_net/data/locale/locale.fr.ini,sha256=tSZISfdE8ysnHMyZsKyJ1kBXw0_liRNSfmV2XRJwUn4,65825
|
1491
|
+
pygpt_net/data/locale/locale.it.ini,sha256=y63qF7dcsMZf_gxAV799H2-7WZhEfE86GH0CdExyk0k,62582
|
1492
|
+
pygpt_net/data/locale/locale.pl.ini,sha256=H3GJwKhyoZ3CFS-niItAsRH0FWCpHI2chhlTxxpoBpY,62664
|
1493
|
+
pygpt_net/data/locale/locale.uk.ini,sha256=7EnAUSpsarHefmYNPe9_kSwSYz654KNsoQ26PR7-cpY,87197
|
1494
|
+
pygpt_net/data/locale/locale.zh.ini,sha256=kd6CZXcX-yPyDlW3O2KWV-JE_9T35Qb1zznUcb7CN2c,64386
|
1495
1495
|
pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
|
1496
1496
|
pygpt_net/data/locale/plugin.agent.en.ini,sha256=88LkZUpilbV9l4QDbMyIdq_K9sbWt-CQPpavEttPjJU,1489
|
1497
1497
|
pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
|
@@ -1580,14 +1580,14 @@ pygpt_net/data/locale/plugin.cmd_system.it.ini,sha256=grekD4hNTSLjeGgFcPR72BYVYc
|
|
1580
1580
|
pygpt_net/data/locale/plugin.cmd_system.pl.ini,sha256=BOPQnlUkwIW3uRLJXVLqNjKn0Yky4tfVYCKHpXl3fEs,1256
|
1581
1581
|
pygpt_net/data/locale/plugin.cmd_system.uk.ini,sha256=lEWM_ZtyKKRnxNErKrNWgXcxviORws7Nq5W4SaaFA6E,1829
|
1582
1582
|
pygpt_net/data/locale/plugin.cmd_system.zh.ini,sha256=PlrKIjsI09Iodyj9tsjkbTUgqDgGVN0B0UFqZlRXd6k,1060
|
1583
|
-
pygpt_net/data/locale/plugin.cmd_web.de.ini,sha256=
|
1584
|
-
pygpt_net/data/locale/plugin.cmd_web.en.ini,sha256=
|
1585
|
-
pygpt_net/data/locale/plugin.cmd_web.es.ini,sha256=
|
1586
|
-
pygpt_net/data/locale/plugin.cmd_web.fr.ini,sha256=
|
1587
|
-
pygpt_net/data/locale/plugin.cmd_web.it.ini,sha256=
|
1588
|
-
pygpt_net/data/locale/plugin.cmd_web.pl.ini,sha256=
|
1589
|
-
pygpt_net/data/locale/plugin.cmd_web.uk.ini,sha256=
|
1590
|
-
pygpt_net/data/locale/plugin.cmd_web.zh.ini,sha256=
|
1583
|
+
pygpt_net/data/locale/plugin.cmd_web.de.ini,sha256=V-PndLMH8fLysnmKMHSGvFsjGEJ92jizqDUslRgImwk,5771
|
1584
|
+
pygpt_net/data/locale/plugin.cmd_web.en.ini,sha256=zTadoMNs_7fR9RKQR25dVD8UpGPOlwHi3h4CgDSG8H0,5906
|
1585
|
+
pygpt_net/data/locale/plugin.cmd_web.es.ini,sha256=BvatDPqrGI3cmjO2XsaimK_hG1P7HvfbTUDQd4EDf3k,5784
|
1586
|
+
pygpt_net/data/locale/plugin.cmd_web.fr.ini,sha256=wwct5vhhIZH457t5RtWwyZOsgk4KAkrTM5sM8wbXtJk,5827
|
1587
|
+
pygpt_net/data/locale/plugin.cmd_web.it.ini,sha256=35gt5JkwywJFZNXt2SQsrBGyGgCTaEBar_SHRTVJthk,5712
|
1588
|
+
pygpt_net/data/locale/plugin.cmd_web.pl.ini,sha256=bZd4j_AgrvPlbELStqv8sHiJ9pKA-EFJ1TQEpxCTA6s,5890
|
1589
|
+
pygpt_net/data/locale/plugin.cmd_web.uk.ini,sha256=MgdnPFCIOiIgZTSuSXYGJYAHwiI74mB1S570T4_f_yU,8274
|
1590
|
+
pygpt_net/data/locale/plugin.cmd_web.zh.ini,sha256=QdQ4_JbxLwa4p39BJ9S_AHOWnF5bcK25Hpz4XY_1viQ,4798
|
1591
1591
|
pygpt_net/data/locale/plugin.crontab.de.ini,sha256=BVK_i4lvO4IQkLJRrpnKdtXULTUUtSq3-N-whM3qLUo,874
|
1592
1592
|
pygpt_net/data/locale/plugin.crontab.en.ini,sha256=jBNoj072WAgOuUVMF__pWh3Hfi9RfNosa79kqTNv9kk,754
|
1593
1593
|
pygpt_net/data/locale/plugin.crontab.es.ini,sha256=yTJ3o8UjWpGh1H8ACf56RV6eaqpKsurK8u19AvcEp8Y,962
|
@@ -1620,7 +1620,7 @@ pygpt_net/data/locale/plugin.idx_llama_index.it.ini,sha256=IL-BuLg3lIPq8IEvcyX7L
|
|
1620
1620
|
pygpt_net/data/locale/plugin.idx_llama_index.pl.ini,sha256=KnvWfadmqGMDKLggI7L89x-W-wszk6ZF01pOVAsTb-Y,2162
|
1621
1621
|
pygpt_net/data/locale/plugin.idx_llama_index.uk.ini,sha256=MUI_6djlLhOMqunPDtpgDnXrhkSU_NPKfMAHBN2ASQU,3288
|
1622
1622
|
pygpt_net/data/locale/plugin.idx_llama_index.zh.ini,sha256=_nGvNr24Krdh69nOz1XkZEbIVAInjli8qBVZXASqaTQ,1854
|
1623
|
-
pygpt_net/data/locale/plugin.mailer.en.ini,sha256=
|
1623
|
+
pygpt_net/data/locale/plugin.mailer.en.ini,sha256=ZK7LCHAiQGw38PzZy_LyES9b7vQ47QA6XjSiq2NlsSs,962
|
1624
1624
|
pygpt_net/data/locale/plugin.openai_dalle.de.ini,sha256=ooTDwaBiadq4-simQJND-B_AuB7xna-tzGUIMaOWGB8,452
|
1625
1625
|
pygpt_net/data/locale/plugin.openai_dalle.en.ini,sha256=i7LIyd_AZmDf430CxRtuhbj3JTP20naDP1mc2CXzu5M,397
|
1626
1626
|
pygpt_net/data/locale/plugin.openai_dalle.es.ini,sha256=U_pd3VK_-7VjNYwcdzHpY8I_ycOxoeOx5HHgabypOk0,459
|
@@ -1819,7 +1819,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
|
|
1819
1819
|
pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
1820
1820
|
pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
|
1821
1821
|
pygpt_net/provider/core/config/json_file.py,sha256=P78SRQpNr_nF7TYftYLnHl_DVo7GLPNs4_lvw97sqq8,5122
|
1822
|
-
pygpt_net/provider/core/config/patch.py,sha256=
|
1822
|
+
pygpt_net/provider/core/config/patch.py,sha256=pUQWkvGZAh60cR3x295Itk5YN0Ss3BpJNFRuHrf273Y,94958
|
1823
1823
|
pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
1824
1824
|
pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
|
1825
1825
|
pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=G2pB7kZfREJRLJZmfv3DKTslXC-K7EhNN2sn56q6BFA,11753
|
@@ -1846,7 +1846,7 @@ pygpt_net/provider/core/mode/patch.py,sha256=VS2KCYW05jxLd-lcStNY1k4fHKUUrVVLTdR
|
|
1846
1846
|
pygpt_net/provider/core/model/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
1847
1847
|
pygpt_net/provider/core/model/base.py,sha256=L1x2rHha8a8hnCUYxZr88utay1EWEx5qBXW_2acpAN0,1319
|
1848
1848
|
pygpt_net/provider/core/model/json_file.py,sha256=g0u1tbOm7QKutjD5mZLRwzmYmoIqA8b6bDQ6wKbucYM,6484
|
1849
|
-
pygpt_net/provider/core/model/patch.py,sha256=
|
1849
|
+
pygpt_net/provider/core/model/patch.py,sha256=KovfiiyiuRqsCa0HkGOrXh8EjbQqWKtoOh47GKliOxc,22417
|
1850
1850
|
pygpt_net/provider/core/notepad/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
1851
1851
|
pygpt_net/provider/core/notepad/base.py,sha256=7aPhild8cALTaN3JEbI0YrkIW1DRIycGQWTfsdH6WcQ,1323
|
1852
1852
|
pygpt_net/provider/core/notepad/db_sqlite/__init__.py,sha256=DQnVKJxvLq-6zlRlLk3MXSQZEObFtcQ5p5mEnuRzwYE,3104
|
@@ -2019,7 +2019,7 @@ pygpt_net/ui/dialog/preset.py,sha256=gkAjtx_he9dMy3JEEywtM8n_QkiEh1FzXbBzRbQgn2g
|
|
2019
2019
|
pygpt_net/ui/dialog/preset_plugins.py,sha256=ynqc0aWjU7MTL4jxcVKaRH_tC9uzeWJCUzUjI74ADb0,3796
|
2020
2020
|
pygpt_net/ui/dialog/profile.py,sha256=Xk9NNQmr1A5pRUxdedu7ePEBq5OYhLT8UInuRWYBktU,4105
|
2021
2021
|
pygpt_net/ui/dialog/rename.py,sha256=Spb7cUVq1ivy3Zg28SBACJ7p_GwJ1gm82Oz9Ld_a_FU,973
|
2022
|
-
pygpt_net/ui/dialog/settings.py,sha256=
|
2022
|
+
pygpt_net/ui/dialog/settings.py,sha256=XZQiNI-AbrUBT-mMo8wdQGJS9bOunaY6dYKAFdzDiUI,15725
|
2023
2023
|
pygpt_net/ui/dialog/snap.py,sha256=YtTAPbY3URBLEiSP-xVE4gUkbaBUpvyOLzVAisVpy6k,954
|
2024
2024
|
pygpt_net/ui/dialog/start.py,sha256=wHGKD6d4XGaKzDDvUCZOe_fK1aCaD21Vi_8R2td7-Zk,2459
|
2025
2025
|
pygpt_net/ui/dialog/update.py,sha256=wJDe2D55XqlAd30vHLeWAuGmgaElwhTd82GIxzvqf4w,842
|
@@ -2173,8 +2173,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=9FoL02QY6mOxtc4t4fe8X7fVDIdPn9Sb_fwsv
|
|
2173
2173
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
2174
2174
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
2175
2175
|
pygpt_net/utils.py,sha256=ES35jv1OV2etVIQcArpI-FSdfH2SMI86Gdu-V-MDbRQ,6132
|
2176
|
-
pygpt_net-2.4.
|
2177
|
-
pygpt_net-2.4.
|
2178
|
-
pygpt_net-2.4.
|
2179
|
-
pygpt_net-2.4.
|
2180
|
-
pygpt_net-2.4.
|
2176
|
+
pygpt_net-2.4.46.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
|
2177
|
+
pygpt_net-2.4.46.dist-info/METADATA,sha256=o9Jo4NP4S3Qz7I3wRFQ_SEAcCqh9cVPsRMviTEy0tdI,169119
|
2178
|
+
pygpt_net-2.4.46.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
2179
|
+
pygpt_net-2.4.46.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
2180
|
+
pygpt_net-2.4.46.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|