webscout 8.0__py3-none-any.whl → 8.2__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.
Potentially problematic release.
This version of webscout might be problematic. Click here for more details.
- inferno/__init__.py +6 -0
- inferno/__main__.py +9 -0
- inferno/cli.py +6 -0
- webscout/Local/__init__.py +6 -0
- webscout/Local/__main__.py +9 -0
- webscout/Local/api.py +576 -0
- webscout/Local/cli.py +338 -0
- webscout/Local/config.py +75 -0
- webscout/Local/llm.py +188 -0
- webscout/Local/model_manager.py +205 -0
- webscout/Local/server.py +187 -0
- webscout/Local/utils.py +93 -0
- webscout/Provider/AISEARCH/DeepFind.py +1 -1
- webscout/Provider/AISEARCH/ISou.py +1 -1
- webscout/Provider/AISEARCH/Perplexity.py +359 -0
- webscout/Provider/AISEARCH/__init__.py +3 -1
- webscout/Provider/AISEARCH/felo_search.py +1 -1
- webscout/Provider/AISEARCH/genspark_search.py +1 -1
- webscout/Provider/AISEARCH/hika_search.py +1 -1
- webscout/Provider/AISEARCH/iask_search.py +436 -0
- webscout/Provider/AISEARCH/scira_search.py +9 -5
- webscout/Provider/AISEARCH/webpilotai_search.py +1 -1
- webscout/Provider/ExaAI.py +1 -1
- webscout/Provider/ExaChat.py +18 -8
- webscout/Provider/GithubChat.py +5 -1
- webscout/Provider/Glider.py +4 -2
- webscout/Provider/Jadve.py +2 -2
- webscout/Provider/OPENAI/__init__.py +24 -0
- webscout/Provider/OPENAI/base.py +46 -0
- webscout/Provider/OPENAI/c4ai.py +347 -0
- webscout/Provider/OPENAI/chatgpt.py +549 -0
- webscout/Provider/OPENAI/chatgptclone.py +460 -0
- webscout/Provider/OPENAI/deepinfra.py +284 -0
- webscout/Provider/OPENAI/exaai.py +419 -0
- webscout/Provider/OPENAI/exachat.py +433 -0
- webscout/Provider/OPENAI/freeaichat.py +355 -0
- webscout/Provider/OPENAI/glider.py +316 -0
- webscout/Provider/OPENAI/heckai.py +337 -0
- webscout/Provider/OPENAI/llmchatco.py +327 -0
- webscout/Provider/OPENAI/netwrck.py +348 -0
- webscout/Provider/OPENAI/opkfc.py +488 -0
- webscout/Provider/OPENAI/scirachat.py +463 -0
- webscout/Provider/OPENAI/sonus.py +294 -0
- webscout/Provider/OPENAI/standardinput.py +425 -0
- webscout/Provider/OPENAI/textpollinations.py +285 -0
- webscout/Provider/OPENAI/toolbaz.py +405 -0
- webscout/Provider/OPENAI/typegpt.py +361 -0
- webscout/Provider/OPENAI/uncovrAI.py +455 -0
- webscout/Provider/OPENAI/utils.py +211 -0
- webscout/Provider/OPENAI/venice.py +428 -0
- webscout/Provider/OPENAI/wisecat.py +381 -0
- webscout/Provider/OPENAI/writecream.py +158 -0
- webscout/Provider/OPENAI/x0gpt.py +389 -0
- webscout/Provider/OPENAI/yep.py +329 -0
- webscout/Provider/StandardInput.py +278 -0
- webscout/Provider/TextPollinationsAI.py +27 -28
- webscout/Provider/Venice.py +1 -1
- webscout/Provider/Writecream.py +211 -0
- webscout/Provider/WritingMate.py +197 -0
- webscout/Provider/Youchat.py +30 -26
- webscout/Provider/__init__.py +14 -6
- webscout/Provider/koala.py +2 -2
- webscout/Provider/llmchatco.py +5 -0
- webscout/Provider/scira_chat.py +18 -12
- webscout/Provider/scnet.py +187 -0
- webscout/Provider/toolbaz.py +320 -0
- webscout/Provider/typegpt.py +3 -184
- webscout/Provider/uncovr.py +3 -3
- webscout/conversation.py +32 -32
- webscout/prompt_manager.py +2 -1
- webscout/version.py +1 -1
- webscout-8.2.dist-info/METADATA +734 -0
- {webscout-8.0.dist-info → webscout-8.2.dist-info}/RECORD +77 -32
- webscout-8.2.dist-info/entry_points.txt +5 -0
- {webscout-8.0.dist-info → webscout-8.2.dist-info}/top_level.txt +1 -0
- webscout/Provider/flowith.py +0 -207
- webscout-8.0.dist-info/METADATA +0 -995
- webscout-8.0.dist-info/entry_points.txt +0 -3
- {webscout-8.0.dist-info → webscout-8.2.dist-info}/LICENSE.md +0 -0
- {webscout-8.0.dist-info → webscout-8.2.dist-info}/WHEEL +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
inferno/__init__.py,sha256=ZfGF3nvyue9yutpte7Z1SLcxfEyuC9fVFhcAo_dOm34,150
|
|
2
|
+
inferno/__main__.py,sha256=G5FhEpZvbdmRkmgMTQCduenz1QMYRe8OxsUy_0eaFiU,182
|
|
3
|
+
inferno/cli.py,sha256=8hR8iIanMBsCGPYHs_5RHQPlbQbUmHbMpBZ9_Mo7r5k,121
|
|
1
4
|
webscout/AIauto.py,sha256=7zf3YHvSItQwKvfbS3Nl1sGdaqha5mjaQOizdFNcMlQ,4928
|
|
2
5
|
webscout/AIbase.py,sha256=gksLU3cxp_GnbUqD4mX58tlr4-e6_rqdwVhTUXmJncM,3762
|
|
3
6
|
webscout/AIutel.py,sha256=3o3tc2-0ro9ITTozFuA35oe0aPKwgm8DtzSSPKmpAYg,4046
|
|
@@ -7,15 +10,15 @@ webscout/LLM.py,sha256=p8Zq5P8lCcg98R1b6YQeUIzmf0b6pJDX_QDjwOXl870,16788
|
|
|
7
10
|
webscout/__init__.py,sha256=Ce-d49C2BuIRwp4I_Cwl9D0AZxfHFZkYXZqBUkw44NI,1060
|
|
8
11
|
webscout/__main__.py,sha256=qtkMZK5jzQ79ZkFAuZBxMgayuhmw3aRDj1F8Pt06NW4,108
|
|
9
12
|
webscout/cli.py,sha256=JRuln7gu7E3-8-CgYcZZwJu4Q-1K2xl55hG_jKW_L9k,12106
|
|
10
|
-
webscout/conversation.py,sha256=
|
|
13
|
+
webscout/conversation.py,sha256=TuBo4tEWhJqXsAaVHb9odVrfAr_aGc4I2OD-f_cqS9c,21503
|
|
11
14
|
webscout/exceptions.py,sha256=9rSq7sUFgZYe9UJ6qOlC20xowfzHDTghwGCS6osA8hM,12007
|
|
12
15
|
webscout/models.py,sha256=C7QY-KDkqFCI698t9pvTHQ27rYadPIvwaYHJ3-AOCJI,6566
|
|
13
16
|
webscout/optimizers.py,sha256=NlnxWCav7cTyjfeLHuq2pUCgqgW1pljWbMTklHYMGwo,9954
|
|
14
|
-
webscout/prompt_manager.py,sha256=
|
|
17
|
+
webscout/prompt_manager.py,sha256=Myom6P1QZgjKmQHw7U0ETgP_5jw4JHcqHOeSN5H_X7U,9701
|
|
15
18
|
webscout/tempid.py,sha256=lqTTOjVSwDMmC0UoThdyshFyIAxTikVaN613-6K3g_s,4968
|
|
16
19
|
webscout/update_checker.py,sha256=5FCr6p1zLVASXcXkxKEgR7bFvICbpzJdgRTr3teKFCs,4217
|
|
17
20
|
webscout/utils.py,sha256=o2hU3qaVPk25sog3e4cyVZO3l8xwaZpYRziZPotEzNo,3075
|
|
18
|
-
webscout/version.py,sha256=
|
|
21
|
+
webscout/version.py,sha256=2N4rXizEgG2JLy2ditEb4EdJTs-7_b5Vkcj3dmDl--g,44
|
|
19
22
|
webscout/webscout_search.py,sha256=rTqQO1e8S8i9okFO5y_2lznyh4BQ4AEzTTcM-70TWTc,55674
|
|
20
23
|
webscout/webscout_search_async.py,sha256=fKQ01dBCJoHmB47QJoAoTz5mns9lb0V_jgbHY2NpVnk,35680
|
|
21
24
|
webscout/yep_search.py,sha256=4jIn9KKXD6zJMdg302o4rzHQwFAy4haWoIagFn1XjLM,10429
|
|
@@ -67,6 +70,15 @@ webscout/Litlogger/styles/text.py,sha256=JLz1oUve9cHCxiHA8mj1cnvFKvQkvvPZgawHBYP
|
|
|
67
70
|
webscout/Litlogger/utils/__init__.py,sha256=G9WTxWGbDMt07Sh6OyLf4rrjjFKiaWTfZBKM8QZGtuI,206
|
|
68
71
|
webscout/Litlogger/utils/detectors.py,sha256=VvpiL1baVrxN6XwksoKG1Z0hiuISwCpwQ8YWUJsxdXI,4767
|
|
69
72
|
webscout/Litlogger/utils/formatters.py,sha256=MdgaCavaF7OKIo3b3c8BCyyvvskcNKhFQygnhoEY3R4,6100
|
|
73
|
+
webscout/Local/__init__.py,sha256=mJzBXS7HNacV56-oS0_0hjvOosU-cwp5aolLaZwLohw,91
|
|
74
|
+
webscout/Local/__main__.py,sha256=pPUAqLB4qf0OigXgP_kJs4EJT9wEueWFHxWzkZemAwU,196
|
|
75
|
+
webscout/Local/api.py,sha256=0D7ALKJrqWYVVVUnbCuNKeYjwgQ1WrKYcsk2a_8OWo8,21535
|
|
76
|
+
webscout/Local/cli.py,sha256=4RWFCXiNHiyLqJN4QXdKx7TogXmvHBGr_JbkhCixMMA,13239
|
|
77
|
+
webscout/Local/config.py,sha256=6v91HvEGocGhLkVv6bXqEMFtNnFAXCzLAoeWiUpT9iU,2462
|
|
78
|
+
webscout/Local/llm.py,sha256=37MoNzjwEAM-fKn26Fw60XBGhtgBNKFZrcJLqqN7bhk,7139
|
|
79
|
+
webscout/Local/model_manager.py,sha256=w61tMniwbl-ehRA9qKPhaIUHuMOs28vPdL3iWFc5Dvk,7616
|
|
80
|
+
webscout/Local/server.py,sha256=AEae3JNiraT5BS4ib5qOS4_bRguclTVSx3PoCv_bFG4,5671
|
|
81
|
+
webscout/Local/utils.py,sha256=lbX3zvv7vUJaElos6ciFO9bIv8RTVMu21Aufv-WcTV8,2729
|
|
70
82
|
webscout/Provider/AI21.py,sha256=kyr07xbalGQuR-wP9L5W7c_ri5-PEEvyj42jLV56XaE,6225
|
|
71
83
|
webscout/Provider/Aitopia.py,sha256=Gu0NvNVAHFHajSu1Ox4WxE8mhS_5eMOPyK5NqgRWpbk,12024
|
|
72
84
|
webscout/Provider/AllenAI.py,sha256=-vVnEPxEc1SV_RBgMgwdoWQFmNYsefNVLBYh3onI6fM,15886
|
|
@@ -82,18 +94,18 @@ webscout/Provider/Cohere.py,sha256=oL9kAv--RSkEQxwkPTq1Wi57Wkgg0WNvL82CpTj22YY,8
|
|
|
82
94
|
webscout/Provider/DeepSeek.py,sha256=Hdy47w_K9YBH5s2EgU_XrLxYET7L2pr35fCCb9JxYeM,7475
|
|
83
95
|
webscout/Provider/Deepinfra.py,sha256=-U994bHrHTiiUkZWHTxYQ88-hOIArP5eW9oaeKsAc5E,12739
|
|
84
96
|
webscout/Provider/ElectronHub.py,sha256=nKfLw9HwYd6K9p-sDEl_dud4mPnqzOD9VKSJ3gXIXQI,24372
|
|
85
|
-
webscout/Provider/ExaAI.py,sha256=
|
|
86
|
-
webscout/Provider/ExaChat.py,sha256=
|
|
97
|
+
webscout/Provider/ExaAI.py,sha256=plbjF5LYyZS4elLWKtD6AURDQS3O9xAGBScpDGPHWiY,9783
|
|
98
|
+
webscout/Provider/ExaChat.py,sha256=1l4QL68lxJkkE9Oprc_R9WiSWpy2A4brC8AVHxR0KkM,11663
|
|
87
99
|
webscout/Provider/Free2GPT.py,sha256=FJLn2Ho5oC1bJ2syDfIVvMpMwyFJu32S0ls1rAyr-R0,9213
|
|
88
100
|
webscout/Provider/GPTWeb.py,sha256=xh_mnBko6RDyz2v3KhMux-yIipipkZfVVVoUJWkbzcQ,7466
|
|
89
101
|
webscout/Provider/Gemini.py,sha256=8RQPrxJ58mpSEpbo9mCn5tlo6z7krH8igqSNmHxhkbs,6558
|
|
90
|
-
webscout/Provider/GithubChat.py,sha256=
|
|
91
|
-
webscout/Provider/Glider.py,sha256=
|
|
102
|
+
webscout/Provider/GithubChat.py,sha256=qRyAzcYzbVO6vTdN6oyVwurEHrev38eHNR3nPUkxLMY,13927
|
|
103
|
+
webscout/Provider/Glider.py,sha256=OUye3vLlk_TX_RcYB6mcPq7kx-EyWvtGIRW1Ze1sP5M,8540
|
|
92
104
|
webscout/Provider/Groq.py,sha256=jlhbTsx32OAb1fiyxN6ypJYLYTvOpJsRPSOrvqruVYo,29563
|
|
93
105
|
webscout/Provider/HeckAI.py,sha256=yihna7seFQ6vMqL6t28KNha3Wz1K0BnmZ4BzN57i_Nw,8869
|
|
94
106
|
webscout/Provider/HuggingFaceChat.py,sha256=iyyDMIJUthdq0P6uv8J-oyMb60C1xLQkYOHw4A71TmQ,19412
|
|
95
107
|
webscout/Provider/Hunyuan.py,sha256=45wHp9OR8iD_r5B8bLgRY7LhtevzAFQ-WXBZ44Ro8dE,11419
|
|
96
|
-
webscout/Provider/Jadve.py,sha256=
|
|
108
|
+
webscout/Provider/Jadve.py,sha256=mE70LtZ-IzHErH8Rlj1E_kdu-aXwCb9V_L3nso_PZWo,10667
|
|
97
109
|
webscout/Provider/Koboldai.py,sha256=0mnpya8GBbmBf8s2qAl88h2PjqavwbRab8G6l5mbJlU,15204
|
|
98
110
|
webscout/Provider/LambdaChat.py,sha256=Eg_lJ6ywC8cUohTNxR70S1idn60uN-O0xRS7Ces1qyg,15999
|
|
99
111
|
webscout/Provider/Llama.py,sha256=ySwmr3drK58bekE8nxMma7U5kViYW7_WrbqXhOpn5TM,7718
|
|
@@ -109,15 +121,18 @@ webscout/Provider/Phind.py,sha256=IQGKGpPC_ODP0P2UnUZFKl1gIhAFUWc7ZB_MHdpd00c,20
|
|
|
109
121
|
webscout/Provider/PizzaGPT.py,sha256=8iSPQgFpev4JEtoIREs2A5L5xATTUS-hWKVMmm75mW0,7192
|
|
110
122
|
webscout/Provider/QwenLM.py,sha256=lxnSF38wrupb1e7XhN8f0py8v6efwOndFh2SwvIy7Sc,10430
|
|
111
123
|
webscout/Provider/Reka.py,sha256=dWw4vX91nJhAn-X1SXK72gttRaTqWNGUBFaeRJobTJg,8519
|
|
124
|
+
webscout/Provider/StandardInput.py,sha256=RpYRa-UjFVsP05yQDvxfBo7bRfRVD1uufF0L9mqqPzs,13477
|
|
112
125
|
webscout/Provider/TeachAnything.py,sha256=3hmi94hgu9lDmjxRWQgQFMK5xvJumzKBsquObpI-SnE,7176
|
|
113
|
-
webscout/Provider/TextPollinationsAI.py,sha256=
|
|
126
|
+
webscout/Provider/TextPollinationsAI.py,sha256=sVrnRDRKinxWh3GQX8fBJHrJJ8wlm3OE8iT2PU3akVA,7900
|
|
114
127
|
webscout/Provider/TwoAI.py,sha256=6-JZ1rxoZY3cgXpK__y4LhbUrptgzMxALef5q5NLKm0,7247
|
|
115
|
-
webscout/Provider/Venice.py,sha256=
|
|
128
|
+
webscout/Provider/Venice.py,sha256=yVPZneaubuCWXW-mUlqSfeT9STDljnYZ4KHq9sIvBwg,8348
|
|
116
129
|
webscout/Provider/VercelAI.py,sha256=Gqn_TLBwSIgWEHqz612NSy1Dm8PdzMWCgwANR33K7OY,8462
|
|
117
130
|
webscout/Provider/WebSim.py,sha256=8Ea1rKV-LCOL6H6ffgNeS2Vr70rslQUd0yVVtKRjUHA,8819
|
|
118
131
|
webscout/Provider/WiseCat.py,sha256=qYffSfSbgSbERYzkQ4W8YqREMY0AFhh6h8dxT54XPIg,6997
|
|
119
|
-
webscout/Provider/
|
|
120
|
-
webscout/Provider/
|
|
132
|
+
webscout/Provider/Writecream.py,sha256=dDaSRCq0b6nN-l-MpRftF1DXTwoG04pOhokn0Bc_Bb8,7456
|
|
133
|
+
webscout/Provider/WritingMate.py,sha256=4k6Qrl_WdSdQrHrOUqdOCdqS3j42cENpU5NG0LJtrF0,7523
|
|
134
|
+
webscout/Provider/Youchat.py,sha256=JQbERXdlLu-JzMCiqhKZlo4DRwsuLvHoYPFDomV5cTE,12728
|
|
135
|
+
webscout/Provider/__init__.py,sha256=ca7ySpWz8gzwvK1l_wu-JIb20DpywalAGmDSFCwBHnM,4331
|
|
121
136
|
webscout/Provider/ai4chat.py,sha256=S6DfY1bfZuFT2OBt2o9dDUF8clyzMlOEzNTzt6aMbro,8436
|
|
122
137
|
webscout/Provider/aimathgpt.py,sha256=X1dPGdJ-Jc-6nQOnm-Bivzlo0B_n_j2A5cQK1bNrDlA,7176
|
|
123
138
|
webscout/Provider/akashgpt.py,sha256=fswzQktBU2dnD0b-kZjlB_yygFxk3xSIWnrSk_8Nino,13087
|
|
@@ -129,7 +144,6 @@ webscout/Provider/chatglm.py,sha256=0pOS8HQ5bnUjY5E7yjenLLycpQVieNZmD06Wm4KhiwI,
|
|
|
129
144
|
webscout/Provider/cleeai.py,sha256=lgIBs5JpNaY-gfwUBorZdSeA_Q7tawfTvkWWTg7EfuI,7981
|
|
130
145
|
webscout/Provider/copilot.py,sha256=Au04Xw0VW5LJB6ODuO7qt097qr7jxG9C4UpoVyfTlNI,19006
|
|
131
146
|
webscout/Provider/elmo.py,sha256=5myTgfEuZTtFHw5C2NT7iY2BjPUwEEkdLlo1m3Nhygc,9317
|
|
132
|
-
webscout/Provider/flowith.py,sha256=o5V7DCeS7ysZ-Ttm9OtmmvYm9_3V-kUFPChga0Of6DE,7719
|
|
133
147
|
webscout/Provider/freeaichat.py,sha256=waRu1GiRTUDJFmpsesknqU8Fk7omUIIiNh_QS3KlLGY,9744
|
|
134
148
|
webscout/Provider/gaurish.py,sha256=-OVX6STSjt0pYn6lH5RiJZ5YPsYtWEorjBgENEsvsAQ,9998
|
|
135
149
|
webscout/Provider/geminiapi.py,sha256=-_QbDBF_IiYyOJ0_uAIcE-gfzIs8H86nA5VWX52SRoY,8505
|
|
@@ -137,39 +151,70 @@ webscout/Provider/geminiprorealtime.py,sha256=2ThViylzCGgKl7UfdFQoPdcsYJKIvf4t4w
|
|
|
137
151
|
webscout/Provider/granite.py,sha256=FuRO4msa5WRd5Wpy1zNvLJtHmBkG-IV9cLBSdZwI3iM,7715
|
|
138
152
|
webscout/Provider/hermes.py,sha256=QYvzwhdOPYykGyWl4NVLnV5bxrqYTb19lu0OFN2dADE,8404
|
|
139
153
|
webscout/Provider/julius.py,sha256=ra20kGPafLDgV8gd2Z-Yce5eKlgSjFl4CpyHtEmHIlg,8583
|
|
140
|
-
webscout/Provider/koala.py,sha256=
|
|
154
|
+
webscout/Provider/koala.py,sha256=l1cIHJi36ybmU3tqnvgLmd5ENQgdsDcV1f3-H5qXTtc,11047
|
|
141
155
|
webscout/Provider/labyrinth.py,sha256=jX7w-ueTxZv3J0Vhes8vnPZEsGUPP_RwrdGE3GIG36E,14912
|
|
142
156
|
webscout/Provider/learnfastai.py,sha256=luHIgnzYrdwI3ZhTTR4-B1XQDFTgxHO2CnZ3w97Fp3M,10377
|
|
143
157
|
webscout/Provider/lepton.py,sha256=Q-hbKwaDbRCvSFbDWqUPxir0dkiufx6eQt6hFeLaWVU,7522
|
|
144
158
|
webscout/Provider/llama3mitril.py,sha256=0sTD6mtVT1SwTPPyhTdPg592Wf39DHum20vThinP5Eg,6641
|
|
145
159
|
webscout/Provider/llamatutor.py,sha256=94LSHZI8GrColyum_diVZTolFUB27gqh-EsSlz8qsqI,6791
|
|
146
160
|
webscout/Provider/llmchat.py,sha256=lel0r3OZKSm1HPDBvwkjUI_pEU36gYC-vGWzr-6xhPY,7831
|
|
147
|
-
webscout/Provider/llmchatco.py,sha256=
|
|
161
|
+
webscout/Provider/llmchatco.py,sha256=WF43peVqqqnB6eKA1VwcEDkheEE2Ac1FAXx__QuBcgY,11926
|
|
148
162
|
webscout/Provider/meta.py,sha256=qWpVmSACYkEKsW8wRpm-rnlFJoOyku-WkfPGgGjUUYY,30717
|
|
149
163
|
webscout/Provider/multichat.py,sha256=tsEudoeTFk30l9m8CRS0QVnK0jdceS1BPktcxmIqwdo,12419
|
|
150
164
|
webscout/Provider/promptrefine.py,sha256=et8bNFf74Bn06SG0-3o8XNE5cJC_mRr5tTI3dqZAbE8,7731
|
|
151
|
-
webscout/Provider/scira_chat.py,sha256=
|
|
165
|
+
webscout/Provider/scira_chat.py,sha256=Iad9WP3jXIoZtpwylH__gV_l6HAzOczqV9K7XUTCT0A,10893
|
|
166
|
+
webscout/Provider/scnet.py,sha256=gj5KINYfCJpIMooCPSmJfMnW6sx0dI8IqKaqOdxjnc8,7832
|
|
152
167
|
webscout/Provider/searchchat.py,sha256=0heQnkBBsqRSnKurblPOXZ0hEPILs91VtXUG-QbsYik,11933
|
|
153
168
|
webscout/Provider/sonus.py,sha256=d2UUuD1ooxoQYXiJUsEctU2sBKZpWveIvxixgKlsP3M,8394
|
|
154
169
|
webscout/Provider/talkai.py,sha256=18EB9FPx2rOWdnuqMtBZc_QbLWKNFj06n1Xdtm6npwg,7613
|
|
170
|
+
webscout/Provider/toolbaz.py,sha256=QFmhPZUBb-wc2XaTcMXz2JzO6L-CsJPxcUujXYaO1cI,11627
|
|
155
171
|
webscout/Provider/turboseek.py,sha256=R2vbYHU7vJyhjRKHpPYfVl7P6V23_WuZSL5vlxuKnFA,8563
|
|
156
172
|
webscout/Provider/tutorai.py,sha256=d__8jPhXtJKeOGlqwlxqW3f5meRDi2e3vNWVrOhEMrs,11278
|
|
157
173
|
webscout/Provider/typefully.py,sha256=loOxnRPRv920yoHYKn1RgY61teEvA9_zhchvuLNiWLU,10766
|
|
158
|
-
webscout/Provider/typegpt.py,sha256=
|
|
159
|
-
webscout/Provider/uncovr.py,sha256=
|
|
174
|
+
webscout/Provider/typegpt.py,sha256=WwYYMLEDPk1ieJdz8nrvxLq8YpzQtdywPxrvJvrr52U,9769
|
|
175
|
+
webscout/Provider/uncovr.py,sha256=RYzgF2fKoPPc_kPeky1ufTQDBZD092-meaFzCdKw8Yw,13390
|
|
160
176
|
webscout/Provider/x0gpt.py,sha256=5THMLSDxTOzIXh4ZJFnBTxp1uU-6ospTo_u9vrThJ1Y,9459
|
|
161
177
|
webscout/Provider/yep.py,sha256=Hul4EtWM9kqx_mYaLdoVdyYqGydta4tNrJUffY0fgKU,16957
|
|
162
|
-
webscout/Provider/AISEARCH/DeepFind.py,sha256=
|
|
163
|
-
webscout/Provider/AISEARCH/ISou.py,sha256=
|
|
164
|
-
webscout/Provider/AISEARCH/
|
|
165
|
-
webscout/Provider/AISEARCH/
|
|
166
|
-
webscout/Provider/AISEARCH/
|
|
167
|
-
webscout/Provider/AISEARCH/
|
|
178
|
+
webscout/Provider/AISEARCH/DeepFind.py,sha256=MhU5of90tTfiF_DtYA4KC5d2pjbZ43WnIU9ixDpXZng,10324
|
|
179
|
+
webscout/Provider/AISEARCH/ISou.py,sha256=9pL95bLL0f9aoJ36L8yo4bnkqoD_vYGSWi9os8L-b24,9991
|
|
180
|
+
webscout/Provider/AISEARCH/Perplexity.py,sha256=Qy09-zvv_B4XArSYU6BLhxPzJlzOqDvQW6NuV6QDkBw,15369
|
|
181
|
+
webscout/Provider/AISEARCH/__init__.py,sha256=S_iM3fSRc-DYbDuw7amIVu4gGjt36nofUWmXYCeSOoY,282
|
|
182
|
+
webscout/Provider/AISEARCH/felo_search.py,sha256=tomKb8G_p80nTryxWQ3XFVFM3POnSgi2zkL27y3KfMg,8968
|
|
183
|
+
webscout/Provider/AISEARCH/genspark_search.py,sha256=dtI_8RHVncWWCbKgbXxwqrFKGsJe0V5mXBuDHuMjiVQ,8163
|
|
184
|
+
webscout/Provider/AISEARCH/hika_search.py,sha256=s2Ou-1o5DaYb6gCwCLD1jgFbqKQSivhF38NNCRsmQfM,6765
|
|
185
|
+
webscout/Provider/AISEARCH/iask_search.py,sha256=np0QsK34E7S6AH2LPO9rEb0P-XLlQn6YsAXuCMeSj9U,17752
|
|
168
186
|
webscout/Provider/AISEARCH/monica_search.py,sha256=G8buO5HfKTt_Yj5CQ6RGzhCtifYF17ocK7_PcdbFD-c,9217
|
|
169
|
-
webscout/Provider/AISEARCH/scira_search.py,sha256=
|
|
170
|
-
webscout/Provider/AISEARCH/webpilotai_search.py,sha256=
|
|
187
|
+
webscout/Provider/AISEARCH/scira_search.py,sha256=Q-Z8ksNfD5_rbxVhEjXbTfzfYz3dyQhwe64zdUm-W8g,11371
|
|
188
|
+
webscout/Provider/AISEARCH/webpilotai_search.py,sha256=sgxlknhIU90A_yyaq67udZTmuC5xftG0iDa_D2DVZCs,11904
|
|
171
189
|
webscout/Provider/HF_space/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
190
|
webscout/Provider/HF_space/qwen_qwen2.py,sha256=IulE7bAMSbR530pFTanWzMFb4UJ9qF_NKoGiHkXxcjc,7612
|
|
191
|
+
webscout/Provider/OPENAI/__init__.py,sha256=EqEHWPh8zTRXBOVTLbj50mgOQIMioDBnDBpCx4gqh0c,636
|
|
192
|
+
webscout/Provider/OPENAI/base.py,sha256=oxJNrH4hQaRNb-hWDbMXhoO2xD0Y1T8KKyN9bP1Qw2k,1467
|
|
193
|
+
webscout/Provider/OPENAI/c4ai.py,sha256=33hzcHrzjkpNCVUDvNOMcug624BNLlYvmQVEEeQxa5s,12837
|
|
194
|
+
webscout/Provider/OPENAI/chatgpt.py,sha256=B16yMKU-qcoCK3GGqs9WjXFDQnwvvADKE9VJtztQfXc,19023
|
|
195
|
+
webscout/Provider/OPENAI/chatgptclone.py,sha256=GbOaylrQXMe5SCQt8YtuzcpxF3dPPx68P0I25IM-8wo,16923
|
|
196
|
+
webscout/Provider/OPENAI/deepinfra.py,sha256=HsUzmG7Z_0bT-JZduOISYsXKVsQVSNOHLBGInanMME4,12265
|
|
197
|
+
webscout/Provider/OPENAI/exaai.py,sha256=ZpXpAmkQBXARI2ljLKSmjQCLu_ZQ5VBVcH2pZmXYtFg,14621
|
|
198
|
+
webscout/Provider/OPENAI/exachat.py,sha256=BhySvsTj0Hxf9-nC6J77BCDDy2y9m6bHZ4HcFOOCNMg,14508
|
|
199
|
+
webscout/Provider/OPENAI/freeaichat.py,sha256=U3GIbn4oW6yaFaZMe_yMmlHVQX3E_juZ3eBUGyMR_Pg,11482
|
|
200
|
+
webscout/Provider/OPENAI/glider.py,sha256=R26IQtmCoEi7TtSa4_HfAjvbA1xWxN70EdYItrE48A0,12610
|
|
201
|
+
webscout/Provider/OPENAI/heckai.py,sha256=_cJwT_qzNQvRWz4AJuDaTyg7jdBQsGGxh34hbMnCIF4,11247
|
|
202
|
+
webscout/Provider/OPENAI/llmchatco.py,sha256=oXCYQHqtQDvgoxOLjxKPjW2AjqDBCqC6jdFQ0YcRRNo,14810
|
|
203
|
+
webscout/Provider/OPENAI/netwrck.py,sha256=51P4OyXiWtdjS0oFHt9ePrRx1t6TojtZtvPNLaEAPsw,12230
|
|
204
|
+
webscout/Provider/OPENAI/opkfc.py,sha256=m_GROHDoTW_bPmBmceM3yl66c4X59w431rynDxdhrbs,20322
|
|
205
|
+
webscout/Provider/OPENAI/scirachat.py,sha256=1hDIufIzXR4X6f-XCZMbgiFk4ArWlLOrOebQI2g93vo,17624
|
|
206
|
+
webscout/Provider/OPENAI/sonus.py,sha256=xoLhgN8kuIgjA01a4ripT4KqZz7RVB5DqINibo472pk,10198
|
|
207
|
+
webscout/Provider/OPENAI/standardinput.py,sha256=EIwF6-4UkUqxmryRmyNrgiWb8v58xyRfaPZ8fwhISzE,18257
|
|
208
|
+
webscout/Provider/OPENAI/textpollinations.py,sha256=UoaI3riwypFmdLyN66g_3JC7DTXk-SVedPP4d1Q1Na4,9157
|
|
209
|
+
webscout/Provider/OPENAI/toolbaz.py,sha256=xyxiUsz3Xv3QuZjsTzmq3c2NtkYYocFNuYcDwpNxKe4,13569
|
|
210
|
+
webscout/Provider/OPENAI/typegpt.py,sha256=73Ho_n18elOZlbRpm161hG9ol8EBq7QS7U4KQGNKlSA,13542
|
|
211
|
+
webscout/Provider/OPENAI/uncovrAI.py,sha256=znlzmX16-bprIKB9eUOMNJO0c1ZBurh6quZ_89Q3Z7c,16894
|
|
212
|
+
webscout/Provider/OPENAI/utils.py,sha256=3lForhUB5j2sgwwGHzdjAMZqtaOtmhqb6TsplCmfKQk,6860
|
|
213
|
+
webscout/Provider/OPENAI/venice.py,sha256=DY7Ppn5y1WWj99OXfDf3tN-I6y1giahkSAPEpQVOWxc,15449
|
|
214
|
+
webscout/Provider/OPENAI/wisecat.py,sha256=scsajQl3ECwoEbgmmIjl9oofuJ7x8q2LdaZGVmzVX9M,12998
|
|
215
|
+
webscout/Provider/OPENAI/writecream.py,sha256=UIW-QiBOQIsixonM0g9dBRZATI6MjZRQiYTfQCRM4cw,6102
|
|
216
|
+
webscout/Provider/OPENAI/x0gpt.py,sha256=-OFNa9wS8txvffrrhwkzfLEPWItD3c-I-17mPSr2GAc,13547
|
|
217
|
+
webscout/Provider/OPENAI/yep.py,sha256=UVEsW--nWugWP_Km5vDWuGGapbYrX_4uVH7mf97Gr5E,13282
|
|
173
218
|
webscout/Provider/TTI/__init__.py,sha256=K6J27GHg3Fv9xB13dGwgLWIow_EbZY1yKEAxohaoaKU,309
|
|
174
219
|
webscout/Provider/TTI/AiForce/__init__.py,sha256=R8r6XYBUoGB_26jSyjGwHpw8GtZ0wbnkBoHxu26T_QU,685
|
|
175
220
|
webscout/Provider/TTI/AiForce/async_aiforce.py,sha256=5O7tKyLgG3FVr-Tx9llZavCU9fOklrcnG210k4TvUwg,8317
|
|
@@ -254,9 +299,9 @@ webstoken/sentiment.py,sha256=yHtaHXJNS_sH1UTHZsOIgyhdijr8oi1pMlg_QE2wtxw,8202
|
|
|
254
299
|
webstoken/stemmer.py,sha256=VXWkBpPaH328WEQxw9e9ff-p2e27xDdbpVSy0nTnXYE,2624
|
|
255
300
|
webstoken/tagger.py,sha256=p4ScFnxn5sShYDVRoHK5pn_mzaDTsEtx3EHRvuvOlfE,2306
|
|
256
301
|
webstoken/tokenizer.py,sha256=XJ-d1MFRp0Trw6gtOtZ8_wAcaSQidnSCHLNpV1-OFJc,6016
|
|
257
|
-
webscout-8.
|
|
258
|
-
webscout-8.
|
|
259
|
-
webscout-8.
|
|
260
|
-
webscout-8.
|
|
261
|
-
webscout-8.
|
|
262
|
-
webscout-8.
|
|
302
|
+
webscout-8.2.dist-info/LICENSE.md,sha256=hyfFlVn7pWcrvuvs-piB8k4J8DlXdOsYje9RyPxc6Ik,7543
|
|
303
|
+
webscout-8.2.dist-info/METADATA,sha256=6OyiD9MkiIV0VKsY1D6SWZkXFEhwx8E3ZgmUnqMnSfE,26961
|
|
304
|
+
webscout-8.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
305
|
+
webscout-8.2.dist-info/entry_points.txt,sha256=EC3SOK4pCao10KaKzuZwdy4bqnSQmj6PawywP2YFiY0,143
|
|
306
|
+
webscout-8.2.dist-info/top_level.txt,sha256=HbYWHOAnRzgseZrGcxyYNZkVrhXNjwGh2RsM_375oYM,27
|
|
307
|
+
webscout-8.2.dist-info/RECORD,,
|
webscout/Provider/flowith.py
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import uuid
|
|
2
|
-
import requests
|
|
3
|
-
import json
|
|
4
|
-
import os
|
|
5
|
-
import re
|
|
6
|
-
from typing import Any, Dict, Optional, Generator, Union
|
|
7
|
-
|
|
8
|
-
from webscout.AIutel import Optimizers
|
|
9
|
-
from webscout.AIutel import Conversation
|
|
10
|
-
from webscout.AIutel import AwesomePrompts, sanitize_stream
|
|
11
|
-
from webscout.AIbase import Provider, AsyncProvider
|
|
12
|
-
from webscout import exceptions
|
|
13
|
-
from webscout.litagent import LitAgent
|
|
14
|
-
|
|
15
|
-
class Flowith(Provider):
|
|
16
|
-
"""
|
|
17
|
-
A class to interact with the Flowith AI chat API.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
AVAILABLE_MODELS = [
|
|
21
|
-
"gpt-4o-mini",
|
|
22
|
-
"deepseek-chat",
|
|
23
|
-
"deepseek-reasoner",
|
|
24
|
-
"claude-3.5-haiku",
|
|
25
|
-
"llama-3.2-11b",
|
|
26
|
-
"llama-3.2-90b",
|
|
27
|
-
"gemini-2.0-flash",
|
|
28
|
-
"o1",
|
|
29
|
-
"o3-mini",
|
|
30
|
-
"gpt-4o",
|
|
31
|
-
"claude-3.5-sonnet",
|
|
32
|
-
"gemini-2.0-pro",
|
|
33
|
-
"claude-3.7-sonnet"
|
|
34
|
-
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
def __init__(
|
|
38
|
-
self,
|
|
39
|
-
is_conversation: bool = True,
|
|
40
|
-
max_tokens: int = 2048,
|
|
41
|
-
timeout: int = 30,
|
|
42
|
-
intro: str = None,
|
|
43
|
-
filepath: str = None,
|
|
44
|
-
update_file: bool = True,
|
|
45
|
-
proxies: dict = {},
|
|
46
|
-
history_offset: int = 10250,
|
|
47
|
-
act: str = None,
|
|
48
|
-
model: str = "claude-3.5-haiku"
|
|
49
|
-
|
|
50
|
-
):
|
|
51
|
-
"""Initializes the Flowith API client."""
|
|
52
|
-
if model not in self.AVAILABLE_MODELS:
|
|
53
|
-
raise ValueError(f"Invalid model: {model}. Choose from: {self.AVAILABLE_MODELS}")
|
|
54
|
-
|
|
55
|
-
self.url = "https://edge.flowith.net/ai/chat?mode=general"
|
|
56
|
-
|
|
57
|
-
# Set up headers for the API request
|
|
58
|
-
self.headers = {
|
|
59
|
-
"authority": "edge.flowith.net",
|
|
60
|
-
"accept": "*/*",
|
|
61
|
-
"accept-encoding": "gzip, deflate, br, zstd",
|
|
62
|
-
"accept-language": "en-US,en;q=0.9,en-IN;q=0.8",
|
|
63
|
-
"content-type": "application/json",
|
|
64
|
-
"origin": "https://flowith.io",
|
|
65
|
-
"referer": "https://edge.flowith.net/",
|
|
66
|
-
"responsetype": "stream",
|
|
67
|
-
"sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Microsoft Edge";v="134"',
|
|
68
|
-
"sec-ch-ua-mobile": "?0",
|
|
69
|
-
"sec-ch-ua-platform": '"Windows"',
|
|
70
|
-
"sec-fetch-dest": "empty",
|
|
71
|
-
"sec-fetch-mode": "cors",
|
|
72
|
-
"sec-fetch-site": "cross-site",
|
|
73
|
-
"user-agent": LitAgent().random() # Use LitAgent for user-agent
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
self.session = requests.Session()
|
|
77
|
-
self.session.headers.update(self.headers)
|
|
78
|
-
self.session.proxies.update(proxies)
|
|
79
|
-
|
|
80
|
-
self.is_conversation = is_conversation
|
|
81
|
-
self.max_tokens_to_sample = max_tokens
|
|
82
|
-
self.timeout = timeout
|
|
83
|
-
self.last_response = {}
|
|
84
|
-
self.model = model
|
|
85
|
-
self.node_id = str(uuid.uuid4()) # Generate a new UUID for node ID
|
|
86
|
-
|
|
87
|
-
self.__available_optimizers = (
|
|
88
|
-
method
|
|
89
|
-
for method in dir(Optimizers)
|
|
90
|
-
if callable(getattr(Optimizers, method)) and not method.startswith("__")
|
|
91
|
-
)
|
|
92
|
-
Conversation.intro = (
|
|
93
|
-
AwesomePrompts().get_act(
|
|
94
|
-
act, raise_not_found=True, default=None, case_insensitive=True
|
|
95
|
-
)
|
|
96
|
-
if act
|
|
97
|
-
else intro or Conversation.intro
|
|
98
|
-
)
|
|
99
|
-
|
|
100
|
-
self.conversation = Conversation(
|
|
101
|
-
is_conversation, self.max_tokens_to_sample, filepath, update_file
|
|
102
|
-
)
|
|
103
|
-
self.conversation.history_offset = history_offset
|
|
104
|
-
|
|
105
|
-
def clean_response(self, text):
|
|
106
|
-
"""Remove text between <think> tags and other specific text patterns."""
|
|
107
|
-
# Remove text between <think> tags
|
|
108
|
-
text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
|
|
109
|
-
|
|
110
|
-
return text.strip()
|
|
111
|
-
|
|
112
|
-
def decode_response(self, content):
|
|
113
|
-
"""Try to decode the response content using multiple encodings."""
|
|
114
|
-
encodings = ['utf-8', 'latin1', 'iso-8859-1', 'cp1252']
|
|
115
|
-
for encoding in encodings:
|
|
116
|
-
try:
|
|
117
|
-
return content.decode(encoding)
|
|
118
|
-
except UnicodeDecodeError:
|
|
119
|
-
continue
|
|
120
|
-
# If all encodings fail, try to decode with 'latin1' as it can decode any byte
|
|
121
|
-
return content.decode('latin1')
|
|
122
|
-
|
|
123
|
-
def ask(
|
|
124
|
-
self,
|
|
125
|
-
prompt: str,
|
|
126
|
-
stream: bool = False, # This parameter is kept for compatibility
|
|
127
|
-
raw: bool = False,
|
|
128
|
-
optimizer: str = None,
|
|
129
|
-
conversationally: bool = False,
|
|
130
|
-
) -> Union[Dict[str, Any], Dict[str, str]]:
|
|
131
|
-
conversation_prompt = self.conversation.gen_complete_prompt(prompt)
|
|
132
|
-
if optimizer:
|
|
133
|
-
if optimizer in self.__available_optimizers:
|
|
134
|
-
conversation_prompt = getattr(Optimizers, optimizer)(
|
|
135
|
-
conversation_prompt if conversationally else prompt
|
|
136
|
-
)
|
|
137
|
-
else:
|
|
138
|
-
raise Exception(f"Optimizer is not one of {self.__available_optimizers}")
|
|
139
|
-
|
|
140
|
-
# Payload construction - using stream=False for simpler handling
|
|
141
|
-
payload = {
|
|
142
|
-
"model": self.model,
|
|
143
|
-
"messages": [{"content": conversation_prompt, "role": "user"}],
|
|
144
|
-
"stream": True, # Set to False for direct response
|
|
145
|
-
"nodeId": self.node_id
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
try:
|
|
149
|
-
# Simple non-streaming request
|
|
150
|
-
response = self.session.post(self.url, json=payload, timeout=self.timeout)
|
|
151
|
-
|
|
152
|
-
if response.status_code != 200:
|
|
153
|
-
raise exceptions.FailedToGenerateResponseError(
|
|
154
|
-
f"Request failed with status code {response.status_code}"
|
|
155
|
-
)
|
|
156
|
-
|
|
157
|
-
# Get the response text using our multi-encoding decoder
|
|
158
|
-
response_text = self.decode_response(response.content).strip()
|
|
159
|
-
|
|
160
|
-
# Clean the response
|
|
161
|
-
cleaned_text = self.clean_response(response_text)
|
|
162
|
-
self.last_response = {"text": cleaned_text}
|
|
163
|
-
|
|
164
|
-
# Update conversation history
|
|
165
|
-
self.conversation.update_chat_history(prompt, cleaned_text)
|
|
166
|
-
|
|
167
|
-
return {"text": cleaned_text}
|
|
168
|
-
|
|
169
|
-
except requests.RequestException as e:
|
|
170
|
-
raise exceptions.FailedToGenerateResponseError(f"Request failed: {str(e)}")
|
|
171
|
-
|
|
172
|
-
def chat(
|
|
173
|
-
self,
|
|
174
|
-
prompt: str,
|
|
175
|
-
stream: bool = False, # Parameter kept for compatibility
|
|
176
|
-
optimizer: str = None,
|
|
177
|
-
conversationally: bool = False,
|
|
178
|
-
) -> str:
|
|
179
|
-
# Always use non-streaming mode
|
|
180
|
-
response = self.ask(prompt, False, optimizer=optimizer, conversationally=conversationally)
|
|
181
|
-
return self.get_message(response)
|
|
182
|
-
|
|
183
|
-
def get_message(self, response: dict) -> str:
|
|
184
|
-
assert isinstance(response, dict), "Response should be of dict data-type only"
|
|
185
|
-
return response["text"]
|
|
186
|
-
|
|
187
|
-
if __name__ == "__main__":
|
|
188
|
-
print("-" * 80)
|
|
189
|
-
print(f"{'Model':<50} {'Status':<10} {'Response'}")
|
|
190
|
-
print("-" * 80)
|
|
191
|
-
|
|
192
|
-
for model in Flowith.AVAILABLE_MODELS:
|
|
193
|
-
try:
|
|
194
|
-
test_ai = Flowith(model=model, timeout=60)
|
|
195
|
-
response = test_ai.chat("Say 'Hello' in one word")
|
|
196
|
-
response_text = response
|
|
197
|
-
|
|
198
|
-
if response_text and len(response_text.strip()) > 0:
|
|
199
|
-
status = "✓"
|
|
200
|
-
# Truncate response if too long
|
|
201
|
-
display_text = response_text.strip()[:50] + "..." if len(response_text.strip()) > 50 else response_text.strip()
|
|
202
|
-
else:
|
|
203
|
-
status = "✗"
|
|
204
|
-
display_text = "Empty or invalid response"
|
|
205
|
-
print(f"{model:<50} {status:<10} {display_text}")
|
|
206
|
-
except Exception as e:
|
|
207
|
-
print(f"{model:<50} {'✗':<10} {str(e)}")
|