pygpt-net 2.4.36.post1__py3-none-any.whl → 2.4.41__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.
Files changed (258) hide show
  1. CHANGELOG.md +38 -1
  2. README.md +71 -114
  3. pygpt_net/CHANGELOG.txt +38 -1
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/controller/__init__.py +7 -3
  6. pygpt_net/controller/access/control.py +1 -1
  7. pygpt_net/controller/access/voice.py +11 -5
  8. pygpt_net/controller/agent/experts.py +11 -6
  9. pygpt_net/controller/agent/legacy.py +8 -6
  10. pygpt_net/controller/agent/llama.py +4 -2
  11. pygpt_net/controller/assistant/__init__.py +9 -4
  12. pygpt_net/controller/assistant/batch.py +38 -21
  13. pygpt_net/controller/assistant/editor.py +7 -6
  14. pygpt_net/controller/assistant/files.py +23 -7
  15. pygpt_net/controller/assistant/store.py +20 -7
  16. pygpt_net/controller/assistant/threads.py +34 -8
  17. pygpt_net/controller/attachment.py +29 -10
  18. pygpt_net/controller/audio/__init__.py +25 -4
  19. pygpt_net/controller/calendar/__init__.py +23 -4
  20. pygpt_net/controller/calendar/note.py +57 -11
  21. pygpt_net/controller/camera.py +3 -2
  22. pygpt_net/controller/chat/__init__.py +5 -3
  23. pygpt_net/controller/chat/attachment.py +39 -44
  24. pygpt_net/controller/chat/command.py +4 -2
  25. pygpt_net/controller/chat/common.py +11 -4
  26. pygpt_net/controller/chat/files.py +10 -3
  27. pygpt_net/controller/chat/image.py +17 -5
  28. pygpt_net/controller/chat/input.py +10 -7
  29. pygpt_net/controller/chat/output.py +21 -6
  30. pygpt_net/controller/chat/render.py +100 -21
  31. pygpt_net/controller/chat/response.py +34 -7
  32. pygpt_net/controller/chat/stream.py +4 -2
  33. pygpt_net/controller/chat/text.py +6 -4
  34. pygpt_net/controller/command.py +11 -3
  35. pygpt_net/controller/config/__init__.py +34 -6
  36. pygpt_net/controller/config/field/checkbox.py +7 -4
  37. pygpt_net/controller/config/field/cmd.py +7 -5
  38. pygpt_net/controller/config/field/combo.py +14 -6
  39. pygpt_net/controller/config/field/dictionary.py +14 -11
  40. pygpt_net/controller/config/field/input.py +9 -6
  41. pygpt_net/controller/config/field/slider.py +11 -8
  42. pygpt_net/controller/config/field/textarea.py +8 -5
  43. pygpt_net/controller/config/placeholder.py +52 -21
  44. pygpt_net/controller/ctx/__init__.py +138 -49
  45. pygpt_net/controller/ctx/common.py +15 -4
  46. pygpt_net/controller/ctx/extra.py +11 -3
  47. pygpt_net/controller/ctx/summarizer.py +24 -5
  48. pygpt_net/controller/debug/__init__.py +27 -6
  49. pygpt_net/controller/dialogs/confirm.py +34 -7
  50. pygpt_net/controller/dialogs/debug.py +4 -2
  51. pygpt_net/controller/dialogs/info.py +7 -2
  52. pygpt_net/controller/files.py +48 -10
  53. pygpt_net/controller/finder.py +11 -5
  54. pygpt_net/controller/idx/__init__.py +10 -3
  55. pygpt_net/controller/idx/common.py +4 -2
  56. pygpt_net/controller/idx/indexer.py +25 -17
  57. pygpt_net/controller/idx/settings.py +9 -3
  58. pygpt_net/controller/kernel/__init__.py +34 -8
  59. pygpt_net/controller/kernel/reply.py +12 -3
  60. pygpt_net/controller/kernel/stack.py +5 -3
  61. pygpt_net/controller/lang/custom.py +2 -7
  62. pygpt_net/controller/lang/mapping.py +5 -3
  63. pygpt_net/controller/layout.py +2 -2
  64. pygpt_net/controller/mode.py +16 -4
  65. pygpt_net/controller/model/__init__.py +14 -3
  66. pygpt_net/controller/model/editor.py +8 -3
  67. pygpt_net/controller/notepad.py +26 -12
  68. pygpt_net/controller/painter/capture.py +23 -4
  69. pygpt_net/controller/painter/common.py +9 -7
  70. pygpt_net/controller/plugins/__init__.py +19 -5
  71. pygpt_net/controller/plugins/presets.py +15 -6
  72. pygpt_net/controller/plugins/settings.py +9 -3
  73. pygpt_net/controller/presets/__init__.py +55 -16
  74. pygpt_net/controller/presets/editor.py +26 -10
  75. pygpt_net/controller/settings/__init__.py +3 -2
  76. pygpt_net/controller/settings/editor.py +29 -7
  77. pygpt_net/controller/settings/profile.py +22 -5
  78. pygpt_net/controller/theme/__init__.py +54 -12
  79. pygpt_net/controller/theme/common.py +24 -2
  80. pygpt_net/controller/theme/markdown.py +32 -16
  81. pygpt_net/controller/theme/menu.py +26 -5
  82. pygpt_net/controller/theme/nodes.py +2 -5
  83. pygpt_net/controller/tools/__init__.py +40 -2
  84. pygpt_net/controller/ui/__init__.py +4 -6
  85. pygpt_net/controller/ui/tabs.py +363 -65
  86. pygpt_net/core/access/actions.py +6 -4
  87. pygpt_net/core/access/shortcuts.py +4 -3
  88. pygpt_net/core/access/voice.py +6 -5
  89. pygpt_net/core/agents/legacy.py +4 -2
  90. pygpt_net/core/agents/memory.py +7 -2
  91. pygpt_net/core/agents/observer/evaluation.py +15 -7
  92. pygpt_net/core/agents/provider.py +9 -4
  93. pygpt_net/core/agents/runner.py +61 -15
  94. pygpt_net/core/agents/tools.py +23 -5
  95. pygpt_net/core/assistants/__init__.py +6 -4
  96. pygpt_net/core/assistants/files.py +35 -12
  97. pygpt_net/core/assistants/store.py +20 -10
  98. pygpt_net/core/attachments/__init__.py +54 -15
  99. pygpt_net/core/attachments/context.py +217 -64
  100. pygpt_net/core/audio/__init__.py +71 -3
  101. pygpt_net/core/audio/context.py +7 -2
  102. pygpt_net/core/bridge/__init__.py +22 -6
  103. pygpt_net/core/bridge/context.py +5 -3
  104. pygpt_net/core/bridge/worker.py +16 -2
  105. pygpt_net/core/calendar/__init__.py +57 -11
  106. pygpt_net/core/chain/__init__.py +8 -2
  107. pygpt_net/core/chain/chat.py +10 -8
  108. pygpt_net/core/chain/completion.py +10 -7
  109. pygpt_net/core/command.py +62 -17
  110. pygpt_net/core/ctx/__init__.py +260 -58
  111. pygpt_net/core/ctx/bag.py +25 -4
  112. pygpt_net/core/ctx/container.py +28 -17
  113. pygpt_net/core/ctx/idx.py +45 -8
  114. pygpt_net/core/ctx/output.py +95 -74
  115. pygpt_net/core/ctx/reply.py +5 -2
  116. pygpt_net/core/db/__init__.py +8 -7
  117. pygpt_net/core/db/viewer.py +17 -11
  118. pygpt_net/core/debug/__init__.py +10 -9
  119. pygpt_net/core/debug/tabs.py +5 -2
  120. pygpt_net/core/docker/__init__.py +11 -5
  121. pygpt_net/core/docker/builder.py +11 -3
  122. pygpt_net/core/events/app.py +5 -3
  123. pygpt_net/core/events/base.py +11 -5
  124. pygpt_net/core/events/control.py +5 -3
  125. pygpt_net/core/events/event.py +18 -7
  126. pygpt_net/core/events/kernel.py +5 -3
  127. pygpt_net/core/events/render.py +5 -3
  128. pygpt_net/core/experts/__init__.py +5 -4
  129. pygpt_net/core/filesystem/__init__.py +52 -34
  130. pygpt_net/core/filesystem/actions.py +8 -5
  131. pygpt_net/core/filesystem/editor.py +13 -3
  132. pygpt_net/core/filesystem/types.py +12 -7
  133. pygpt_net/core/filesystem/url.py +7 -3
  134. pygpt_net/core/idx/__init__.py +34 -25
  135. pygpt_net/core/idx/chat.py +60 -38
  136. pygpt_net/core/idx/context.py +6 -2
  137. pygpt_net/core/idx/indexing.py +84 -35
  138. pygpt_net/core/idx/llm.py +11 -3
  139. pygpt_net/core/idx/metadata.py +13 -3
  140. pygpt_net/core/idx/types/ctx.py +32 -6
  141. pygpt_net/core/idx/types/external.py +41 -7
  142. pygpt_net/core/idx/types/files.py +31 -6
  143. pygpt_net/core/image.py +15 -4
  144. pygpt_net/core/llm/__init__.py +13 -3
  145. pygpt_net/core/locale.py +34 -8
  146. pygpt_net/core/models.py +4 -3
  147. pygpt_net/core/notepad.py +9 -4
  148. pygpt_net/core/plugins.py +7 -6
  149. pygpt_net/core/presets.py +19 -10
  150. pygpt_net/core/profile.py +12 -6
  151. pygpt_net/core/prompt/__init__.py +10 -3
  152. pygpt_net/core/prompt/custom.py +7 -6
  153. pygpt_net/core/prompt/template.py +9 -3
  154. pygpt_net/core/render/base.py +117 -22
  155. pygpt_net/core/render/markdown/body.py +27 -7
  156. pygpt_net/core/render/markdown/renderer.py +119 -22
  157. pygpt_net/core/render/plain/body.py +22 -5
  158. pygpt_net/core/render/plain/renderer.py +97 -21
  159. pygpt_net/core/render/web/body.py +75 -25
  160. pygpt_net/core/render/web/renderer.py +313 -63
  161. pygpt_net/core/settings.py +9 -4
  162. pygpt_net/core/tabs/__init__.py +290 -103
  163. pygpt_net/core/tabs/tab.py +17 -4
  164. pygpt_net/core/tokens.py +44 -11
  165. pygpt_net/core/updater/__init__.py +20 -7
  166. pygpt_net/core/vision/analyzer.py +29 -6
  167. pygpt_net/core/web.py +130 -2
  168. pygpt_net/data/config/config.json +19 -6
  169. pygpt_net/data/config/models.json +3 -3
  170. pygpt_net/data/config/modes.json +3 -3
  171. pygpt_net/data/config/settings.json +81 -10
  172. pygpt_net/data/config/settings_section.json +3 -0
  173. pygpt_net/data/css/style.light.css +1 -0
  174. pygpt_net/data/css/{web.css → web-blocks.css} +162 -133
  175. pygpt_net/data/css/{web.light.css → web-blocks.light.css} +7 -0
  176. pygpt_net/data/css/web-chatgpt.css +350 -0
  177. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  178. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  179. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  180. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  181. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  182. pygpt_net/data/icons/split_screen.svg +1 -0
  183. pygpt_net/data/locale/locale.de.ini +19 -3
  184. pygpt_net/data/locale/locale.en.ini +30 -11
  185. pygpt_net/data/locale/locale.es.ini +19 -3
  186. pygpt_net/data/locale/locale.fr.ini +19 -3
  187. pygpt_net/data/locale/locale.it.ini +19 -3
  188. pygpt_net/data/locale/locale.pl.ini +20 -4
  189. pygpt_net/data/locale/locale.uk.ini +19 -3
  190. pygpt_net/data/locale/locale.zh.ini +20 -4
  191. pygpt_net/data/locale/plugin.cmd_web.de.ini +2 -0
  192. pygpt_net/data/locale/plugin.cmd_web.en.ini +20 -10
  193. pygpt_net/data/locale/plugin.cmd_web.es.ini +2 -0
  194. pygpt_net/data/locale/plugin.cmd_web.fr.ini +2 -0
  195. pygpt_net/data/locale/plugin.cmd_web.it.ini +2 -0
  196. pygpt_net/data/locale/plugin.cmd_web.pl.ini +2 -0
  197. pygpt_net/data/locale/plugin.cmd_web.uk.ini +2 -0
  198. pygpt_net/data/locale/plugin.cmd_web.zh.ini +2 -0
  199. pygpt_net/icons.qrc +1 -0
  200. pygpt_net/icons_rc.py +165 -136
  201. pygpt_net/item/ctx.py +46 -24
  202. pygpt_net/plugin/audio_input/simple.py +21 -5
  203. pygpt_net/plugin/audio_output/__init__.py +4 -1
  204. pygpt_net/plugin/base/config.py +4 -2
  205. pygpt_net/plugin/base/plugin.py +26 -6
  206. pygpt_net/plugin/base/worker.py +37 -9
  207. pygpt_net/plugin/cmd_code_interpreter/__init__.py +39 -37
  208. pygpt_net/plugin/cmd_code_interpreter/runner.py +25 -12
  209. pygpt_net/plugin/cmd_web/__init__.py +46 -6
  210. pygpt_net/plugin/cmd_web/config.py +74 -48
  211. pygpt_net/plugin/cmd_web/websearch.py +61 -28
  212. pygpt_net/plugin/cmd_web/worker.py +79 -13
  213. pygpt_net/plugin/idx_llama_index/__init__.py +2 -2
  214. pygpt_net/plugin/real_time/__init__.py +2 -2
  215. pygpt_net/provider/core/config/patch.py +54 -1
  216. pygpt_net/provider/core/ctx/base.py +4 -1
  217. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +10 -1
  218. pygpt_net/provider/core/ctx/db_sqlite/storage.py +22 -1
  219. pygpt_net/provider/gpt/assistants.py +10 -9
  220. pygpt_net/provider/gpt/audio.py +3 -2
  221. pygpt_net/provider/gpt/chat.py +8 -7
  222. pygpt_net/provider/gpt/completion.py +6 -4
  223. pygpt_net/provider/gpt/image.py +9 -2
  224. pygpt_net/provider/gpt/store.py +14 -13
  225. pygpt_net/provider/gpt/vision.py +6 -5
  226. pygpt_net/tools/__init__.py +9 -1
  227. pygpt_net/tools/base.py +15 -1
  228. pygpt_net/tools/code_interpreter/__init__.py +174 -75
  229. pygpt_net/tools/code_interpreter/ui/dialogs.py +21 -103
  230. pygpt_net/tools/code_interpreter/ui/widgets.py +284 -9
  231. pygpt_net/tools/html_canvas/__init__.py +78 -23
  232. pygpt_net/tools/html_canvas/ui/dialogs.py +46 -62
  233. pygpt_net/tools/html_canvas/ui/widgets.py +96 -3
  234. pygpt_net/ui/base/context_menu.py +2 -2
  235. pygpt_net/ui/layout/chat/input.py +10 -18
  236. pygpt_net/ui/layout/chat/output.py +26 -44
  237. pygpt_net/ui/layout/ctx/ctx_list.py +13 -4
  238. pygpt_net/ui/layout/toolbox/footer.py +18 -2
  239. pygpt_net/ui/main.py +2 -2
  240. pygpt_net/ui/menu/config.py +7 -11
  241. pygpt_net/ui/menu/debug.py +11 -1
  242. pygpt_net/ui/menu/theme.py +9 -2
  243. pygpt_net/ui/widget/filesystem/explorer.py +2 -2
  244. pygpt_net/ui/widget/lists/context.py +27 -5
  245. pygpt_net/ui/widget/tabs/Input.py +2 -2
  246. pygpt_net/ui/widget/tabs/body.py +2 -1
  247. pygpt_net/ui/widget/tabs/layout.py +195 -0
  248. pygpt_net/ui/widget/tabs/output.py +218 -55
  249. pygpt_net/ui/widget/textarea/html.py +11 -1
  250. pygpt_net/ui/widget/textarea/output.py +10 -1
  251. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  252. pygpt_net/ui/widget/textarea/web.py +49 -9
  253. {pygpt_net-2.4.36.post1.dist-info → pygpt_net-2.4.41.dist-info}/METADATA +72 -115
  254. {pygpt_net-2.4.36.post1.dist-info → pygpt_net-2.4.41.dist-info}/RECORD +258 -250
  255. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  256. {pygpt_net-2.4.36.post1.dist-info → pygpt_net-2.4.41.dist-info}/LICENSE +0 -0
  257. {pygpt_net-2.4.36.post1.dist-info → pygpt_net-2.4.41.dist-info}/WHEEL +0 -0
  258. {pygpt_net-2.4.36.post1.dist-info → pygpt_net-2.4.41.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.4.36.post1
3
+ Version: 2.4.41
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
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
94
94
 
95
- Release: **2.4.36** | build: **2024.11.28** | Python: **>=3.10, <3.12**
95
+ Release: **2.4.41** | build: **2024.12.14** | Python: **>=3.10, <3.12**
96
96
 
97
97
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
98
98
  >
@@ -693,11 +693,11 @@ Built-in file loaders:
693
693
  - Webpages (crawling any webpage content)
694
694
  - YouTube (transcriptions)
695
695
 
696
- You can configure data loaders in `Settings / LlamaIndex / Data Loaders` by providing list of keyword arguments for specified loaders.
696
+ You can configure data loaders in `Settings / Indexes (LlamaIndex) / Data Loaders` by providing list of keyword arguments for specified loaders.
697
697
  You can also develop and provide your own custom loader and register it within the application.
698
698
 
699
699
  LlamaIndex is also integrated with context database - you can use data from database (your context history) as additional context in discussion.
700
- Options for indexing existing context history or enabling real-time indexing new ones (from database) are available in `Settings / LlamaIndex` section.
700
+ Options for indexing existing context history or enabling real-time indexing new ones (from database) are available in `Settings / Indexes (LlamaIndex)` section.
701
701
 
702
702
  **WARNING:** remember that when indexing content, API calls to the embedding model are used. Each indexing consumes additional tokens. Always control the number of tokens used on the OpenAI page.
703
703
 
@@ -759,7 +759,7 @@ You can set the limit of steps in such a loop by going to `Settings -> Agents an
759
759
 
760
760
  You can change the prompt used for evaluating the response in `Settings -> Prompts -> Agent: evaluation prompt in loop`. Here, you can adjust it to suit your needs, for example, by defining more or less critical feedback for the responses received.
761
761
 
762
- ## Agent (Legacy, Autonomous)
762
+ ## Agent (Autonomous)
763
763
 
764
764
  This is an older version of the Agent mode, still available as legacy. However, it is recommended to use the newer mode: `Agent (LlamaIndex)`.
765
765
 
@@ -907,11 +907,13 @@ The content from the uploaded attachments will be used in the current conversati
907
907
 
908
908
  - `Full context`: Provides best results. This mode attaches the entire content of the read file to the user's prompt. This process happens in the background and may require a large number of tokens if you uploaded extensive content.
909
909
 
910
- - `Query only`: The indexed attachment will only be queried in real-time using LlamaIndex. This operation does not require any additional tokens, but it may not provide access to the full content of the file 1:1.
910
+ - `RAG`: The indexed attachment will only be queried in real-time using LlamaIndex. This operation does not require any additional tokens, but it may not provide access to the full content of the file 1:1.
911
911
 
912
912
  - `Summary`: When queried, an additional query will be generated in the background and executed by a separate model to summarize the content of the attachment and return the required information to the main model. You can change the model used for summarization in the settings under the `Files and attachments` section.
913
913
 
914
- **Important**: When using `Full context` mode, the entire content of the file is included in the prompt, which can result in high token usage each time. If you want to reduce the number of tokens used, instead use the `Query only` option, which will only query the indexed attachment in the vector database to provide additional context.
914
+ In the `RAG` and `Summary` mode, you can enable an additional setting by going to `Settings -> Files and attachments -> Use history in RAG query`. This allows for better preparation of queries for RAG. When this option is turned on, the entire conversation context is considered, rather than just the user's last query. This allows for better searching of the index for additional context. In the `RAG limit` option, you can set a limit on how many recent entries in a discussion should be considered (`0 = no limit, default: 3`).
915
+
916
+ **Important**: When using `Full context` mode, the entire content of the file is included in the prompt, which can result in high token usage each time. If you want to reduce the number of tokens used, instead use the `RAG` option, which will only query the indexed attachment in the vector database to provide additional context.
915
917
 
916
918
  **Images as Additional Context**
917
919
 
@@ -919,7 +921,7 @@ Files such as jpg, png, and similar images are a special case. By default, image
919
921
 
920
922
  **Uploading larger files and auto-index**
921
923
 
922
- To use the `Query only` mode, the file must be indexed in the vector database. This occurs automatically at the time of upload if the `Auto-index on upload` option in the `Attachments` tab is enabled. When uploading large files, such indexing might take a while - therefore, if you are using the `Full context` option, which does not use the index, you can disable the `Auto-index` option to speed up the upload of the attachment. In this case, it will only be indexed when the `Query only` option is called for the first time, and until then, attachment will be available in the form of `Full context` and `Summary`.
924
+ To use the `RAG` mode, the file must be indexed in the vector database. This occurs automatically at the time of upload if the `Auto-index on upload` option in the `Attachments` tab is enabled. When uploading large files, such indexing might take a while - therefore, if you are using the `Full context` option, which does not use the index, you can disable the `Auto-index` option to speed up the upload of the attachment. In this case, it will only be indexed when the `RAG` option is called for the first time, and until then, attachment will be available in the form of `Full context` and `Summary`.
923
925
 
924
926
  ## Downloading files
925
927
 
@@ -2072,6 +2074,10 @@ Per-page content chunk size (max characters per chunk). *Default:* `20000`
2072
2074
 
2073
2075
  Disables SSL verification when crawling web pages. *Default:* `False`
2074
2076
 
2077
+ - `Use raw content (without summarization)` *raw*
2078
+
2079
+ Return raw content from web search instead of summarized content. Provides more data but consumes more tokens. *Default:* `True`
2080
+
2075
2081
  - `Timeout` *timeout*
2076
2082
 
2077
2083
  Connection timeout (seconds). *Default:* `5`
@@ -2082,7 +2088,7 @@ User agent to use when making requests. *Default:* `Mozilla/5.0`.
2082
2088
 
2083
2089
  - `Max result length` *max_result_length*
2084
2090
 
2085
- Max length of summarized result (characters). *Default:* `1500`
2091
+ Max length of the summarized or raw result (characters). *Default:* `50000`
2086
2092
 
2087
2093
  - `Max summary tokens` *summary_max_tokens*
2088
2094
 
@@ -2768,6 +2774,8 @@ Config -> Settings...
2768
2774
 
2769
2775
  - `Zoom`: Adjusts the zoom in chat window (web render view). `WebEngine / Chromium` render mode only.
2770
2776
 
2777
+ - `Style (chat)`: Chat style (Blocks, or ChatGPT-like, or ChatGPT-like Wide. `WebEngine / Chromium` render mode only.
2778
+
2771
2779
  - `Code syntax highlight`: Syntax highlight theme in code blocks. `WebEngine / Chromium` render mode only.
2772
2780
 
2773
2781
  - `Font Size (chat window)`: Adjusts the font size in the chat window (plain-text) and notepads.
@@ -2790,8 +2798,6 @@ Config -> Settings...
2790
2798
 
2791
2799
  - `Use theme colors in chat window`: Use color theme in chat window, Default: True.
2792
2800
 
2793
- - `Disable markdown formatting in output`: Enables plain-text display in output window, Default: False.
2794
-
2795
2801
  **Files and attachments**
2796
2802
 
2797
2803
  - `Store attachments in the workdir upload directory`: Enable to store a local copy of uploaded attachments for future use. Default: True
@@ -2800,6 +2806,16 @@ Config -> Settings...
2800
2806
 
2801
2807
  - `Directory for file downloads`: Subdirectory for downloaded files, e.g. in Assistants mode, inside "data". Default: "download"
2802
2808
 
2809
+ - `Verbose mode`: Enabled verbose mode when using attachment as additional context.
2810
+
2811
+ - `Model for querying index`: Model to use for preparing query and querying the index when the RAG option is selected.
2812
+
2813
+ - `Model for attachment content summary`: Model to use when generating a summary for the content of a file when the Summary option is selected.
2814
+
2815
+ - `Use history in RAG query`: When enabled, the content of the entire conversation will be used when preparing a query if mode is RAG or Summary.
2816
+
2817
+ - `RAG limit`: Only if the option `Use history in RAG query` is enabled. Specify the limit of how many recent entries in the conversation will be used when generating a query for RAG. 0 = no limit.
2818
+
2803
2819
  **Context**
2804
2820
 
2805
2821
  - `Context Threshold`: Sets the number of tokens reserved for the model to respond to the next prompt.
@@ -2892,14 +2908,22 @@ Config -> Settings...
2892
2908
 
2893
2909
  **Vision**
2894
2910
 
2911
+ - `Vision: Camera Input Device`: Video capture camera index (index of the camera, default: 0).
2912
+
2895
2913
  - `Vision: Camera capture width (px)`: Video capture resolution (width).
2896
2914
 
2897
2915
  - `Vision: Camera capture height (px)`: Video capture resolution (height).
2898
2916
 
2899
- - `Vision: Camera IDX (number)`: Video capture camera index (number of camera).
2900
-
2901
2917
  - `Vision: Image capture quality`: Video capture image JPEG quality (%).
2902
2918
 
2919
+ **Audio**
2920
+
2921
+ - `Audio Input Device`: Selects the audio device for Microphone input.
2922
+
2923
+ - `Channels`: Input channels, default: 1
2924
+
2925
+ - `Sampling Rate`: Sampling rate, default: 44100
2926
+
2903
2927
  **Indexes (LlamaIndex)**
2904
2928
 
2905
2929
  - `Indexes`: List of created indexes.
@@ -3337,7 +3361,7 @@ If you want to only query index (without chat) you can enable `Query index only
3337
3361
 
3338
3362
  You can create a custom vector store provider or data loader for your data and develop a custom launcher for the application.
3339
3363
 
3340
- See the section `Extending PyGPT / Adding custom Vector Store provider` for more details.
3364
+ See the section `Extending PyGPT / Adding a custom Vector Store provider` for more details.
3341
3365
 
3342
3366
  # Updates
3343
3367
 
@@ -3635,6 +3659,8 @@ Syntax: `event name` - triggered on, `event data` *(data type)*:
3635
3659
 
3636
3660
  - `AI_NAME` - when preparing an AI name, `data['value']` *(string, name of the AI assistant)*
3637
3661
 
3662
+ - `AGENT_PROMPT` - on agent prompt in eval mode, `data['value']` *(string, prompt)*
3663
+
3638
3664
  - `AUDIO_INPUT_RECORD_START` - start audio input recording
3639
3665
 
3640
3666
  - `AUDIO_INPUT_RECORD_STOP` - stop audio input recording
@@ -3693,10 +3719,16 @@ Syntax: `event name` - triggered on, `event data` *(data type)*:
3693
3719
 
3694
3720
  - `POST_PROMPT` - after preparing a system prompt, `data['value']` *(string, system prompt)*
3695
3721
 
3722
+ - `POST_PROMPT_ASYNC` - after preparing a system prompt, just before request in async thread, `data['value']` *(string, system prompt)*
3723
+
3724
+ - `POST_PROMPT_END` - after preparing a system prompt, just before request in async thread, at the very end `data['value']` *(string, system prompt)*
3725
+
3696
3726
  - `PRE_PROMPT` - before preparing a system prompt, `data['value']` *(string, system prompt)*
3697
3727
 
3698
3728
  - `SYSTEM_PROMPT` - when preparing a system prompt, `data['value']` *(string, system prompt)*
3699
3729
 
3730
+ - `TOOL_OUTPUT_RENDER` - when rendering extra content from tools from plugins, `data['content']` *(string, content)*
3731
+
3700
3732
  - `UI_ATTACHMENTS` - when the attachment upload elements are rendered, `data['value']` *(bool, show True/False)*
3701
3733
 
3702
3734
  - `UI_VISION` - when the vision elements are rendered, `data['value']` *(bool, show True/False)*
@@ -3935,117 +3967,42 @@ may consume additional tokens that are not displayed in the main window.
3935
3967
 
3936
3968
  ## Recent changes:
3937
3969
 
3938
- **2.4.36 (2024-11-28)**
3939
-
3940
- - Added a new command-line argument: --workdir="/path/to/workdir" to explicitly set the current working directory.
3941
- - Fix: start image generation in Image mode.
3942
-
3943
- **2.4.35 (2024-11-28)**
3944
-
3945
- - Docker removed from dependencies in Snap version #82
3946
- - Refactored documentation.
3947
- - Fix: toggles real-time update hook.
3948
- - Fix: missing edit icons.
3949
- - Added tokens from attachments to counters if mode == Full context.
3950
-
3951
- **2.4.34 (2024-11-26)**
3952
-
3953
- - Added a new mode: `Chat with Audio`, with built-in multimodal support for audio input/output. Currently in `beta`, the execution of commands and tools in this mode is temporarily unavailable.
3954
- - Added new models: `gpt-4o-audio-preview`, `gpt-4o-2024-11-20`, `chatgpt-4o-latest`.
3955
- - Force disabled integration with the native system menu.
3956
-
3957
- **2.4.33 (2024-11-26)**
3958
-
3959
- - Improved CSS and rendering of file and image lists.
3960
- - Added displaying of used attachments in the chat window.
3961
-
3962
- **2.4.32 (2024-11-26)**
3963
-
3964
- - The "Add URL" option added to the "Attachments" tab allows users to include content from a given website as additional context. Currently, it only supports standard web pages and video transcription for YouTube links. More "web" options will be added in the future.
3965
- - Added UTF-8 as default in attachments content text read/write.
3966
-
3967
- **2.4.31 (2024-11-25)**
3968
-
3969
- - Added an option checkbox `Auto-index on upload` in the `Attachments` tab:
3970
-
3971
- **Tip:** To use the `Query only` mode, the file must be indexed in the vector database. This occurs automatically at the time of upload if the `Auto-index on upload` option in the `Attachments` tab is enabled. When uploading large files, such indexing might take a while - therefore, if you are using the `Full context` option, which does not use the index, you can disable the `Auto-index` option to speed up the upload of the attachment. In this case, it will only be indexed when the `Query only` option is called for the first time, and until then, attachment will be available in the form of `Full context` and `Summary`.
3972
-
3973
- - Added context menu options in `Uploaded attachments` tab: `Open`, `Open Source directory` and `Open Storage directory`.
3974
-
3975
- **2.4.30 (2024-11-25)**
3976
-
3977
- - Added instruction to model about mapped data directory in both legacy and IPython code interepreter.
3978
- - Updated locales for plugins.
3979
-
3980
- **2.4.29 (2024-11-25)**
3981
-
3982
- - Added a local IPython interpreter - you can now choose between local and sandbox (Docker) in the plugin settings.
3983
- - Added the ability to configure mapped volumes and ports for Docker containers in the plugin settings.
3984
- - Optimized and speed-up the LlamaIndex plugin (inline).
3985
- - Checkboxes replaced with Toggle buttons.
3986
- - Improved settings dialogs.
3987
- - Slight modification of the layout.
3988
- - Fix: Dockerfile formatting in Code Interpreter config.
3989
- - Fix: experts inline plugin execution.
3990
-
3991
- **2.4.28 (2024-11-24)**
3992
-
3993
- - Fix: issue #78
3994
-
3995
- **2.4.27 (2024-11-24)**
3996
-
3997
- - Profile switch fix.
3998
-
3999
- **2.4.26 (2024-11-24)**
4000
-
4001
- - Fix: issue #77
4002
-
4003
- **2.4.25 (2024-11-24)**
4004
-
4005
- - Added new plugin: System (OS), with optional sandbox support.
4006
- - Execution of system commands moved to the System plugin.
4007
- - Improved sandbox/Docker management.
4008
- - Enhanced plugin settings.
4009
- - Commands renamed to Tools, simplified layout.
4010
- - Fix: handling of the Mouse and Keyboard plugin.
4011
- - Fix: switching to a new context from a non-chat tab.
4012
- - Fix: camera screenshots when the camera is not started.
4013
-
4014
- **2.4.24 (2024-11-23)**
4015
-
4016
- - Added the ability to use ZIP and TAR archives as attachments (they are now unpacked "on the fly").
4017
- - Added the ability to index ZIP and TAR archives (it may be necessary to remove .zip and .tar from the blacklist in the settings).
4018
- - Fix: error when uploading to the /data directory using the Upload files button.
4019
-
4020
- **2.4.23 (2024-11-23)**
3970
+ **2.4.41 (2024-12-14)**
4021
3971
 
4022
- - Condensed layout widgets margins.
4023
- - Added filename info to provided additional context from attachments.
4024
- - Fixed auto-clear in attachments in Assistants mode.
3972
+ - Improved switching between columns on a split screen.
3973
+ - Added visual identification of the active column.
4025
3974
 
4026
- **2.4.22 (2024-11-23)**
3975
+ **2.4.40 (2024-12-13)**
4027
3976
 
4028
- - Added the ability to use attachments with images, audio, and video as additional context. Tip: to enable the use of images as additional context, you need to enable the option: `Files and attachments -> Allow images as additional context`.
4029
- - Edit icons in the chat window are enabled by default.
3977
+ - Enhanced Split Screen mode, now promoted from beta to stable.
3978
+ - Python Code Interpreter tool added to the Tabs.
3979
+ - HTML/JS Canvas tool added to the Tabs.
3980
+ - Added attachment icon to the context list if context has attachments.
3981
+ - Improved audio playback.
3982
+ - Improved web search.
3983
+ - Added a thumbnail image to web search results.
3984
+ - Added a new commands to web search: "extract_images" and "extract_links".
3985
+ - Added the option "Use raw content (without summarization)" to the web search plugin, which provides a more detailed result to the main model.
3986
+ - Extended the default maximum result characters to 50,000 in the web search plugin.
4030
3987
 
4031
- **2.4.21 (2024-11-23)**
3988
+ **2.4.39 (2024-12-09)**
4032
3989
 
4033
- - Added the ability to send additional context from attachments without needing to activate the "Chat with Files" mode. Now, you just need to attach a file, and the additional context from the file will be available in the conversation. More information can be found in the "Files and attachments" section of the documentation.
3990
+ - Added "Split Screen" mode (accessible via the switch in the bottom-right corner of the screen), which allows you to work in two windows simultaneously. It is currently experimental (beta). Future updates will include Code Interpreter and Canvas running in tabs.
4034
3991
 
4035
- - Fixed the issue with restarting the agent after it has been forcefully stopped.
3992
+ - Fixed: Language switch.
4036
3993
 
4037
- **2.4.20 (2024-11-22)**
3994
+ **2.4.38 (2024-12-08)**
4038
3995
 
4039
- - Fixed freeze in Windows installer. #75
4040
- - Small fixes.
3996
+ - Added the ability to select a style for chat display between: Blocks, ChatGPT-like, and ChatGPT-like Wide. New option in the menu: Config -> Theme -> Style...
3997
+ - Added configuration options for audio input in Settings -> Audio -> Audio Input Device, Channels, and Sampling rate.
4041
3998
 
4042
- **2.4.19 (2024-11-22)**
3999
+ **2.4.37 (2024-11-30)**
4043
4000
 
4044
- - Added new LLM providers for LlamaIndex: HuggingFaceAPI and LocalAI.
4045
- - The IPython interpreter now returns local paths to generated files and images (mapped to: %workdir%/ipython/).
4046
- - Refactored legacy Agent and Expert modes.
4047
- - Fixed Expert mode initialization.
4048
- - Added an option in Settings -> Layout to disable animations.
4001
+ - The `Query only` mode in `Uploaded` tab has been renamed to `RAG`.
4002
+ - New options have been added under `Settings -> Files and Attachments`:
4003
+ - `Use history in RAG query`: When enabled, the content of the entire conversation will be used when preparing a query if the mode is set to RAG or Summary.
4004
+ - `RAG limit`: This option is applicable only if 'Use history in RAG query' is enabled. It specifies the limit on how many recent entries in the conversation will be used when generating a query for RAG. A value of 0 indicates no limit.
4005
+ - Cache: dynamic parts of the system prompt (from plugins) have been moved to the very end of the prompt stack to enable the use of prompt cache mechanisms in OpenAI.
4049
4006
 
4050
4007
 
4051
4008
  # Credits and links