pygpt-net 2.5.4__py3-none-any.whl → 2.5.6__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 +11 -0
- README.md +12 -1
- pygpt_net/CHANGELOG.txt +11 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/idx/__init__.py +2 -0
- pygpt_net/controller/launcher/__init__.py +4 -1
- pygpt_net/controller/ui/tabs.py +3 -0
- pygpt_net/core/idx/chat.py +13 -1
- pygpt_net/core/models/ollama.py +1 -1
- pygpt_net/data/config/config.json +3 -3
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/data/config/modes.json +3 -3
- pygpt_net/provider/gpt/chat.py +1 -1
- pygpt_net/provider/vector_stores/__init__.py +7 -2
- pygpt_net/provider/vector_stores/base.py +7 -2
- pygpt_net/provider/vector_stores/chroma.py +6 -3
- pygpt_net/provider/vector_stores/ctx_attachment.py +7 -4
- pygpt_net/provider/vector_stores/simple.py +7 -3
- pygpt_net/provider/vector_stores/temp.py +8 -4
- {pygpt_net-2.5.4.dist-info → pygpt_net-2.5.6.dist-info}/METADATA +13 -2
- {pygpt_net-2.5.4.dist-info → pygpt_net-2.5.6.dist-info}/RECORD +24 -24
- {pygpt_net-2.5.4.dist-info → pygpt_net-2.5.6.dist-info}/LICENSE +0 -0
- {pygpt_net-2.5.4.dist-info → pygpt_net-2.5.6.dist-info}/WHEEL +0 -0
- {pygpt_net-2.5.4.dist-info → pygpt_net-2.5.6.dist-info}/entry_points.txt +0 -0
CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2.5.6 (2025-02-03)
|
4
|
+
|
5
|
+
- Fix: disabled index initialization if embedding provider is OpenAI and no API KEY is provided.
|
6
|
+
- Fix: embedding provider initialization on empty index.
|
7
|
+
|
8
|
+
## 2.5.5 (2025-02-02)
|
9
|
+
|
10
|
+
- Fix: system prompt apply.
|
11
|
+
- Added calendar live update on tab change.
|
12
|
+
- Added API Key monit at launch displayed only once.
|
13
|
+
|
3
14
|
## 2.5.4 (2025-02-02)
|
4
15
|
|
5
16
|
- Added new models: `o3-mini` and `gpt-4o-mini-audio-preview`.
|
README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://snapcraft.io/pygpt)
|
4
4
|
|
5
|
-
Release: **2.5.
|
5
|
+
Release: **2.5.6** | build: **2025.02.03** | Python: **>=3.10, <3.13**
|
6
6
|
|
7
7
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
8
8
|
>
|
@@ -3964,6 +3964,17 @@ may consume additional tokens that are not displayed in the main window.
|
|
3964
3964
|
|
3965
3965
|
## Recent changes:
|
3966
3966
|
|
3967
|
+
**2.5.6 (2025-02-03)**
|
3968
|
+
|
3969
|
+
- Fix: disabled index initialization if embedding provider is OpenAI and no API KEY is provided.
|
3970
|
+
- Fix: embedding provider initialization on empty index.
|
3971
|
+
|
3972
|
+
**2.5.5 (2025-02-02)**
|
3973
|
+
|
3974
|
+
- Fix: system prompt apply.
|
3975
|
+
- Added calendar live update on tab change.
|
3976
|
+
- Added API Key monit at launch displayed only once.
|
3977
|
+
|
3967
3978
|
**2.5.4 (2025-02-02)**
|
3968
3979
|
|
3969
3980
|
- Added new models: `o3-mini` and `gpt-4o-mini-audio-preview`.
|
pygpt_net/CHANGELOG.txt
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
2.5.6 (2025-02-03)
|
2
|
+
|
3
|
+
- Fix: disabled index initialization if embedding provider is OpenAI and no API KEY is provided.
|
4
|
+
- Fix: embedding provider initialization on empty index.
|
5
|
+
|
6
|
+
2.5.5 (2025-02-02)
|
7
|
+
|
8
|
+
- Fix: system prompt apply.
|
9
|
+
- Added calendar live update on tab change.
|
10
|
+
- Added API Key monit at launch displayed only once.
|
11
|
+
|
1
12
|
2.5.4 (2025-02-02)
|
2
13
|
|
3
14
|
- Added new models: o3-mini and gpt-4o-mini-audio-preview.
|
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.02.
|
9
|
+
# Updated Date: 2025.02.03 02: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.5.
|
17
|
-
__build__ = "2025.02.
|
16
|
+
__version__ = "2.5.6"
|
17
|
+
__build__ = "2025.02.03"
|
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"
|
@@ -37,7 +37,10 @@ class Launcher:
|
|
37
37
|
# show welcome API KEY dialog (disable for langchain mode)
|
38
38
|
if not self.window.core.config.get('mode') in self.no_api_key_allowed and \
|
39
39
|
(self.window.core.config.get('api_key') is None or self.window.core.config.get('api_key') == ''):
|
40
|
-
|
40
|
+
|
41
|
+
if not self.window.core.config.get('api_key.monit.displayed', False):
|
42
|
+
self.show_api_monit()
|
43
|
+
self.window.core.config.set('api_key.monit.displayed', True)
|
41
44
|
|
42
45
|
# check for updates
|
43
46
|
if self.window.core.config.get('updater.check.launch'):
|
pygpt_net/controller/ui/tabs.py
CHANGED
@@ -176,6 +176,9 @@ class Tabs:
|
|
176
176
|
elif tab.type == Tab.TAB_TOOL_PAINTER:
|
177
177
|
if self.window.core.config.get('vision.capture.enabled'):
|
178
178
|
self.window.controller.camera.enable_capture()
|
179
|
+
elif tab.type == Tab.TAB_TOOL_CALENDAR:
|
180
|
+
self.window.controller.calendar.update()
|
181
|
+
self.window.controller.calendar.update_ctx_counters()
|
179
182
|
|
180
183
|
if prev_tab != idx or prev_column != column_idx:
|
181
184
|
self.window.dispatch(AppEvent(AppEvent.TAB_SELECTED)) # app event
|
pygpt_net/core/idx/chat.py
CHANGED
@@ -245,6 +245,12 @@ class Chat:
|
|
245
245
|
chat_mode = "simple" # do not use query engine if no index
|
246
246
|
use_index = False
|
247
247
|
|
248
|
+
# disable index if no api key
|
249
|
+
if self.window.core.config.get("api_key") == "" and self.window.core.config.get("llama.idx.embeddings.provider") == "openai":
|
250
|
+
print("Warning: no api key! Disabling index...")
|
251
|
+
chat_mode = "simple" # do not use query engine if no index
|
252
|
+
use_index = False
|
253
|
+
|
248
254
|
if model is None or not isinstance(model, ModelItem):
|
249
255
|
raise Exception("Model config not provided")
|
250
256
|
|
@@ -263,6 +269,12 @@ class Chat:
|
|
263
269
|
else:
|
264
270
|
llm = self.window.core.idx.llm.get(model)
|
265
271
|
|
272
|
+
# check if index is empty
|
273
|
+
if index:
|
274
|
+
nodes = index.docstore.docs.values()
|
275
|
+
if not nodes:
|
276
|
+
use_index = False
|
277
|
+
|
266
278
|
# TODO: if multimodal support, try to get multimodal provider
|
267
279
|
# if model.is_multimodal():
|
268
280
|
# llm = self.window.core.idx.llm.get(model, multimodal=True) # get multimodal LLM model
|
@@ -637,7 +649,7 @@ class Chat:
|
|
637
649
|
if idx is None:
|
638
650
|
# create empty in memory idx
|
639
651
|
llm, embed_model = self.window.core.idx.llm.get_service_context(model=model)
|
640
|
-
index = self.storage.index_from_empty()
|
652
|
+
index = self.storage.index_from_empty(embed_model)
|
641
653
|
return index, llm
|
642
654
|
# raise Exception("Index not prepared")
|
643
655
|
|
pygpt_net/core/models/ollama.py
CHANGED
@@ -71,7 +71,7 @@ class Ollama:
|
|
71
71
|
for item in status.get('models', []):
|
72
72
|
model_id = item.get('name').replace(":latest", "")
|
73
73
|
if model_id not in self.available_models:
|
74
|
-
self.available_models.append(
|
74
|
+
self.available_models.append(model_id)
|
75
75
|
if model_id == model:
|
76
76
|
return {
|
77
77
|
'is_installed': True,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"__meta__": {
|
3
|
-
"version": "2.5.
|
4
|
-
"app.version": "2.5.
|
5
|
-
"updated_at": "2025-02-
|
3
|
+
"version": "2.5.6",
|
4
|
+
"app.version": "2.5.6",
|
5
|
+
"updated_at": "2025-02-03T00:00:00"
|
6
6
|
},
|
7
7
|
"access.audio.event.speech": false,
|
8
8
|
"access.audio.event.speech.disabled": [],
|
pygpt_net/data/config/modes.json
CHANGED
pygpt_net/provider/gpt/chat.py
CHANGED
@@ -189,7 +189,7 @@ class Chat:
|
|
189
189
|
mode = MODE_CHAT
|
190
190
|
allowed_system = True
|
191
191
|
if (model.id is not None
|
192
|
-
and model.id
|
192
|
+
and model.id in ["o1-mini", "o1-preview"]):
|
193
193
|
allowed_system = False
|
194
194
|
|
195
195
|
used_tokens = self.window.core.tokens.from_user(
|
@@ -308,10 +308,15 @@ class Storage:
|
|
308
308
|
raise Exception('Storage engine not found!')
|
309
309
|
storage.clean()
|
310
310
|
|
311
|
-
def index_from_empty(
|
311
|
+
def index_from_empty(
|
312
|
+
self,
|
313
|
+
embed_model: Optional = None) -> BaseIndex:
|
312
314
|
"""
|
313
315
|
Create empty index
|
314
316
|
|
315
317
|
:return: index instance
|
316
318
|
"""
|
317
|
-
return VectorStoreIndex(
|
319
|
+
return VectorStoreIndex(
|
320
|
+
[],
|
321
|
+
embed_model=embed_model,
|
322
|
+
)
|
@@ -54,13 +54,18 @@ class BaseStore:
|
|
54
54
|
embed_model=embed_model,
|
55
55
|
)
|
56
56
|
|
57
|
-
def index_from_empty(
|
57
|
+
def index_from_empty(
|
58
|
+
self,
|
59
|
+
embed_model: Optional = None):
|
58
60
|
"""
|
59
61
|
Get empty index instance
|
60
62
|
|
61
63
|
:return: index instance
|
62
64
|
"""
|
63
|
-
return VectorStoreIndex(
|
65
|
+
return VectorStoreIndex(
|
66
|
+
[],
|
67
|
+
embed_model=embed_model,
|
68
|
+
)
|
64
69
|
|
65
70
|
def attach(self, window=None):
|
66
71
|
"""
|
@@ -51,7 +51,10 @@ class ChromaProvider(BaseStore):
|
|
51
51
|
)
|
52
52
|
)
|
53
53
|
|
54
|
-
def create(
|
54
|
+
def create(
|
55
|
+
self,
|
56
|
+
id: str,
|
57
|
+
embed_model: Optional = None):
|
55
58
|
"""
|
56
59
|
Create empty index
|
57
60
|
|
@@ -59,7 +62,7 @@ class ChromaProvider(BaseStore):
|
|
59
62
|
"""
|
60
63
|
path = self.get_path(id)
|
61
64
|
if not os.path.exists(path):
|
62
|
-
index = self.index_from_empty() # create empty index
|
65
|
+
index = self.index_from_empty(embed_model) # create empty index
|
63
66
|
self.store(
|
64
67
|
id=id,
|
65
68
|
index=index,
|
@@ -80,7 +83,7 @@ class ChromaProvider(BaseStore):
|
|
80
83
|
:return: index instance
|
81
84
|
"""
|
82
85
|
if not self.exists(id):
|
83
|
-
self.create(id)
|
86
|
+
self.create(id, embed_model)
|
84
87
|
path = self.get_path(id)
|
85
88
|
db = self.get_db(id)
|
86
89
|
chroma_collection = db.get_or_create_collection(id)
|
@@ -56,7 +56,10 @@ class CtxAttachmentProvider(BaseStore):
|
|
56
56
|
return True
|
57
57
|
return False
|
58
58
|
|
59
|
-
def create(
|
59
|
+
def create(
|
60
|
+
self, id: str,
|
61
|
+
embed_model: Optional = None
|
62
|
+
):
|
60
63
|
"""
|
61
64
|
Create empty index
|
62
65
|
|
@@ -64,13 +67,13 @@ class CtxAttachmentProvider(BaseStore):
|
|
64
67
|
"""
|
65
68
|
path = self.get_path(id)
|
66
69
|
if not os.path.exists(path):
|
67
|
-
index = self.index_from_empty() # create empty index
|
70
|
+
index = self.index_from_empty(embed_model) # create empty index
|
68
71
|
self.store(
|
69
72
|
id=id,
|
70
73
|
index=index,
|
71
74
|
)
|
72
75
|
else:
|
73
|
-
self.index = self.index_from_empty()
|
76
|
+
self.index = self.index_from_empty(embed_model)
|
74
77
|
|
75
78
|
def get(
|
76
79
|
self,
|
@@ -87,7 +90,7 @@ class CtxAttachmentProvider(BaseStore):
|
|
87
90
|
:return: index instance
|
88
91
|
"""
|
89
92
|
if not self.exists():
|
90
|
-
self.create(id)
|
93
|
+
self.create(id, embed_model)
|
91
94
|
path = self.get_path(id)
|
92
95
|
storage_context = StorageContext.from_defaults(
|
93
96
|
persist_dir=path,
|
@@ -32,7 +32,11 @@ class SimpleProvider(BaseStore):
|
|
32
32
|
self.prefix = "" # prefix for index directory
|
33
33
|
self.indexes = {}
|
34
34
|
|
35
|
-
def create(
|
35
|
+
def create(
|
36
|
+
self,
|
37
|
+
id: str,
|
38
|
+
embed_model: Optional = None
|
39
|
+
):
|
36
40
|
"""
|
37
41
|
Create empty index
|
38
42
|
|
@@ -40,7 +44,7 @@ class SimpleProvider(BaseStore):
|
|
40
44
|
"""
|
41
45
|
path = self.get_path(id)
|
42
46
|
if not os.path.exists(path):
|
43
|
-
index = self.index_from_empty() # create empty index
|
47
|
+
index = self.index_from_empty(embed_model) # create empty index
|
44
48
|
self.store(
|
45
49
|
id=id,
|
46
50
|
index=index,
|
@@ -61,7 +65,7 @@ class SimpleProvider(BaseStore):
|
|
61
65
|
:return: index instance
|
62
66
|
"""
|
63
67
|
if not self.exists(id):
|
64
|
-
self.create(id)
|
68
|
+
self.create(id, embed_model)
|
65
69
|
path = self.get_path(id)
|
66
70
|
storage_context = StorageContext.from_defaults(
|
67
71
|
persist_dir=path,
|
@@ -86,7 +86,11 @@ class TempProvider(BaseStore):
|
|
86
86
|
return True
|
87
87
|
return False
|
88
88
|
|
89
|
-
def create(
|
89
|
+
def create(
|
90
|
+
self,
|
91
|
+
id: str,
|
92
|
+
embed_model: Optional = None
|
93
|
+
):
|
90
94
|
"""
|
91
95
|
Create empty index
|
92
96
|
|
@@ -95,13 +99,13 @@ class TempProvider(BaseStore):
|
|
95
99
|
if self.persist:
|
96
100
|
path = self.get_path(id)
|
97
101
|
if not os.path.exists(path):
|
98
|
-
index = self.index_from_empty() # create empty index
|
102
|
+
index = self.index_from_empty(embed_model) # create empty index
|
99
103
|
self.store(
|
100
104
|
id=id,
|
101
105
|
index=index,
|
102
106
|
)
|
103
107
|
else:
|
104
|
-
self.indexes[id] = self.index_from_empty()
|
108
|
+
self.indexes[id] = self.index_from_empty(embed_model)
|
105
109
|
|
106
110
|
def get(
|
107
111
|
self,
|
@@ -118,7 +122,7 @@ class TempProvider(BaseStore):
|
|
118
122
|
:return: index instance
|
119
123
|
"""
|
120
124
|
if not self.exists(id):
|
121
|
-
self.create(id)
|
125
|
+
self.create(id, embed_model)
|
122
126
|
path = self.get_path(id)
|
123
127
|
|
124
128
|
if self.persist:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pygpt-net
|
3
|
-
Version: 2.5.
|
3
|
+
Version: 2.5.6
|
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, DeepSeek, 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
|
@@ -94,7 +94,7 @@ Description-Content-Type: text/markdown
|
|
94
94
|
|
95
95
|
[](https://snapcraft.io/pygpt)
|
96
96
|
|
97
|
-
Release: **2.5.
|
97
|
+
Release: **2.5.6** | build: **2025.02.03** | Python: **>=3.10, <3.13**
|
98
98
|
|
99
99
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
100
100
|
>
|
@@ -4056,6 +4056,17 @@ may consume additional tokens that are not displayed in the main window.
|
|
4056
4056
|
|
4057
4057
|
## Recent changes:
|
4058
4058
|
|
4059
|
+
**2.5.6 (2025-02-03)**
|
4060
|
+
|
4061
|
+
- Fix: disabled index initialization if embedding provider is OpenAI and no API KEY is provided.
|
4062
|
+
- Fix: embedding provider initialization on empty index.
|
4063
|
+
|
4064
|
+
**2.5.5 (2025-02-02)**
|
4065
|
+
|
4066
|
+
- Fix: system prompt apply.
|
4067
|
+
- Added calendar live update on tab change.
|
4068
|
+
- Added API Key monit at launch displayed only once.
|
4069
|
+
|
4059
4070
|
**2.5.4 (2025-02-02)**
|
4060
4071
|
|
4061
4072
|
- Added new models: `o3-mini` and `gpt-4o-mini-audio-preview`.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
CHANGELOG.md,sha256=
|
2
|
-
README.md,sha256=
|
1
|
+
CHANGELOG.md,sha256=t_GjNrjSTxj1tbsd9dXedw4KHQ7le6o5nQNB_Ug8jmo,83326
|
2
|
+
README.md,sha256=82wWWI5k8hHv7zNdw-DbizMcnhEdQ8ZuEbF7fjGvDU8,164748
|
3
3
|
icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
|
4
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
4
|
+
pygpt_net/CHANGELOG.txt,sha256=yN2l7TeOkJAN0FMdBkfpNnyoSVjOMRpbrFivL6KUnnk,81794
|
5
5
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
6
|
-
pygpt_net/__init__.py,sha256=
|
6
|
+
pygpt_net/__init__.py,sha256=vW7j9Qn006E3_t5KgCRBfJAXXqqcKfQ8jyuCwvO6Lx0,1372
|
7
7
|
pygpt_net/app.py,sha256=XXjn9XaKHGRcsHN8mMuqbRHAg8_Da0GLmACUU9ddjBc,16217
|
8
8
|
pygpt_net/config.py,sha256=Qc1FOBtTf3O6A6-6KoqUGtoJ0u8hXQeowvCVbZFwtik,16405
|
9
9
|
pygpt_net/container.py,sha256=BemiVZPpPNIzfB-ZvnZeeBPFu-AcX2c30OqYFylEjJc,4023
|
@@ -63,7 +63,7 @@ pygpt_net/controller/dialogs/debug.py,sha256=v6E85vyCwfaDG9XZysxhBjRwlrDkbYC-NxU
|
|
63
63
|
pygpt_net/controller/dialogs/info.py,sha256=CcVXRgYYqHJF9YpG3SzQQc_lFyQL5-m3Nbb-n0EnQQA,3527
|
64
64
|
pygpt_net/controller/files/__init__.py,sha256=1Zm9L8-rhLG-GjRQDaOCkAFocAAobTQj-D3ILxLUGn4,16135
|
65
65
|
pygpt_net/controller/finder/__init__.py,sha256=4jl8EzTVR1Wc0dJkVwacAdvBiuF1CyOSKB4Qewju0Jw,4955
|
66
|
-
pygpt_net/controller/idx/__init__.py,sha256=
|
66
|
+
pygpt_net/controller/idx/__init__.py,sha256=h8k8vGaPEl2ikA0vMrOT7RGY3XrhEpNjeHHxEUBLqfU,10267
|
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
|
@@ -75,7 +75,7 @@ pygpt_net/controller/lang/custom.py,sha256=o_JpcFmDCkuqzNzA_esX7Ajg61O14tOr17ZKc
|
|
75
75
|
pygpt_net/controller/lang/mapping.py,sha256=uQz9GasYP6CAVvzV_54v5d0P0uPcG9z5Hjv8HITNA-o,23600
|
76
76
|
pygpt_net/controller/lang/plugins.py,sha256=JEiOajXB7BfxPPfBkYl82K1_gKpRVcMEPNPwsNAJ6WU,3879
|
77
77
|
pygpt_net/controller/lang/settings.py,sha256=awPEshWbHlOt11Zyg_uQKlbYjvABXrQ7QMHdpu2L9ZI,2634
|
78
|
-
pygpt_net/controller/launcher/__init__.py,sha256=
|
78
|
+
pygpt_net/controller/launcher/__init__.py,sha256=YykWa_vl8HEsH8wMz2aQsLlGqn62dIRpQ-OZzLDomgM,2063
|
79
79
|
pygpt_net/controller/layout/__init__.py,sha256=9R30zrZtvedAf1OxQLzxDWt8o2XirUq0bkcFRnpCztg,11433
|
80
80
|
pygpt_net/controller/mode/__init__.py,sha256=TY3y5fD8kpqLCmDyyCoEL_1OTSOXLnHVdIvH2lGUTew,7303
|
81
81
|
pygpt_net/controller/model/__init__.py,sha256=qRXFmBje0zu_obAku3qTkhnr01z5D5yDN4gbX347NMA,5931
|
@@ -102,7 +102,7 @@ pygpt_net/controller/theme/nodes.py,sha256=6SCKMGQ5SZdKgy4t69raiikTLQDPPkjoYTPwl
|
|
102
102
|
pygpt_net/controller/tools/__init__.py,sha256=b_yt413iRUI9fWHzZGdtM4333UjzrJb-zmq_exYTgy4,2723
|
103
103
|
pygpt_net/controller/ui/__init__.py,sha256=WsH7OzMS_ixCwuHeSajv2E3irPo9B4H3dQe7Svd_71k,5903
|
104
104
|
pygpt_net/controller/ui/mode.py,sha256=8mw_tmRo7sArvgv-k1yfwx5SCfVOkwdc96U8ZiW83Q0,10231
|
105
|
-
pygpt_net/controller/ui/tabs.py,sha256=
|
105
|
+
pygpt_net/controller/ui/tabs.py,sha256=7DxDCkkx0mPJ8VbVp-mRt8cb2Mgjbv7Jv3OOVkJp91k,20321
|
106
106
|
pygpt_net/controller/ui/vision.py,sha256=KrP8wFuuz-gsO9iwbLDnzvC5iqWVlWjFarQ27HkHdEg,2303
|
107
107
|
pygpt_net/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
108
|
pygpt_net/core/access/__init__.py,sha256=rFKp9xMsuJHS_wxiMEMMHVRd5lXdkPj7LuObAIdQFBY,942
|
@@ -179,7 +179,7 @@ pygpt_net/core/filesystem/types.py,sha256=1HFubxAHYup_SLQ7SlR5EvZb3KgVyd8K8vBRUk
|
|
179
179
|
pygpt_net/core/filesystem/url.py,sha256=cXctpPHBY1-fwn7vFqfZi3CeP73n2nFXF-ZnePiRk7U,3236
|
180
180
|
pygpt_net/core/history/__init__.py,sha256=PDE5Ut03mEgY9YPLZjqrimKQAyxoE7itViuqFV-VQf0,3123
|
181
181
|
pygpt_net/core/idx/__init__.py,sha256=sK6zQDxetao3dnqcBaaT2HTKOz4zxOSEKmsHLQlsLGY,18115
|
182
|
-
pygpt_net/core/idx/chat.py,sha256=
|
182
|
+
pygpt_net/core/idx/chat.py,sha256=JOpdkn88bBnO9k1EQ_iQjNDW_ZyXEl8-8ZuUr7hlwl0,24270
|
183
183
|
pygpt_net/core/idx/context.py,sha256=uISNiKprcA_Qv9t0PbMj1vDWCm1eccYbk5iGS-QcfG0,3143
|
184
184
|
pygpt_net/core/idx/indexing.py,sha256=lj0FnPGBhL3AvmOT-NIQcdH6zY-Tpp3DB0zei2SV7xo,42989
|
185
185
|
pygpt_net/core/idx/llm.py,sha256=RmYLBKhvMIL7XcvWa39HdNxq4yC-f2C34e93Wx7yaM8,4885
|
@@ -197,7 +197,7 @@ pygpt_net/core/installer/__init__.py,sha256=I7ALQy8P3SG7iOY04gDQpRVmSFNCtk83sz90
|
|
197
197
|
pygpt_net/core/llm/__init__.py,sha256=cns_L7QeKXwq22Jj09gOG5PPnX0PxB3dagcdiXZvBFI,1291
|
198
198
|
pygpt_net/core/locale/__init__.py,sha256=KcG4lwtiI7mqtS8ojX2A2IuO0kCYGQP0-bwuBqzx_mc,5484
|
199
199
|
pygpt_net/core/models/__init__.py,sha256=W4UaqC8KmlgesV151OGHOLbUDf2GPGNs7SWe7mCL2Fo,10043
|
200
|
-
pygpt_net/core/models/ollama.py,sha256=
|
200
|
+
pygpt_net/core/models/ollama.py,sha256=R73J1X7sWhjg5DiPCQNbGiZyKZmvhb5ROU1kyELWBbM,2457
|
201
201
|
pygpt_net/core/modes/__init__.py,sha256=d3Wju5zo8DaUxPINPOAkOaKy0uuL9DryVubB4xiEqAU,3110
|
202
202
|
pygpt_net/core/notepad/__init__.py,sha256=lsgn4zXapg51227oTO3fr93FyltuEMEyJCNSAOki61o,4246
|
203
203
|
pygpt_net/core/platforms/__init__.py,sha256=QygvsQadTpWW1K4_GraO38r7u82sYpgz3FI4iv_Dodw,4563
|
@@ -250,9 +250,9 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
250
250
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
251
251
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
252
252
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
253
|
-
pygpt_net/data/config/config.json,sha256=
|
254
|
-
pygpt_net/data/config/models.json,sha256=
|
255
|
-
pygpt_net/data/config/modes.json,sha256=
|
253
|
+
pygpt_net/data/config/config.json,sha256=1o-WvDxPgDgOl2TjajxHdFG-iuTjiiagI3523WtFvkc,19884
|
254
|
+
pygpt_net/data/config/models.json,sha256=6q2kLpbu0bH3e3voZzmvP6MT4kzhMm5SiZEPT8nBEzg,88881
|
255
|
+
pygpt_net/data/config/modes.json,sha256=q5cKX0_bjdzpIJ16jnIeNvTaftDQKSjzFjpznuf3mUY,1921
|
256
256
|
pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
|
257
257
|
pygpt_net/data/config/presets/agent_openai_assistant.json,sha256=awJw9lNTGpKML6SJUShVn7lv8AXh0oic7wBeyoN7AYs,798
|
258
258
|
pygpt_net/data/config/presets/agent_planner.json,sha256=a6Rv58Bnm2STNWB0Rw_dGhnsz6Lb3J8_GwsUVZaTIXc,742
|
@@ -1871,7 +1871,7 @@ pygpt_net/provider/core/prompt/json_file.py,sha256=5yfW1RgEa36tX4-ntze4PavWLry0Y
|
|
1871
1871
|
pygpt_net/provider/gpt/__init__.py,sha256=QZgTYRhe9rV2m4e60VTtUxgkYZFEwTX0H4aILSGdV0A,9265
|
1872
1872
|
pygpt_net/provider/gpt/assistants.py,sha256=DSw1YB_J9n2rFD5CPDWZy59I38VSG6uLpYydGLTUPMQ,14083
|
1873
1873
|
pygpt_net/provider/gpt/audio.py,sha256=frHElxYVaHYkNDCMJ9tQMoGqxSaZ-s5oPlAEHUAckkc,2032
|
1874
|
-
pygpt_net/provider/gpt/chat.py,sha256=
|
1874
|
+
pygpt_net/provider/gpt/chat.py,sha256=UlxRFZghIB-zBoCOxMlX6vqNveKiQi2RdU3dOwo0Fb4,10512
|
1875
1875
|
pygpt_net/provider/gpt/completion.py,sha256=OusKOb4G11aYRJUjRWcMsf80cRQQvee9DzRe99ubLmc,6164
|
1876
1876
|
pygpt_net/provider/gpt/image.py,sha256=ZqYrtVTcfPa8Kf08pWLKy1Zhvi6pu61GBlslRBauoK0,8967
|
1877
1877
|
pygpt_net/provider/gpt/store.py,sha256=FaVd7SBC_QQ0W26_odJwcrLH54CSq0UZXZnuwIhRm54,17315
|
@@ -1954,15 +1954,15 @@ pygpt_net/provider/loaders/web_rss.py,sha256=yV7c_AB5fXwCyauvsMj7pGQP0gPx-HikblS
|
|
1954
1954
|
pygpt_net/provider/loaders/web_sitemap.py,sha256=zFIW3abS93ZzsyVasq24MHAiy2ZtrOro-xFl3oaCfyQ,2205
|
1955
1955
|
pygpt_net/provider/loaders/web_twitter.py,sha256=geW_fHMfl-Uh9TmoE3NAk8Ifk0h1VBxMreP7EgKbxhA,2954
|
1956
1956
|
pygpt_net/provider/loaders/web_yt.py,sha256=1j68SbIS6h7Da3pcSPvDnBw5K_jjX3huT39WLQSmArY,2739
|
1957
|
-
pygpt_net/provider/vector_stores/__init__.py,sha256=
|
1958
|
-
pygpt_net/provider/vector_stores/base.py,sha256=
|
1959
|
-
pygpt_net/provider/vector_stores/chroma.py,sha256=
|
1960
|
-
pygpt_net/provider/vector_stores/ctx_attachment.py,sha256=
|
1957
|
+
pygpt_net/provider/vector_stores/__init__.py,sha256=24lP4ZkmyTVBuAM_vyVcofzWcJthGABd0D6Kn6YovMs,8590
|
1958
|
+
pygpt_net/provider/vector_stores/base.py,sha256=jz9eRciP4g8Uz7S-pYmpQE61oMRUMiTXQeI9ywd9Vhc,4476
|
1959
|
+
pygpt_net/provider/vector_stores/chroma.py,sha256=ATiWsFdRf3B-dJeuq8lBtIqjzJL7ZoL8iFOOrsdGPpk,3367
|
1960
|
+
pygpt_net/provider/vector_stores/ctx_attachment.py,sha256=jYz2rcNkh3zdr3r1t9dRMTGY54ugmFCyHEjPW4jnF-Y,3417
|
1961
1961
|
pygpt_net/provider/vector_stores/elasticsearch.py,sha256=sa9ZESc-Yaxh658dvF8FEIx4V5VpaBS_u67bDzGM1nE,3255
|
1962
1962
|
pygpt_net/provider/vector_stores/pinecode.py,sha256=oyFq8gh9e7Oi369ADvX7MEJlVPpQGZUFybC5c3cdJzE,5280
|
1963
1963
|
pygpt_net/provider/vector_stores/redis.py,sha256=lea-hmtJH87Q2uCfZogu8H8c0ukSU7UK8vK8dgFFbwM,3286
|
1964
|
-
pygpt_net/provider/vector_stores/simple.py,sha256=
|
1965
|
-
pygpt_net/provider/vector_stores/temp.py,sha256=
|
1964
|
+
pygpt_net/provider/vector_stores/simple.py,sha256=fcjBual9BySrNz8FzqGwyzT1YDiUdZmhlQ3v3qfdEiQ,2681
|
1965
|
+
pygpt_net/provider/vector_stores/temp.py,sha256=zUNI0ujN6KNGuodIghZprNR2BX3kNgIXR88CNsWEAwo,4603
|
1966
1966
|
pygpt_net/provider/web/__init__.py,sha256=lOkgAiuNUqkAl_QrIG3ZsUznIZeJYtokgzEnDB8gRic,488
|
1967
1967
|
pygpt_net/provider/web/base.py,sha256=uXWu4N5giHIAWUylq8Ow2T02HDcKl7pWbSKWTpFc5do,2105
|
1968
1968
|
pygpt_net/provider/web/google_custom_search.py,sha256=hgxdpcdxy3YzUBeL1hEuNPFQ3pE3D_CCi5spBzIPKeI,4741
|
@@ -2180,8 +2180,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=2LebPHa_e5lvBqnIVzjwsLcFMoc11BonXgAUs
|
|
2180
2180
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
2181
2181
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
2182
2182
|
pygpt_net/utils.py,sha256=WtrdagJ-BlCjxGEEVq2rhsyAZMcU6JqltCXzOs823po,6707
|
2183
|
-
pygpt_net-2.5.
|
2184
|
-
pygpt_net-2.5.
|
2185
|
-
pygpt_net-2.5.
|
2186
|
-
pygpt_net-2.5.
|
2187
|
-
pygpt_net-2.5.
|
2183
|
+
pygpt_net-2.5.6.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
2184
|
+
pygpt_net-2.5.6.dist-info/METADATA,sha256=AH7si-bhF46MeiBcfqcUtGQrRbIw3_8GgtZUUvwvjSU,169703
|
2185
|
+
pygpt_net-2.5.6.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
2186
|
+
pygpt_net-2.5.6.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
2187
|
+
pygpt_net-2.5.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|