pygpt-net 2.4.41__py3-none-any.whl → 2.4.44__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 +19 -0
- README.md +151 -71
- pygpt_net/CHANGELOG.txt +19 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/app.py +3 -1
- pygpt_net/controller/attachment.py +31 -3
- pygpt_net/controller/audio/__init__.py +2 -2
- pygpt_net/controller/camera.py +1 -10
- pygpt_net/controller/chat/attachment.py +37 -36
- pygpt_net/controller/chat/audio.py +2 -2
- pygpt_net/controller/config/placeholder.py +20 -4
- pygpt_net/controller/idx/common.py +7 -3
- pygpt_net/controller/ui/mode.py +16 -21
- pygpt_net/core/attachments/__init__.py +7 -2
- pygpt_net/core/attachments/context.py +52 -34
- pygpt_net/core/audio/__init__.py +4 -1
- pygpt_net/core/audio/whisper.py +37 -0
- pygpt_net/core/bridge/worker.py +2 -2
- pygpt_net/core/db/__init__.py +2 -1
- pygpt_net/core/debug/attachments.py +1 -0
- pygpt_net/core/debug/events.py +22 -10
- pygpt_net/core/debug/tabs.py +6 -3
- pygpt_net/core/history.py +3 -2
- pygpt_net/core/idx/__init__.py +23 -6
- pygpt_net/core/idx/chat.py +15 -5
- pygpt_net/core/idx/indexing.py +47 -14
- pygpt_net/core/idx/ui/__init__.py +22 -0
- pygpt_net/core/idx/ui/loaders.py +217 -0
- pygpt_net/core/installer.py +2 -4
- pygpt_net/core/models.py +62 -17
- pygpt_net/core/modes.py +11 -13
- pygpt_net/core/notepad.py +4 -4
- pygpt_net/core/plugins.py +27 -16
- pygpt_net/core/presets.py +20 -9
- pygpt_net/core/profile.py +11 -3
- pygpt_net/core/render/web/parser.py +3 -1
- pygpt_net/core/settings.py +5 -5
- pygpt_net/core/tabs/tab.py +10 -2
- pygpt_net/core/tokens.py +8 -6
- pygpt_net/core/web/__init__.py +105 -0
- pygpt_net/core/{web.py → web/helpers.py} +93 -67
- pygpt_net/data/config/config.json +4 -4
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/data/config/modes.json +3 -3
- pygpt_net/data/config/settings.json +5 -5
- pygpt_net/data/locale/locale.de.ini +3 -3
- pygpt_net/data/locale/locale.en.ini +12 -9
- pygpt_net/data/locale/locale.es.ini +3 -3
- pygpt_net/data/locale/locale.fr.ini +3 -3
- pygpt_net/data/locale/locale.it.ini +3 -3
- pygpt_net/data/locale/locale.pl.ini +3 -3
- pygpt_net/data/locale/locale.uk.ini +3 -3
- pygpt_net/data/locale/locale.zh.ini +3 -3
- pygpt_net/data/locale/plugin.cmd_web.en.ini +2 -0
- pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
- pygpt_net/item/attachment.py +5 -1
- pygpt_net/item/ctx.py +111 -3
- pygpt_net/migrations/Version20241215110000.py +25 -0
- pygpt_net/migrations/__init__.py +3 -1
- pygpt_net/plugin/agent/__init__.py +7 -2
- pygpt_net/plugin/audio_output/__init__.py +6 -1
- pygpt_net/plugin/base/plugin.py +58 -26
- pygpt_net/plugin/base/worker.py +20 -17
- pygpt_net/plugin/cmd_files/__init__.py +3 -2
- pygpt_net/plugin/cmd_history/config.py +2 -2
- pygpt_net/plugin/cmd_web/__init__.py +3 -4
- pygpt_net/plugin/cmd_web/config.py +71 -3
- pygpt_net/plugin/cmd_web/websearch.py +20 -12
- pygpt_net/plugin/cmd_web/worker.py +67 -4
- pygpt_net/plugin/idx_llama_index/config.py +3 -3
- pygpt_net/plugin/mailer/__init__.py +123 -0
- pygpt_net/plugin/mailer/config.py +149 -0
- pygpt_net/plugin/mailer/runner.py +285 -0
- pygpt_net/plugin/mailer/worker.py +123 -0
- pygpt_net/provider/agents/base.py +5 -2
- pygpt_net/provider/agents/openai.py +4 -2
- pygpt_net/provider/agents/openai_assistant.py +4 -2
- pygpt_net/provider/agents/planner.py +4 -2
- pygpt_net/provider/agents/react.py +4 -2
- pygpt_net/provider/audio_output/openai_tts.py +5 -11
- pygpt_net/provider/core/assistant/base.py +5 -3
- pygpt_net/provider/core/assistant/json_file.py +8 -5
- pygpt_net/provider/core/assistant_file/base.py +4 -3
- pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +4 -3
- pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +3 -2
- pygpt_net/provider/core/assistant_store/base.py +6 -4
- pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +5 -4
- pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +5 -3
- pygpt_net/provider/core/attachment/base.py +5 -3
- pygpt_net/provider/core/attachment/json_file.py +7 -3
- pygpt_net/provider/core/calendar/base.py +5 -3
- pygpt_net/provider/core/calendar/db_sqlite/__init__.py +6 -5
- pygpt_net/provider/core/calendar/db_sqlite/storage.py +5 -4
- pygpt_net/provider/core/config/base.py +8 -6
- pygpt_net/provider/core/config/json_file.py +9 -7
- pygpt_net/provider/core/config/patch.py +6 -0
- pygpt_net/provider/core/ctx/base.py +27 -25
- pygpt_net/provider/core/ctx/db_sqlite/__init__.py +51 -35
- pygpt_net/provider/core/ctx/db_sqlite/storage.py +92 -38
- pygpt_net/provider/core/ctx/db_sqlite/utils.py +37 -11
- pygpt_net/provider/core/index/base.py +129 -23
- pygpt_net/provider/core/index/db_sqlite/__init__.py +130 -23
- pygpt_net/provider/core/index/db_sqlite/storage.py +130 -23
- pygpt_net/provider/core/index/db_sqlite/utils.py +4 -2
- pygpt_net/provider/core/mode/base.py +5 -3
- pygpt_net/provider/core/mode/json_file.py +7 -6
- pygpt_net/provider/core/model/base.py +6 -4
- pygpt_net/provider/core/model/json_file.py +9 -7
- pygpt_net/provider/core/notepad/base.py +5 -3
- pygpt_net/provider/core/notepad/db_sqlite/__init__.py +5 -4
- pygpt_net/provider/core/notepad/db_sqlite/storage.py +4 -3
- pygpt_net/provider/core/plugin_preset/base.py +4 -2
- pygpt_net/provider/core/plugin_preset/json_file.py +5 -3
- pygpt_net/provider/core/preset/base.py +6 -4
- pygpt_net/provider/core/preset/json_file.py +9 -9
- pygpt_net/provider/core/prompt/base.py +6 -3
- pygpt_net/provider/core/prompt/json_file.py +11 -6
- pygpt_net/provider/gpt/assistants.py +15 -6
- pygpt_net/provider/gpt/audio.py +5 -5
- pygpt_net/provider/gpt/chat.py +7 -5
- pygpt_net/provider/gpt/completion.py +8 -4
- pygpt_net/provider/gpt/image.py +3 -3
- pygpt_net/provider/gpt/store.py +46 -12
- pygpt_net/provider/gpt/vision.py +16 -11
- pygpt_net/provider/llms/anthropic.py +7 -2
- pygpt_net/provider/llms/azure_openai.py +26 -5
- pygpt_net/provider/llms/base.py +47 -9
- pygpt_net/provider/llms/google.py +7 -2
- pygpt_net/provider/llms/hugging_face.py +13 -3
- pygpt_net/provider/llms/hugging_face_api.py +18 -4
- pygpt_net/provider/llms/local.py +7 -2
- pygpt_net/provider/llms/ollama.py +30 -6
- pygpt_net/provider/llms/openai.py +32 -6
- pygpt_net/provider/loaders/base.py +14 -0
- pygpt_net/provider/loaders/hub/yt/base.py +5 -0
- pygpt_net/provider/loaders/web_database.py +13 -5
- pygpt_net/provider/loaders/web_github_issues.py +5 -1
- pygpt_net/provider/loaders/web_google_calendar.py +9 -1
- pygpt_net/provider/loaders/web_google_docs.py +6 -1
- pygpt_net/provider/loaders/web_google_drive.py +10 -1
- pygpt_net/provider/loaders/web_google_gmail.py +2 -1
- pygpt_net/provider/loaders/web_google_keep.py +5 -1
- pygpt_net/provider/loaders/web_google_sheets.py +5 -1
- pygpt_net/provider/loaders/web_microsoft_onedrive.py +15 -1
- pygpt_net/provider/loaders/web_page.py +4 -2
- pygpt_net/provider/loaders/web_rss.py +2 -1
- pygpt_net/provider/loaders/web_sitemap.py +2 -1
- pygpt_net/provider/loaders/web_twitter.py +4 -2
- pygpt_net/provider/loaders/web_yt.py +17 -2
- pygpt_net/provider/vector_stores/__init__.py +45 -14
- pygpt_net/provider/vector_stores/base.py +35 -8
- pygpt_net/provider/vector_stores/chroma.py +13 -3
- pygpt_net/provider/vector_stores/ctx_attachment.py +32 -13
- pygpt_net/provider/vector_stores/elasticsearch.py +12 -3
- pygpt_net/provider/vector_stores/pinecode.py +12 -3
- pygpt_net/provider/vector_stores/redis.py +12 -3
- pygpt_net/provider/vector_stores/simple.py +12 -3
- pygpt_net/provider/vector_stores/temp.py +16 -4
- pygpt_net/provider/web/base.py +10 -3
- pygpt_net/provider/web/google_custom_search.py +9 -3
- pygpt_net/provider/web/microsoft_bing.py +9 -3
- pygpt_net/tools/__init__.py +13 -5
- pygpt_net/tools/audio_transcriber/__init__.py +4 -3
- pygpt_net/tools/base.py +15 -8
- pygpt_net/tools/code_interpreter/__init__.py +4 -3
- pygpt_net/tools/html_canvas/__init__.py +4 -3
- pygpt_net/tools/image_viewer/__init__.py +10 -4
- pygpt_net/tools/indexer/__init__.py +15 -46
- pygpt_net/tools/indexer/ui/web.py +20 -78
- pygpt_net/tools/media_player/__init__.py +4 -3
- pygpt_net/tools/text_editor/__init__.py +36 -10
- pygpt_net/ui/layout/chat/output.py +2 -2
- pygpt_net/ui/layout/ctx/ctx_list.py +86 -18
- pygpt_net/ui/menu/audio.py +12 -1
- pygpt_net/ui/widget/dialog/url.py +151 -14
- pygpt_net/ui/widget/element/group.py +15 -2
- pygpt_net/ui/widget/lists/context.py +23 -9
- pygpt_net/utils.py +1 -1
- {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/METADATA +152 -72
- {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/RECORD +183 -173
- {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/LICENSE +0 -0
- {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/WHEEL +0 -0
- {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/entry_points.txt +0 -0
CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2.4.44 (2024-12-16)
|
4
|
+
|
5
|
+
- Enhanced web data loaders.
|
6
|
+
- Web loaders have been added to attachments, allowing external web content to be attached to context via the "+Web" button in the Attachments tab.
|
7
|
+
- Improved handling of attachments in groups and added an attachment icon when a group contains attachments.
|
8
|
+
|
9
|
+
## 2.4.43 (2024-12-15)
|
10
|
+
|
11
|
+
- Fix: Bug on attachment upload.
|
12
|
+
- Added: Attachments uploaded in groups are now available for all contexts in the group (beta).
|
13
|
+
|
14
|
+
## 2.4.42 (2024-12-15)
|
15
|
+
|
16
|
+
- Added Mailer plugin, which allows sending and retrieving emails from the server, and reading them. It currently supports only SMTP.
|
17
|
+
- Added 'web_request' command to the Web Search plugin, enabling GET/POST/PUT and other connections to any address and API endpoint. It also supports sending POST data, files, headers, cookies, and more.
|
18
|
+
- Improved audio output.
|
19
|
+
- Enhanced visibility of the Video menu.
|
20
|
+
- Other fixes.
|
21
|
+
|
3
22
|
## 2.4.41 (2024-12-14)
|
4
23
|
|
5
24
|
- Improved switching between columns on a split screen.
|
README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](https://snapcraft.io/pygpt)
|
4
4
|
|
5
|
-
Release: **2.4.
|
5
|
+
Release: **2.4.44** | build: **2024.12.16** | Python: **>=3.10, <3.12**
|
6
6
|
|
7
7
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
8
8
|
>
|
@@ -785,6 +785,8 @@ You can use your own files (for example, to analyze them) during any conversatio
|
|
785
785
|
|
786
786
|
**PyGPT** makes it simple for users to upload files and send them to the model for tasks like analysis, similar to attaching files in `ChatGPT`. There's a separate `Attachments` tab next to the text input area specifically for managing file uploads.
|
787
787
|
|
788
|
+
**Tip: Attachments uploaded in group are available in all contexts in group**.
|
789
|
+
|
788
790
|

|
789
791
|
|
790
792
|
You can use attachments to provide additional context to the conversation. Uploaded files will be converted into text using loaders from LlamaIndex, and then embedded into the vector store. You can upload any file format supported by the application through LlamaIndex. Supported formats include:
|
@@ -1067,6 +1069,8 @@ as well as list and create directories.
|
|
1067
1069
|
|
1068
1070
|
- `Voice Control (inline)` - provides voice control command execution within a conversation.
|
1069
1071
|
|
1072
|
+
- `Mailer` - Provides the ability to send, receive and read emails.
|
1073
|
+
|
1070
1074
|
## Audio Input
|
1071
1075
|
|
1072
1076
|
The plugin facilitates speech recognition (by default using the `Whisper` model from OpenAI, `Google` and `Bing` are also available). It allows for voice commands to be relayed to the AI using your own voice. Whisper doesn't require any extra API keys or additional configurations; it uses the main OpenAI key. In the plugin's configuration options, you should adjust the volume level (min energy) at which the plugin will respond to your microphone. Once the plugin is activated, a new `Speak` option will appear at the bottom near the `Send` button - when this is enabled, the application will respond to the voice received from the microphone.
|
@@ -1493,15 +1497,15 @@ sudo snap connect pygpt:docker docker:docker-daemon
|
|
1493
1497
|
|
1494
1498
|
Automatically attach code input/output to the Python Code Interpreter window. *Default:* `True`
|
1495
1499
|
|
1496
|
-
- `
|
1500
|
+
- `Tool: get_python_output` *cmd.get_python_output*
|
1497
1501
|
|
1498
1502
|
Allows `get_python_output` command execution. If enabled, it allows retrieval of the output from the Python Code Interpreter window. *Default:* `True`
|
1499
1503
|
|
1500
|
-
- `
|
1504
|
+
- `Tool: get_python_input` *cmd.get_python_input*
|
1501
1505
|
|
1502
1506
|
Allows `get_python_input` command execution. If enabled, it allows retrieval all input code (from edit section) from the Python Code Interpreter window. *Default:* `True`
|
1503
1507
|
|
1504
|
-
- `
|
1508
|
+
- `Tool: clear_python_output` *cmd.clear_python_output*
|
1505
1509
|
|
1506
1510
|
Allows `clear_python_output` command execution. If enabled, it allows clear the output of the Python Code Interpreter window. *Default:* `True`
|
1507
1511
|
|
@@ -1553,11 +1557,11 @@ Default: 5558
|
|
1553
1557
|
Default: 5559
|
1554
1558
|
|
1555
1559
|
|
1556
|
-
- `
|
1560
|
+
- `Tool: ipython_execute` *cmd.ipython_execute*
|
1557
1561
|
|
1558
1562
|
Allows Python code execution in IPython interpreter (in current kernel). *Default:* `True`
|
1559
1563
|
|
1560
|
-
- `
|
1564
|
+
- `Tool: python_kernel_restart` *cmd.ipython_kernel_restart*
|
1561
1565
|
|
1562
1566
|
Allows to restart IPython kernel. *Default:* `True`
|
1563
1567
|
|
@@ -1584,26 +1588,26 @@ Custom Docker image name
|
|
1584
1588
|
|
1585
1589
|
Custom Docker container name
|
1586
1590
|
|
1587
|
-
- `
|
1591
|
+
- `Tool: code_execute` *cmd.code_execute*
|
1588
1592
|
|
1589
1593
|
Allows `code_execute` command execution. If enabled, provides Python code execution (generate and execute from file). *Default:* `True`
|
1590
1594
|
|
1591
|
-
- `
|
1595
|
+
- `Tool: code_execute_all` *cmd.code_execute_all*
|
1592
1596
|
|
1593
1597
|
Allows `code_execute_all` command execution. If enabled, provides execution of all the Python code in interpreter window. *Default:* `True`
|
1594
1598
|
|
1595
|
-
- `
|
1599
|
+
- `Tool: code_execute_file` *cmd.code_execute_file*
|
1596
1600
|
|
1597
1601
|
Allows `code_execute_file` command execution. If enabled, provides Python code execution from existing .py file. *Default:* `True`
|
1598
1602
|
|
1599
1603
|
|
1600
1604
|
**HTML Canvas**
|
1601
1605
|
|
1602
|
-
- `
|
1606
|
+
- `Tool: render_html_output` *cmd.render_html_output*
|
1603
1607
|
|
1604
1608
|
Allows `render_html_output` command execution. If enabled, it allows to render HTML/JS code in built-it HTML/JS browser (HTML Canvas). *Default:* `True`
|
1605
1609
|
|
1606
|
-
- `
|
1610
|
+
- `Tool: get_html_output` *cmd.get_html_output*
|
1607
1611
|
|
1608
1612
|
Allows `get_html_output` command execution. If enabled, it allows retrieval current output from HTML Canvas. *Default:* `True`
|
1609
1613
|
|
@@ -1706,79 +1710,79 @@ If a file being created (with the same name) already exists, a prefix including
|
|
1706
1710
|
|
1707
1711
|
**General**
|
1708
1712
|
|
1709
|
-
- `
|
1713
|
+
- `Tool: send (upload) file as attachment` *cmd.send_file*
|
1710
1714
|
|
1711
1715
|
Allows `cmd.send_file` command execution. *Default:* `True`
|
1712
1716
|
|
1713
|
-
- `
|
1717
|
+
- `Tool: read file` *cmd.read_file*
|
1714
1718
|
|
1715
1719
|
Allows `read_file` command execution. *Default:* `True`
|
1716
1720
|
|
1717
|
-
- `
|
1721
|
+
- `Tool: append to file` *cmd.append_file*
|
1718
1722
|
|
1719
1723
|
Allows `append_file` command execution. Text-based files only (plain text, JSON, CSV, etc.) *Default:* `True`
|
1720
1724
|
|
1721
|
-
- `
|
1725
|
+
- `Tool: save file` *cmd.save_file*
|
1722
1726
|
|
1723
1727
|
Allows `save_file` command execution. Text-based files only (plain text, JSON, CSV, etc.) *Default:* `True`
|
1724
1728
|
|
1725
|
-
- `
|
1729
|
+
- `Tool: delete file` *cmd.delete_file*
|
1726
1730
|
|
1727
1731
|
Allows `delete_file` command execution. *Default:* `True`
|
1728
1732
|
|
1729
|
-
- `
|
1733
|
+
- `Tool: list files (ls)` *cmd.list_files*
|
1730
1734
|
|
1731
1735
|
Allows `list_dir` command execution. *Default:* `True`
|
1732
1736
|
|
1733
|
-
- `
|
1737
|
+
- `Tool: list files in dirs in directory (ls)` *cmd.list_dir*
|
1734
1738
|
|
1735
1739
|
Allows `mkdir` command execution. *Default:* `True`
|
1736
1740
|
|
1737
|
-
- `
|
1741
|
+
- `Tool: downloading files` *cmd.download_file*
|
1738
1742
|
|
1739
1743
|
Allows `download_file` command execution. *Default:* `True`
|
1740
1744
|
|
1741
|
-
- `
|
1745
|
+
- `Tool: removing directories` *cmd.rmdir*
|
1742
1746
|
|
1743
1747
|
Allows `rmdir` command execution. *Default:* `True`
|
1744
1748
|
|
1745
|
-
- `
|
1749
|
+
- `Tool: copying files` *cmd.copy_file*
|
1746
1750
|
|
1747
1751
|
Allows `copy_file` command execution. *Default:* `True`
|
1748
1752
|
|
1749
|
-
- `
|
1753
|
+
- `Tool: copying directories (recursive)` *cmd.copy_dir*
|
1750
1754
|
|
1751
1755
|
Allows `copy_dir` command execution. *Default:* `True`
|
1752
1756
|
|
1753
|
-
- `
|
1757
|
+
- `Tool: move files and directories (rename)` *cmd.move*
|
1754
1758
|
|
1755
1759
|
Allows `move` command execution. *Default:* `True`
|
1756
1760
|
|
1757
|
-
- `
|
1761
|
+
- `Tool: check if path is directory` *cmd.is_dir*
|
1758
1762
|
|
1759
1763
|
Allows `is_dir` command execution. *Default:* `True`
|
1760
1764
|
|
1761
|
-
- `
|
1765
|
+
- `Tool: check if path is file` *cmd.is_file*
|
1762
1766
|
|
1763
1767
|
Allows `is_file` command execution. *Default:* `True`
|
1764
1768
|
|
1765
|
-
- `
|
1769
|
+
- `Tool: check if file or directory exists` *cmd.file_exists*
|
1766
1770
|
|
1767
1771
|
Allows `file_exists` command execution. *Default:* `True`
|
1768
1772
|
|
1769
|
-
- `
|
1773
|
+
- `Tool: get file size` *cmd.file_size*
|
1770
1774
|
|
1771
1775
|
Allows `file_size` command execution. *Default:* `True`
|
1772
1776
|
|
1773
|
-
- `
|
1777
|
+
- `Tool: get file info` *cmd.file_info*
|
1774
1778
|
|
1775
1779
|
Allows `file_info` command execution. *Default:* `True`
|
1776
1780
|
|
1777
|
-
- `
|
1781
|
+
- `Tool: find file or directory` *cmd.find*
|
1778
1782
|
|
1779
1783
|
Allows `find` command execution. *Default:* `True`
|
1780
1784
|
|
1781
|
-
- `
|
1785
|
+
- `Tool: get current working directory` *cmd.cwd*
|
1782
1786
|
|
1783
1787
|
Allows `cwd` command execution. *Default:* `True`
|
1784
1788
|
|
@@ -1788,7 +1792,7 @@ Use data loaders from LlamaIndex for file reading (`read_file` command). *Defaul
|
|
1788
1792
|
|
1789
1793
|
**Indexing**
|
1790
1794
|
|
1791
|
-
- `
|
1795
|
+
- `Tool: quick query the file with LlamaIndex` *cmd.query_file*
|
1792
1796
|
|
1793
1797
|
Allows `query_file` command execution (in-memory index). If enabled, model will be able to quick index file into memory and query it for data (in-memory index) *Default:* `True`
|
1794
1798
|
|
@@ -1796,7 +1800,7 @@ Allows `query_file` command execution (in-memory index). If enabled, model will
|
|
1796
1800
|
|
1797
1801
|
Model used for query temporary index for `query_file` command (in-memory index). *Default:* `gpt-3.5-turbo`
|
1798
1802
|
|
1799
|
-
- `
|
1803
|
+
- `Tool: indexing files to persistent index` *cmd.file_index*
|
1800
1804
|
|
1801
1805
|
Allows `file_index` command execution. If enabled, model will be able to index file or directory using LlamaIndex (persistent index). *Default:* `True`
|
1802
1806
|
|
@@ -1824,7 +1828,7 @@ The plugin provides access to the operating system and executes system commands.
|
|
1824
1828
|
|
1825
1829
|
Automatically append current working directory to `sys_exec` command. *Default:* `True`
|
1826
1830
|
|
1827
|
-
- `
|
1831
|
+
- `Tool: sys_exec` *cmd.sys_exec*
|
1828
1832
|
|
1829
1833
|
Allows `sys_exec` command execution. If enabled, provides system commands execution. *Default:* `True`
|
1830
1834
|
|
@@ -1876,35 +1880,35 @@ Allows keyboard typing. *Default:* `True`
|
|
1876
1880
|
|
1877
1881
|
Allows making screenshots. *Default:* `True`
|
1878
1882
|
|
1879
|
-
- `
|
1883
|
+
- `Tool: mouse_get_pos` *cmd.mouse_get_pos*
|
1880
1884
|
|
1881
1885
|
Allows `mouse_get_pos` command execution. *Default:* `True`
|
1882
1886
|
|
1883
|
-
- `
|
1887
|
+
- `Tool: mouse_set_pos` *cmd.mouse_set_pos*
|
1884
1888
|
|
1885
1889
|
Allows `mouse_set_pos` command execution. *Default:* `True`
|
1886
1890
|
|
1887
|
-
- `
|
1891
|
+
- `Tool: make_screenshot` *cmd.make_screenshot*
|
1888
1892
|
|
1889
1893
|
Allows `make_screenshot` command execution. *Default:* `True`
|
1890
1894
|
|
1891
|
-
- `
|
1895
|
+
- `Tool: mouse_click` *cmd.mouse_click*
|
1892
1896
|
|
1893
1897
|
Allows `mouse_click` command execution. *Default:* `True`
|
1894
1898
|
|
1895
|
-
- `
|
1899
|
+
- `Tool: mouse_move` *cmd.mouse_move*
|
1896
1900
|
|
1897
1901
|
Allows `mouse_move` command execution. *Default:* `True`
|
1898
1902
|
|
1899
|
-
- `
|
1903
|
+
- `Tool: mouse_scroll` *cmd.mouse_scroll*
|
1900
1904
|
|
1901
1905
|
Allows `mouse_scroll` command execution. *Default:* `True`
|
1902
1906
|
|
1903
|
-
- `
|
1907
|
+
- `Tool: keyboard_key` *cmd.keyboard_key*
|
1904
1908
|
|
1905
1909
|
Allows `keyboard_key` command execution. *Default:* `True`
|
1906
1910
|
|
1907
|
-
- `
|
1911
|
+
- `Tool: keyboard_type` *cmd.keyboard_type*
|
1908
1912
|
|
1909
1913
|
Allows `keyboard_type` command execution. *Default:* `True`
|
1910
1914
|
|
@@ -2004,41 +2008,35 @@ Max length of the summarized or raw result (characters). *Default:* `50000`
|
|
2004
2008
|
|
2005
2009
|
Max tokens in output when generating summary. *Default:* `1500`
|
2006
2010
|
|
2007
|
-
- `
|
2011
|
+
- `Tool: web_search` *cmd.web_search*
|
2008
2012
|
|
2009
2013
|
Allows `web_search` command execution. If enabled, model will be able to search the Web. *Default:* `True`
|
2010
2014
|
|
2011
|
-
- `
|
2015
|
+
- `Tool: web_url_open` *cmd.web_url_open*
|
2012
2016
|
|
2013
2017
|
Allows `web_url_open` command execution. If enabled, model will be able to open specified URL and summarize content. *Default:* `True`
|
2014
2018
|
|
2015
|
-
- `
|
2019
|
+
- `Tool: web_url_raw` *cmd.web_url_raw*
|
2016
2020
|
|
2017
2021
|
Allows `web_url_raw` command execution. If enabled, model will be able to open specified URL and get the raw content. *Default:* `True`
|
2018
2022
|
|
2019
|
-
- `
|
2023
|
+
- `Tool: web_request` *cmd.web_request*
|
2020
2024
|
|
2021
|
-
Allows `
|
2025
|
+
Allows `web_request` command execution. If enabled, model will be able to send any HTTP request to specified URL or API endpoint. *Default:* `True`
|
2022
2026
|
|
2023
|
-
- `
|
2024
|
-
|
2025
|
-
Allows `web_index` command execution. If enabled, model will be able to index pages and external content using LlamaIndex (persistent index). *Default:* `True`
|
2027
|
+
- `Tool: web_extract_links` *cmd.web_extract_links*
|
2026
2028
|
|
2027
|
-
|
2029
|
+
Allows `web_extract_links` command execution. If enabled, model will be able to open URL and get list of all links from it. *Default:* `True`
|
2028
2030
|
|
2029
|
-
|
2031
|
+
- `Tool: web_extract_images` *cmd.web_extract_images*
|
2030
2032
|
|
2031
|
-
|
2033
|
+
Allows `web_extract_images` command execution. If enabled, model will be able to open URL and get list of all images from it.. *Default:* `True`
|
2032
2034
|
|
2033
|
-
|
2034
|
-
|
2035
|
-
- `Index to use` *idx*
|
2036
|
-
|
2037
|
-
ID of index to use for web page indexing (persistent index). *Default:* `base`
|
2035
|
+
**Advanced**
|
2038
2036
|
|
2039
2037
|
- `Model used for web page summarize` *summary_model*
|
2040
2038
|
|
2041
|
-
Model used for web page summarize. *Default:* `gpt-
|
2039
|
+
Model used for web page summarize. *Default:* `gpt-4o-mini`
|
2042
2040
|
|
2043
2041
|
- `Summarize prompt` *prompt_summarize*
|
2044
2042
|
|
@@ -2048,6 +2046,24 @@ Prompt used for web search results summarize, use {query} as a placeholder for s
|
|
2048
2046
|
|
2049
2047
|
Prompt used for specified URL page summarize.
|
2050
2048
|
|
2049
|
+
**Indexing**
|
2050
|
+
|
2051
|
+
- `Tool: web_index` *cmd.web_index*
|
2052
|
+
|
2053
|
+
Allows `web_index` command execution. If enabled, model will be able to index pages and external content using LlamaIndex (persistent index). *Default:* `True`
|
2054
|
+
|
2055
|
+
- `Tool: web_index_query` *cmd.web_index_query*
|
2056
|
+
|
2057
|
+
Allows `web_index_query` command execution. If enabled, model will be able to quick index and query web content using LlamaIndex (in-memory index). *Default:* `True`
|
2058
|
+
|
2059
|
+
- `Auto-index all used URLs using LlamaIndex` *auto_index*
|
2060
|
+
|
2061
|
+
If enabled, every URL used by the model will be automatically indexed using LlamaIndex (persistent index). *Default:* `False`
|
2062
|
+
|
2063
|
+
- `Index to use` *idx*
|
2064
|
+
|
2065
|
+
ID of index to use for web page indexing (persistent index). *Default:* `base`
|
2066
|
+
|
2051
2067
|
## Serial port / USB
|
2052
2068
|
|
2053
2069
|
Provides commands for reading and sending data to USB ports.
|
@@ -2095,15 +2111,15 @@ Timeout in seconds. *Default:* `1`
|
|
2095
2111
|
|
2096
2112
|
Sleep in seconds after connection *Default:* `2`
|
2097
2113
|
|
2098
|
-
- `
|
2114
|
+
- `Tool: Send text commands to USB port` *cmd.serial_send*
|
2099
2115
|
|
2100
2116
|
Allows `serial_send` command execution. *Default:* `True`
|
2101
2117
|
|
2102
|
-
- `
|
2118
|
+
- `Tool: Send raw bytes to USB port` *cmd.serial_send_bytes*
|
2103
2119
|
|
2104
2120
|
Allows `serial_send_bytes` command execution. *Default:* `True`
|
2105
2121
|
|
2106
|
-
- `
|
2122
|
+
- `Tool: Read data from USB port` *cmd.serial_read*
|
2107
2123
|
|
2108
2124
|
Allows `serial_read` command execution. *Default:* `True`
|
2109
2125
|
|
@@ -2142,31 +2158,31 @@ Where `123` is the ID of previous context (conversation) in database, example of
|
|
2142
2158
|
|
2143
2159
|
When enabled, it allows to automatically retrieve context history using @ tags, e.g. use @123 in question to use summary of context with ID 123 as additional context. *Default:* `False`
|
2144
2160
|
|
2145
|
-
- `
|
2161
|
+
- `Tool: get date range context list` *cmd.get_ctx_list_in_date_range*
|
2146
2162
|
|
2147
2163
|
Allows `get_ctx_list_in_date_range` command execution. If enabled, it allows getting the list of context history (previous conversations). *Default:* `True
|
2148
2164
|
|
2149
|
-
- `
|
2165
|
+
- `Tool: get context content by ID` *cmd.get_ctx_content_by_id*
|
2150
2166
|
|
2151
2167
|
Allows `get_ctx_content_by_id` command execution. If enabled, it allows getting summarized content of context with defined ID. *Default:* `True`
|
2152
2168
|
|
2153
|
-
- `
|
2169
|
+
- `Tool: count contexts in date range` *cmd.count_ctx_in_date*
|
2154
2170
|
|
2155
2171
|
Allows `count_ctx_in_date` command execution. If enabled, it allows counting contexts in date range. *Default:* `True`
|
2156
2172
|
|
2157
|
-
- `
|
2173
|
+
- `Tool: get day note` *cmd.get_day_note*
|
2158
2174
|
|
2159
2175
|
Allows `get_day_note` command execution. If enabled, it allows retrieving day note for specific date. *Default:* `True`
|
2160
2176
|
|
2161
|
-
- `
|
2177
|
+
- `Tool: add day note` *cmd.add_day_note*
|
2162
2178
|
|
2163
2179
|
Allows `add_day_note` command execution. If enabled, it allows adding day note for specific date. *Default:* `True`
|
2164
2180
|
|
2165
|
-
- `
|
2181
|
+
- `Tool: update day note` *cmd.update_day_note*
|
2166
2182
|
|
2167
2183
|
Allows `update_day_note` command execution. If enabled, it allows updating day note for specific date. *Default:* `True`
|
2168
2184
|
|
2169
|
-
- `
|
2185
|
+
- `Tool: remove day note` *cmd.remove_day_note*
|
2170
2186
|
|
2171
2187
|
Allows `remove_day_note` command execution. If enabled, it allows removing day note for specific date. *Default:* `True`
|
2172
2188
|
|
@@ -2258,14 +2274,57 @@ The prompt used for vision mode. It will append or replace current system prompt
|
|
2258
2274
|
|
2259
2275
|
Replace whole system prompt with vision prompt against appending it to the current prompt. *Default:* `False`
|
2260
2276
|
|
2261
|
-
- `
|
2277
|
+
- `Tool: capturing images from camera` *cmd.camera_capture*
|
2262
2278
|
|
2263
2279
|
Allows `capture` command execution. If enabled, model will be able to capture images from camera itself. The `+ Tools` option must be enabled. *Default:* `False`
|
2264
2280
|
|
2265
|
-
- `
|
2281
|
+
- `Tool: making screenshots` *cmd.make_screenshot*
|
2266
2282
|
|
2267
2283
|
Allows `screenshot` command execution. If enabled, model will be able to making screenshots itself. The `+ Tools` option must be enabled. *Default:* `False`
|
2268
2284
|
|
2285
|
+
## Mailer
|
2286
|
+
|
2287
|
+
Enables the sending, receiving, and reading of emails from the inbox. Currently, only SMTP is supported. More options coming soon.
|
2288
|
+
|
2289
|
+
**Options**
|
2290
|
+
|
2291
|
+
- `From (email)` *from_email*
|
2292
|
+
|
2293
|
+
From (email), e.g. me@domain.com
|
2294
|
+
|
2295
|
+
- `Tool: send_mail` *cmd.send_mail*
|
2296
|
+
|
2297
|
+
Allows `send_mail` command execution. If enabled, model will be able to sending emails.
|
2298
|
+
|
2299
|
+
- `Tool: receive_emails` *cmd.receive_emails*
|
2300
|
+
|
2301
|
+
Allows `receive_emails` command execution. If enabled, model will be able to receive emails from the server.
|
2302
|
+
|
2303
|
+
- `Tool: get_email_body` *cmd.get_email_body*
|
2304
|
+
|
2305
|
+
Allows `get_email_body` command execution. If enabled, model will be able to receive message body from the server.
|
2306
|
+
|
2307
|
+
- `SMTP Host` *smtp_host*
|
2308
|
+
|
2309
|
+
SMTP Host, e.g. smtp.domain.com
|
2310
|
+
|
2311
|
+
- `SMTP Port (Inbox)` *smtp_port_inbox*
|
2312
|
+
|
2313
|
+
SMTP Port, default: 995
|
2314
|
+
|
2315
|
+
- `SMTP Port (Outbox)` *smtp_port_outbox*
|
2316
|
+
|
2317
|
+
SMTP Port, default: 465
|
2318
|
+
|
2319
|
+
- `SMTP User` *smtp_user*
|
2320
|
+
|
2321
|
+
SMTP User, e.g. user@domain.com
|
2322
|
+
|
2323
|
+
- `SMTP Password` *smtp_password*
|
2324
|
+
|
2325
|
+
SMTP Password.
|
2326
|
+
|
2327
|
+
|
2269
2328
|
## Real Time
|
2270
2329
|
|
2271
2330
|
This plugin automatically adds the current date and time to each system prompt you send.
|
@@ -3203,8 +3262,10 @@ Allowed additional keyword arguments for built-in data loaders (Web and external
|
|
3203
3262
|
|
3204
3263
|
**SQL Database** (web_database)
|
3205
3264
|
|
3206
|
-
- `engine` - str, default: `None`
|
3207
3265
|
- `uri` - str, default: `None`
|
3266
|
+
|
3267
|
+
You can provide a single URI in the form of: `{scheme}://{user}:{password}@{host}:{port}/{dbname}`, or you can provide each field manually:
|
3268
|
+
|
3208
3269
|
- `scheme` - str, default: `None`
|
3209
3270
|
- `host` - str, default: `None`
|
3210
3271
|
- `port` - str, default: `None`
|
@@ -3877,6 +3938,25 @@ may consume additional tokens that are not displayed in the main window.
|
|
3877
3938
|
|
3878
3939
|
## Recent changes:
|
3879
3940
|
|
3941
|
+
**2.4.44 (2024-12-16)**
|
3942
|
+
|
3943
|
+
- Enhanced web data loaders.
|
3944
|
+
- Web loaders have been added to attachments, allowing external web content to be attached to context via the "+Web" button in the Attachments tab.
|
3945
|
+
- Improved handling of attachments in groups and added an attachment icon when a group contains attachments.
|
3946
|
+
|
3947
|
+
**2.4.43 (2024-12-15)**
|
3948
|
+
|
3949
|
+
- Fix: Bug on attachment upload.
|
3950
|
+
- Added: Attachments uploaded in groups are now available for all contexts in the group (beta).
|
3951
|
+
|
3952
|
+
**2.4.42 (2024-12-15)**
|
3953
|
+
|
3954
|
+
- Added Mailer plugin, which allows sending and retrieving emails from the server, and reading them. It currently supports only SMTP.
|
3955
|
+
- Added 'web_request' command to the Web Search plugin, enabling GET/POST/PUT and other connections to any address and API endpoint. It also supports sending POST data, files, headers, cookies, and more.
|
3956
|
+
- Improved audio output.
|
3957
|
+
- Enhanced visibility of the Video menu.
|
3958
|
+
- Other fixes.
|
3959
|
+
|
3880
3960
|
**2.4.41 (2024-12-14)**
|
3881
3961
|
|
3882
3962
|
- Improved switching between columns on a split screen.
|
pygpt_net/CHANGELOG.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
2.4.44 (2024-12-16)
|
2
|
+
|
3
|
+
- Enhanced web data loaders.
|
4
|
+
- Web loaders have been added to attachments, allowing external web content to be attached to context via the "+Web" button in the Attachments tab.
|
5
|
+
- Improved handling of attachments in groups and added an attachment icon when a group contains attachments.
|
6
|
+
|
7
|
+
2.4.43 (2024-12-15)
|
8
|
+
|
9
|
+
- Fix: Bug on attachment upload.
|
10
|
+
- Added: Attachments uploaded in groups are now available for all contexts in the group (beta).
|
11
|
+
|
12
|
+
2.4.42 (2024-12-15)
|
13
|
+
|
14
|
+
- Added Mailer plugin, which allows sending and retrieving emails from the server, and reading them. It currently supports only SMTP.
|
15
|
+
- Added 'web_request' command to the Web Search plugin, enabling GET/POST/PUT and other connections to any address and API endpoint. It also supports sending POST data, files, headers, cookies, and more.
|
16
|
+
- Improved audio output.
|
17
|
+
- Enhanced visibility of the Video menu.
|
18
|
+
- Other fixes.
|
19
|
+
|
1
20
|
2.4.41 (2024-12-14)
|
2
21
|
|
3
22
|
- Improved switching between columns on a split screen.
|
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: 2024.12.
|
9
|
+
# Updated Date: 2024.12.16 02:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
__author__ = "Marcin Szczygliński"
|
13
13
|
__copyright__ = "Copyright 2024, Marcin Szczygliński"
|
14
14
|
__credits__ = ["Marcin Szczygliński"]
|
15
15
|
__license__ = "MIT"
|
16
|
-
__version__ = "2.4.
|
17
|
-
__build__ = "2024.12.
|
16
|
+
__version__ = "2.4.44"
|
17
|
+
__build__ = "2024.12.16"
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
20
20
|
__website__ = "https://pygpt.net"
|
pygpt_net/app.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.15 04:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
from pygpt_net.launcher import Launcher
|
@@ -32,6 +32,7 @@ from pygpt_net.plugin.openai_dalle import Plugin as OpenAIDallePlugin
|
|
32
32
|
from pygpt_net.plugin.openai_vision import Plugin as OpenAIVisionPlugin
|
33
33
|
from pygpt_net.plugin.real_time import Plugin as RealTimePlugin
|
34
34
|
from pygpt_net.plugin.agent import Plugin as AgentPlugin
|
35
|
+
from pygpt_net.plugin.mailer import Plugin as MailerPlugin
|
35
36
|
|
36
37
|
# agents (Llama-index)
|
37
38
|
from pygpt_net.provider.agents.openai import OpenAIAgent
|
@@ -320,6 +321,7 @@ def run(**kwargs):
|
|
320
321
|
launcher.add_plugin(OpenAIDallePlugin())
|
321
322
|
launcher.add_plugin(OpenAIVisionPlugin())
|
322
323
|
launcher.add_plugin(IdxLlamaIndexPlugin())
|
324
|
+
launcher.add_plugin(MailerPlugin())
|
323
325
|
launcher.add_plugin(CrontabPlugin())
|
324
326
|
|
325
327
|
# register custom plugins
|
@@ -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 01:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import os
|
@@ -293,10 +293,38 @@ class Attachment:
|
|
293
293
|
def open_add_url(self):
|
294
294
|
"""Open add attachment URL dialog"""
|
295
295
|
self.window.ui.dialog['url'].id = "attachment"
|
296
|
-
self.window.ui.dialog['url'].input.setText("")
|
297
296
|
self.window.ui.dialog['url'].current = ""
|
297
|
+
self.window.ui.dialog['url'].init()
|
298
|
+
self.window.ui.dialog['url'].resize(800, 400)
|
298
299
|
self.window.ui.dialog['url'].show()
|
299
|
-
|
300
|
+
|
301
|
+
def attach_url(self):
|
302
|
+
"""Attach attachment URL"""
|
303
|
+
result, loader, input_params, input_config = self.window.core.idx.ui.loaders.handle_options(
|
304
|
+
self.window.ui.nodes["dialog.url.loader"],
|
305
|
+
"dialog.url.loader.option",
|
306
|
+
"dialog.url.loader.config",
|
307
|
+
)
|
308
|
+
extra = {
|
309
|
+
"loader": loader,
|
310
|
+
"input_params": input_params,
|
311
|
+
"input_config": input_config,
|
312
|
+
}
|
313
|
+
provider = self.window.core.idx.indexing.get_loader(loader)
|
314
|
+
if provider:
|
315
|
+
mode = self.window.core.config.get('mode')
|
316
|
+
name = provider.get_external_id(input_params)
|
317
|
+
attachment = self.window.core.attachments.new(
|
318
|
+
mode=mode,
|
319
|
+
name=name,
|
320
|
+
path=name,
|
321
|
+
auto_save=False,
|
322
|
+
type=AttachmentItem.TYPE_URL,
|
323
|
+
extra=extra,
|
324
|
+
)
|
325
|
+
self.window.core.attachments.save()
|
326
|
+
self.update()
|
327
|
+
self.window.ui.dialog['url'].close()
|
300
328
|
|
301
329
|
def add_url(self, url: str):
|
302
330
|
"""
|
@@ -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.14
|
9
|
+
# Updated Date: 2024.12.14 18:00:00 #
|
10
10
|
# ================================================== #
|
11
11
|
|
12
12
|
import os
|
@@ -221,7 +221,7 @@ class Audio:
|
|
221
221
|
"""
|
222
222
|
Play sound
|
223
223
|
|
224
|
-
:param filename
|
224
|
+
:param filename: sound file name
|
225
225
|
"""
|
226
226
|
path = os.path.join(self.window.core.config.get_app_path(), "data", "audio", filename)
|
227
227
|
if path:
|