webscout 6.9__py3-none-any.whl → 7.1__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.
- webscout/AIbase.py +12 -2
- webscout/DWEBS.py +38 -22
- webscout/Extra/autocoder/autocoder_utiles.py +68 -7
- webscout/Extra/autollama.py +0 -16
- webscout/Extra/gguf.py +0 -13
- webscout/LLM.py +1 -1
- webscout/Provider/AISEARCH/DeepFind.py +251 -0
- webscout/Provider/AISEARCH/__init__.py +2 -2
- webscout/Provider/AISEARCH/felo_search.py +167 -118
- webscout/Provider/Blackboxai.py +136 -137
- webscout/Provider/Cloudflare.py +92 -78
- webscout/Provider/Deepinfra.py +59 -35
- webscout/Provider/Glider.py +222 -0
- webscout/Provider/Groq.py +26 -18
- webscout/Provider/HF_space/__init__.py +0 -0
- webscout/Provider/HF_space/qwen_qwen2.py +206 -0
- webscout/Provider/Jadve.py +108 -77
- webscout/Provider/Llama3.py +117 -94
- webscout/Provider/Marcus.py +65 -10
- webscout/Provider/Netwrck.py +61 -49
- webscout/Provider/PI.py +77 -122
- webscout/Provider/PizzaGPT.py +129 -82
- webscout/Provider/TextPollinationsAI.py +229 -0
- webscout/Provider/Youchat.py +28 -22
- webscout/Provider/__init__.py +12 -4
- webscout/Provider/askmyai.py +2 -2
- webscout/Provider/chatglm.py +205 -0
- webscout/Provider/dgaf.py +215 -0
- webscout/Provider/gaurish.py +106 -66
- webscout/Provider/hermes.py +219 -0
- webscout/Provider/llamatutor.py +72 -62
- webscout/Provider/llmchat.py +62 -35
- webscout/Provider/meta.py +6 -6
- webscout/Provider/multichat.py +205 -104
- webscout/Provider/typegpt.py +26 -23
- webscout/Provider/yep.py +3 -3
- webscout/litagent/__init__.py +3 -146
- webscout/litagent/agent.py +120 -0
- webscout/litagent/constants.py +31 -0
- webscout/tempid.py +0 -4
- webscout/version.py +1 -1
- webscout/webscout_search.py +1141 -1140
- webscout/webscout_search_async.py +635 -635
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/METADATA +37 -33
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/RECORD +49 -41
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/WHEEL +1 -1
- webscout/Provider/AISEARCH/ooai.py +0 -155
- webscout/Provider/RUBIKSAI.py +0 -272
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/LICENSE.md +0 -0
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/entry_points.txt +0 -0
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.1
|
|
4
4
|
Summary: Search for anything using Google, DuckDuckGo, phind.com, Contains AI models, can transcribe yt videos, temporary email and phone number generation, has TTS support, webai (terminal gpt and open interpreter) and offline LLMs and more
|
|
5
5
|
Author: OEvortex
|
|
6
6
|
Author-email: helpingai5@gmail.com
|
|
@@ -29,7 +29,7 @@ Requires-Dist: wheel
|
|
|
29
29
|
Requires-Dist: pip
|
|
30
30
|
Requires-Dist: mistune
|
|
31
31
|
Requires-Dist: tenacity
|
|
32
|
-
Requires-Dist:
|
|
32
|
+
Requires-Dist: curl_cffi
|
|
33
33
|
Requires-Dist: nest-asyncio
|
|
34
34
|
Requires-Dist: rich
|
|
35
35
|
Requires-Dist: markdownify
|
|
@@ -39,7 +39,7 @@ Requires-Dist: lxml>=5.2.2
|
|
|
39
39
|
Requires-Dist: termcolor
|
|
40
40
|
Requires-Dist: orjson
|
|
41
41
|
Requires-Dist: PyYAML
|
|
42
|
-
Requires-Dist:
|
|
42
|
+
Requires-Dist: tls_client
|
|
43
43
|
Requires-Dist: clipman
|
|
44
44
|
Requires-Dist: playsound
|
|
45
45
|
Requires-Dist: ollama
|
|
@@ -52,10 +52,10 @@ Requires-Dist: emoji
|
|
|
52
52
|
Requires-Dist: openai
|
|
53
53
|
Requires-Dist: prompt-toolkit
|
|
54
54
|
Requires-Dist: primp
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
55
|
+
Requires-Dist: pyreqwest_impersonate
|
|
56
|
+
Requires-Dist: gradio_client
|
|
57
57
|
Requires-Dist: psutil
|
|
58
|
-
Requires-Dist:
|
|
58
|
+
Requires-Dist: pygetwindow
|
|
59
59
|
Provides-Extra: dev
|
|
60
60
|
Requires-Dist: ruff>=0.1.6; extra == "dev"
|
|
61
61
|
Requires-Dist: pytest>=7.4.2; extra == "dev"
|
|
@@ -63,45 +63,49 @@ Provides-Extra: local
|
|
|
63
63
|
Requires-Dist: llama-cpp-python; extra == "local"
|
|
64
64
|
Requires-Dist: colorama; extra == "local"
|
|
65
65
|
Requires-Dist: numpy; extra == "local"
|
|
66
|
-
Requires-Dist:
|
|
66
|
+
Requires-Dist: huggingface_hub[cli]; extra == "local"
|
|
67
67
|
Requires-Dist: unicorn; extra == "local"
|
|
68
|
+
Dynamic: author
|
|
69
|
+
Dynamic: author-email
|
|
70
|
+
Dynamic: classifier
|
|
71
|
+
Dynamic: description
|
|
72
|
+
Dynamic: description-content-type
|
|
73
|
+
Dynamic: license
|
|
74
|
+
Dynamic: project-url
|
|
75
|
+
Dynamic: provides-extra
|
|
76
|
+
Dynamic: requires-dist
|
|
77
|
+
Dynamic: requires-python
|
|
78
|
+
Dynamic: summary
|
|
68
79
|
|
|
69
|
-
<div align="center">
|
|
70
|
-
<!-- Replace `#` with your actual links -->
|
|
71
|
-
|
|
72
|
-
<a href="https://t.me/official_helpingai"><img alt="Telegram" src="https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
|
|
73
|
-
<a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
|
|
74
|
-
<a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
|
|
75
|
-
<a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
|
|
76
|
-
</div>
|
|
77
|
-
|
|
78
|
-
<div align="center">
|
|
79
|
-
<!-- Replace `#` with your actual links -->
|
|
80
|
-
<a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a>
|
|
81
|
-
</div>
|
|
82
|
-
<div align="center">
|
|
83
|
-
<a href="https://youtube.com/@devsdocode">▶️ Devs Do Code's YouTube Channel</a>
|
|
84
|
-
</div>
|
|
85
|
-
<div align="center">
|
|
86
|
-
<a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
|
|
87
|
-
</div>
|
|
88
80
|
|
|
81
|
+
[](https://t.me/official_helpingai)
|
|
82
|
+
[](https://www.instagram.com/oevortex/)
|
|
83
|
+
[](https://www.linkedin.com/in/oe-vortex-29a407265/)
|
|
84
|
+
[](https://buymeacoffee.com/oevortex)
|
|
89
85
|
|
|
90
86
|
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
<div align="center">
|
|
88
|
+
<a href="https://youtube.com/@OEvortex">▶️ Vortex’s YouTube Channel</a> •
|
|
89
|
+
<a href="https://youtube.com/@devsdocode">▶️ Devs Do Code’s YouTube Channel</a> •
|
|
90
|
+
<a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder’s Telegram</a>
|
|
93
91
|
</div>
|
|
94
92
|
|
|
93
|
+
---
|
|
94
|
+
|
|
95
95
|
<p align="center">
|
|
96
|
-
|
|
96
|
+
<strong>Webscout</strong> is the all-in-one search and AI toolkit you need.
|
|
97
|
+
<br>
|
|
98
|
+
Discover insights with Google, DuckDuckGo, and Phind; access cutting-edge AI models; transcribe YouTube videos; generate temporary emails and phone numbers; perform text-to-speech conversions; run offline language models; and much more!
|
|
97
99
|
</p>
|
|
98
100
|
|
|
99
101
|
<div align="center">
|
|
100
102
|
<img src="https://img.shields.io/badge/WebScout-API-blue?style=for-the-badge&logo=WebScout" alt="WebScout API Badge">
|
|
101
|
-
<a href="#"><img
|
|
102
|
-
<a href="https://pepy.tech/project/webscout"><img
|
|
103
|
+
<a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout" alt="Python Version"></a>
|
|
104
|
+
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout" alt="Downloads"></a>
|
|
103
105
|
</div>
|
|
104
106
|
|
|
107
|
+
---
|
|
108
|
+
|
|
105
109
|
## 🚀 Features
|
|
106
110
|
* **Comprehensive Search:** Leverage Google, DuckDuckGo for diverse search results.
|
|
107
111
|
* **AI Powerhouse:** Access and interact with various AI models, including OpenAI, Cohere, and more.
|
|
@@ -1103,7 +1107,7 @@ print(a.chat("HelpingAI-9B"))
|
|
|
1103
1107
|
```
|
|
1104
1108
|
|
|
1105
1109
|
|
|
1106
|
-
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, Editee, AI21, Chatify, Cerebras, X0GPT, Lepton, GEMINIAPI, Cleeai, Elmo, Free2GPT, Bing, DiscordRocks, GPTWeb, LlamaTutor, PromptRefine, TutorAI, ChatGPTES, Bagoodex, ChatHub, AmigoChat, AIMathGPT, GaurishCerebras, NinjaChat, GeminiPro, Talkai, LLMChat, AskMyAI, Llama3Mitril, Marcus, TypeGPT, Mhystical, Netwrck, MultiChatAI, JadveOpenAI,
|
|
1110
|
+
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, Editee, AI21, Chatify, Cerebras, X0GPT, Lepton, GEMINIAPI, Cleeai, Elmo, Free2GPT, Bing, DiscordRocks, GPTWeb, LlamaTutor, PromptRefine, TutorAI, ChatGPTES, Bagoodex, ChatHub, AmigoChat, AIMathGPT, GaurishCerebras, NinjaChat, GeminiPro, Talkai, LLMChat, AskMyAI, Llama3Mitril, Marcus, TypeGPT, Mhystical, Netwrck, MultiChatAI, JadveOpenAI, ChatGLM, Deepfind, NousHermes, TextPollinationsAI, GliderAI, DGAFAI
|
|
1107
1111
|
|
|
1108
1112
|
Code is similar to other providers.
|
|
1109
1113
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
webscout/AIauto.py,sha256=vmTVbtxtYG2lIye67poeDEJg86y75TZ0_uYR8EQV6To,6994
|
|
2
|
-
webscout/AIbase.py,sha256=
|
|
2
|
+
webscout/AIbase.py,sha256=IPOkad6pK4Iak97b7gQD2AsusHsI3YIsnbGJP4uLo4E,3640
|
|
3
3
|
webscout/AIutel.py,sha256=gsV08e3F6aH4j7wH5V9X3N9T5Ea5MAIQq4M47vNofuI,12020
|
|
4
4
|
webscout/Bard.py,sha256=CmDhKC67Ki2xA8Rkme6EC-gLmq3PhAAAGd5tcpJ0KJo,13234
|
|
5
|
-
webscout/DWEBS.py,sha256=
|
|
6
|
-
webscout/LLM.py,sha256=
|
|
5
|
+
webscout/DWEBS.py,sha256=x12eTaEJRqtq3EU60W3E1C0ASlpYxj9twU33eEeVCFg,19293
|
|
6
|
+
webscout/LLM.py,sha256=JLS0JksqZnSPgj_bOJUjroICH7FB4Pvo-elohavcztQ,16346
|
|
7
7
|
webscout/__init__.py,sha256=ABIIQ5KBftowGxWHkHoPK1VOQlExJcDypTwbyiUsifM,840
|
|
8
8
|
webscout/__main__.py,sha256=pBm2E3ZZiMcCH37b1YCz7qKdKdX_i_S5En6fZDeJKFw,103
|
|
9
9
|
webscout/cli.py,sha256=3AG2adVRirqKQMvXX312nswNBtRpmW9-2C16eAhfRd4,11994
|
|
@@ -11,15 +11,15 @@ webscout/conversation.py,sha256=LMZWJVnyc1P5GLAzCLKvw6UU07nD3wA44l9sKh3nu8k,8763
|
|
|
11
11
|
webscout/exceptions.py,sha256=10OLw5gFpfyGSSfAMRWT2OYCkdiEJR2byRv74kftAhc,11383
|
|
12
12
|
webscout/optimizers.py,sha256=ALT4SeO_s_JV6yWG7XJJ3aZIoEiTN1PIaCZJtnGdxXs,10749
|
|
13
13
|
webscout/prompt_manager.py,sha256=Jc0demWN6M6QcwRp14aHZR05r_PVPOaG8PnQkO7pDZ4,9806
|
|
14
|
-
webscout/tempid.py,sha256=
|
|
14
|
+
webscout/tempid.py,sha256=hxzPVBjxAa5GLBQ9fE6ob5ixJpQeU-mgdfTzh33EHvE,4926
|
|
15
15
|
webscout/update_checker.py,sha256=mLFD_OYjtEdUvXUiNt8wSbspmkFRmNlULf5sVyVZi60,5129
|
|
16
16
|
webscout/utils.py,sha256=LVW7U0XcGYqigqxV6D5YXeGMrc_mt7PnNG_YnKf9bBM,3059
|
|
17
|
-
webscout/version.py,sha256=
|
|
18
|
-
webscout/webscout_search.py,sha256
|
|
19
|
-
webscout/webscout_search_async.py,sha256=
|
|
17
|
+
webscout/version.py,sha256=llAEpCdUX11mRfmUvjcUXUSl8vFycU9eE0g86FefnA8,44
|
|
18
|
+
webscout/webscout_search.py,sha256=SIPYtMG8agE4ep7aoHf9ZnoRrjKYGHGsQbpgvqblPuU,45983
|
|
19
|
+
webscout/webscout_search_async.py,sha256=DvfFPs6BETDmCc6w99930XMdXE6WqbmVOwZr7HXeuGg,25301
|
|
20
20
|
webscout/Extra/__init__.py,sha256=FbDnwI3zZdoQFosA5Q2bIYpJlHUKFWiFmFKvnk9xWKY,153
|
|
21
|
-
webscout/Extra/autollama.py,sha256=
|
|
22
|
-
webscout/Extra/gguf.py,sha256=
|
|
21
|
+
webscout/Extra/autollama.py,sha256=dqvNj9W_KRhuQKkro8h0Ej0rh3fWXMLUo3w4YsJ7c9Y,7618
|
|
22
|
+
webscout/Extra/gguf.py,sha256=q0GLqYy8Nx7Q39mLXwRUZ7Bt3GUZbCcUBPHfSGDf4mI,15565
|
|
23
23
|
webscout/Extra/weather.py,sha256=XVi9fb7KZdUNaZjGzCHo8UIkK4v8-rWVfYuDiFbN8WY,5960
|
|
24
24
|
webscout/Extra/weather_ascii.py,sha256=AsSJT6OCpg9vxzW5h7h0s0PEMq_m_ixvcc7VDtNERdw,793
|
|
25
25
|
webscout/Extra/YTToolkit/YTdownloader.py,sha256=IJna9LabUZPZOsOFmSyhziYfSk_uas98W7HxYntyzGs,34922
|
|
@@ -38,7 +38,7 @@ webscout/Extra/YTToolkit/ytapi/stream.py,sha256=yjIrAFgSNN0Ba8JxwN3M85EgrAMnknZp
|
|
|
38
38
|
webscout/Extra/YTToolkit/ytapi/utils.py,sha256=ENjmAjlOTLib0ANxysuSb2kgDl3NtDTvW60b18H-Rzc,1966
|
|
39
39
|
webscout/Extra/YTToolkit/ytapi/video.py,sha256=FM9XL69ZT-pQMBFf4SPq8MiiksxNmyyKQrk4naUiFmA,3977
|
|
40
40
|
webscout/Extra/autocoder/__init__.py,sha256=jcDJEXVde_ATffVNjV4vQMvvWH0UDW-HRz5OKNoZ7cg,218
|
|
41
|
-
webscout/Extra/autocoder/autocoder_utiles.py,sha256=
|
|
41
|
+
webscout/Extra/autocoder/autocoder_utiles.py,sha256=f2egou-76uMI3nZQvF9uVK3EpR5msjmdF0_J4-JtrQQ,8648
|
|
42
42
|
webscout/Extra/autocoder/rawdog.py,sha256=o2lMY4Fwvl3GawBzwGXuqu-5dPFzDyX3ZZL1xmQV7Ls,25806
|
|
43
43
|
webscout/Litlogger/__init__.py,sha256=Q5FPfGKktfFyvqa6kMbye9LLzuy6VXGOgE3Q-uBGD2E,23928
|
|
44
44
|
webscout/Local/__init__.py,sha256=Mte7RYlelBND2yof_HJ3MMZYBVeTISNFU2-LiFKSbU4,228
|
|
@@ -53,64 +53,70 @@ webscout/Provider/AI21.py,sha256=JBh-xnspxTZNMcl-Gd0Cgseqht9gTM64TUv9I4Imc9k,621
|
|
|
53
53
|
webscout/Provider/Amigo.py,sha256=LkZuvFUwkmdzgMhUEMYvXKpNpLstjznRMe-CQydYO7g,11637
|
|
54
54
|
webscout/Provider/Andi.py,sha256=-vqXWlJcHzhfZ-iW4qJy9yxzctPKp2RdmdW02hf4XLs,8863
|
|
55
55
|
webscout/Provider/Bing.py,sha256=zxIzq7dlqaLskx9LsYppbMJuwfGtYid3Uh0gIhZ0hps,9001
|
|
56
|
-
webscout/Provider/Blackboxai.py,sha256=
|
|
56
|
+
webscout/Provider/Blackboxai.py,sha256=ooumGsT-HeZqx3D0hpmiOcW_ae62yQUmghTJg0Mw0C8,8195
|
|
57
57
|
webscout/Provider/ChatGPTES.py,sha256=t_Qjn1ShNX0uYp5dJzv6Y7DPQM8HUTgvcBauhFz0-Io,8815
|
|
58
58
|
webscout/Provider/Chatify.py,sha256=QYgZAEmhLkEnR7oyr-qUs6OSHoNJm2BgMr41f84Ntbg,6370
|
|
59
|
-
webscout/Provider/Cloudflare.py,sha256=
|
|
59
|
+
webscout/Provider/Cloudflare.py,sha256=pNQ9qEsam_byH3qLta8fsgkVA0pmfMq3uzYy3UB0V-c,11636
|
|
60
60
|
webscout/Provider/Cohere.py,sha256=oL9kAv--RSkEQxwkPTq1Wi57Wkgg0WNvL82CpTj22YY,8264
|
|
61
61
|
webscout/Provider/DARKAI.py,sha256=kVElPYVh_VchfGylR4YzC3orrPJPyPoOpSolc62b5eY,8944
|
|
62
|
-
webscout/Provider/Deepinfra.py,sha256=
|
|
62
|
+
webscout/Provider/Deepinfra.py,sha256=KzRKNbYiKAUgrcnNMjxybVgnIJJcXMtT_hePQ_zkKZg,8285
|
|
63
63
|
webscout/Provider/DiscordRocks.py,sha256=fRkVBCyDMZf0SoaNPK7KXAsh8mQj0JWDb7ifYpL9PQQ,11372
|
|
64
64
|
webscout/Provider/EDITEE.py,sha256=9rq7c84XoIoRBqd0qgW-Ebu3lyffhicSOtUvMtAjO0s,7742
|
|
65
65
|
webscout/Provider/Free2GPT.py,sha256=WQOURmq7MciW9Imh-cMSkQgxsuE8cmxs85aBONtv1Rw,8953
|
|
66
66
|
webscout/Provider/GPTWeb.py,sha256=xh_mnBko6RDyz2v3KhMux-yIipipkZfVVVoUJWkbzcQ,7466
|
|
67
67
|
webscout/Provider/Gemini.py,sha256=Vg2MLqQ_qxHkcN7Zikife1dyVK-y94ik8y6MAu-VzUI,7801
|
|
68
|
-
webscout/Provider/
|
|
69
|
-
webscout/Provider/
|
|
68
|
+
webscout/Provider/Glider.py,sha256=GlRUoMT1E2CEdBTMqBKdwSAUUJQhARXXm3hyLRfNNQY,8971
|
|
69
|
+
webscout/Provider/Groq.py,sha256=4HD0PeQx4J3Lb0_B917jT-GjFG3kO4jTjO44GgHX4O8,28924
|
|
70
|
+
webscout/Provider/Jadve.py,sha256=YuZVmQ33yfbudR8SD-X9doVVzOk7NuHwVkJfX3l6uDk,10573
|
|
70
71
|
webscout/Provider/Koboldai.py,sha256=gpRgyDe4OQWwNqT7MWnNrJx4dnFmCW23KUx0Ezjgchk,15185
|
|
71
72
|
webscout/Provider/Llama.py,sha256=N01p3ZVD1HgRnNNxhjRhBVD4m_qiextdyF1KDfJlqbE,7703
|
|
72
|
-
webscout/Provider/Llama3.py,sha256=
|
|
73
|
-
webscout/Provider/Marcus.py,sha256=
|
|
74
|
-
webscout/Provider/Netwrck.py,sha256=
|
|
73
|
+
webscout/Provider/Llama3.py,sha256=O2XJKoQD2bYq9T_PyFW36mFy3yNXYMuGSBzlfFzVdo8,8106
|
|
74
|
+
webscout/Provider/Marcus.py,sha256=JHVZdTy_6jre1HD1fxZK-BofNhwEYuGo3bHZnlPrmHg,6882
|
|
75
|
+
webscout/Provider/Netwrck.py,sha256=zZgKapRfQYmaZMmyxJNpRJrN9_LpUwLbcg6AnEW9UyI,9530
|
|
75
76
|
webscout/Provider/OLLAMA.py,sha256=RQXJt-PJYnA15_IXhUy4mM9qwm4PcBMfINaZm2KG6zE,7018
|
|
76
77
|
webscout/Provider/Openai.py,sha256=mpJ9VgIyvW6uo0-jIcx5Qcz4PIUAj3xVLOgKrB1z9pU,20074
|
|
77
|
-
webscout/Provider/PI.py,sha256=
|
|
78
|
+
webscout/Provider/PI.py,sha256=5Ja3xJhjHq_GOI0ESfTX4iMYLufdKAJLR3uHzMqhzdI,11637
|
|
78
79
|
webscout/Provider/Phind.py,sha256=FaE10xQJ_TluRnzA_t7SxXsqgKzTfXR5lLGla2DQVBM,19467
|
|
79
|
-
webscout/Provider/PizzaGPT.py,sha256=
|
|
80
|
-
webscout/Provider/RUBIKSAI.py,sha256=EwynOsqHrxk3dNP-hIMn7AO3MkA-RwNHPzA64Ola5Mo,10940
|
|
80
|
+
webscout/Provider/PizzaGPT.py,sha256=PzcWSoIR9gpxp9xnhFm7yB42a7AhCwWf_U7b2P_hjYE,9137
|
|
81
81
|
webscout/Provider/Reka.py,sha256=dWw4vX91nJhAn-X1SXK72gttRaTqWNGUBFaeRJobTJg,8519
|
|
82
82
|
webscout/Provider/TeachAnything.py,sha256=6scp1tzcc5z_TKUALArQ4APCNElHJ7SzsJoiB71o0V0,7169
|
|
83
|
-
webscout/Provider/
|
|
84
|
-
webscout/Provider/
|
|
83
|
+
webscout/Provider/TextPollinationsAI.py,sha256=z-grxzhOmXtF1KmB20xLa_3rNittd1wfM_jkQVFgfWY,8817
|
|
84
|
+
webscout/Provider/Youchat.py,sha256=LmPskUWaOJlJSYsGeHsu5riD1X6Rp6pFmdApZh_t98I,10205
|
|
85
|
+
webscout/Provider/__init__.py,sha256=UGr0caNw7TGNdrbUaFh5YsFgiFmiP-ztPdAIkkSEYDY,2715
|
|
85
86
|
webscout/Provider/ai4chat.py,sha256=av96iS4QPt9IzhcswowmDY2F8IUSLl1YVHZ4bAbfO-s,8140
|
|
86
87
|
webscout/Provider/aimathgpt.py,sha256=BdXNxEHQP11p6m0wl2Q-uben46A6lMKOg89utV1S7aI,7320
|
|
87
|
-
webscout/Provider/askmyai.py,sha256=
|
|
88
|
+
webscout/Provider/askmyai.py,sha256=MX3883xxpMe5GUahyQOwR4ZR_Oa_zAg4N7ksZ4zhB9s,5904
|
|
88
89
|
webscout/Provider/bagoodex.py,sha256=OdYIyvypX-Vkok9zAr6F5NwFQx_z0bKhiw8U4tTFw5o,5023
|
|
89
90
|
webscout/Provider/cerebras.py,sha256=atAhSlTF1FAMDmKRz7oZaB5LP2qbzlvgqvn4KQjuvjo,7997
|
|
91
|
+
webscout/Provider/chatglm.py,sha256=y_9XV5XeENT4zDuZssAieZFXECqvnqwNxBst9_VjLv0,8047
|
|
90
92
|
webscout/Provider/cleeai.py,sha256=ZIPm2dT8H8BxGSLHsgp6aDWn3DVOxAOcFfkMNH1UK0I,7979
|
|
93
|
+
webscout/Provider/dgaf.py,sha256=2zRhbzRYnwn8EKjrpXckxkVp57mVBC2szguU8WIV5K4,8948
|
|
91
94
|
webscout/Provider/elmo.py,sha256=I7qq2YvKht28Z2KFTxj3wNyekJM6gAJCExilB-_UkzQ,9308
|
|
92
|
-
webscout/Provider/gaurish.py,sha256=
|
|
95
|
+
webscout/Provider/gaurish.py,sha256=TzW698VssiXdSElHQsPgMTSwFb9LXlJBN0kWp4JJmeg,10146
|
|
93
96
|
webscout/Provider/geminiapi.py,sha256=c2zvwqkRgscI8vU1FU4qb_4fPe374LIQJ_uHNM9lmF8,8297
|
|
94
97
|
webscout/Provider/geminiprorealtime.py,sha256=DQdChZRryg9bvXiKpos7wFlu0Q6QNq9lYkbb-FJubWk,5766
|
|
98
|
+
webscout/Provider/hermes.py,sha256=AF53q5_gpR4UIyTFYYEypimWmo87AyTo2YGLCQiptU4,8234
|
|
95
99
|
webscout/Provider/julius.py,sha256=unD3UUnW8-Bie4o0__Vn7cXfqnaVvlE3MWI-LYGb5VE,8576
|
|
96
100
|
webscout/Provider/koala.py,sha256=qBtqjTvhoMQdDE8qUH0XuNa_x2bic77d7CUjIVboask,10106
|
|
97
101
|
webscout/Provider/learnfastai.py,sha256=xANWSHF3e6kTKgwbAHYdjNWIwYvr5Bin0NDENmJvruE,9763
|
|
98
102
|
webscout/Provider/lepton.py,sha256=ocex934Pb0AXiDrTLh67KhouoHh4EIl5giQbW6cgeDQ,7513
|
|
99
103
|
webscout/Provider/llama3mitril.py,sha256=ykVZxFI-PJL9pASogjuAw9yRRuC7hjKoV8VPdV6ma_0,6445
|
|
100
|
-
webscout/Provider/llamatutor.py,sha256=
|
|
101
|
-
webscout/Provider/llmchat.py,sha256=
|
|
102
|
-
webscout/Provider/meta.py,sha256=
|
|
103
|
-
webscout/Provider/multichat.py,sha256=
|
|
104
|
+
webscout/Provider/llamatutor.py,sha256=GjTVCDafkTuvQySuAaP6IW2PkaBcdoTC5tIsSudYArU,8724
|
|
105
|
+
webscout/Provider/llmchat.py,sha256=LT3evOGDGda5YZJrtlUnLwv349fhp_4u0zIXLcTq974,8872
|
|
106
|
+
webscout/Provider/meta.py,sha256=sYhR1PeUphYUq89Gcf9yNUXKaJZGEIhI4UpeOqpJXZU,29914
|
|
107
|
+
webscout/Provider/multichat.py,sha256=bEyhaxdMdbxAqWHbWto7h4E6OTUWSpj-FP5ySC2ezUY,12456
|
|
104
108
|
webscout/Provider/promptrefine.py,sha256=W0Ka59yRRKCOBXfF_hF-iF30F0AR45OPxgCCZ6mZzuA,7722
|
|
105
109
|
webscout/Provider/talkai.py,sha256=FHBZzBdHrOVn41nkhhJmjhHuR1NKTOBE7lGgYDV-0dk,7598
|
|
106
110
|
webscout/Provider/turboseek.py,sha256=uEoL5eJFvnpDCymTufrC8O9Ni3i8acb0GBy4JweFeIE,8474
|
|
107
111
|
webscout/Provider/tutorai.py,sha256=hgjYrI1zqNRhHEoi8t1OU8m9i80EQCay5UtmKqbNS9w,11205
|
|
108
|
-
webscout/Provider/typegpt.py,sha256=
|
|
112
|
+
webscout/Provider/typegpt.py,sha256=CINbYx1BU9pC9gCdcdn0B_GgMYrpByXdvs53-PD4g-E,13271
|
|
109
113
|
webscout/Provider/x0gpt.py,sha256=eKDEbUIkY1Cc8mCad-CFA4ZgBXOmR7T7rKf89lh16-8,9383
|
|
110
|
-
webscout/Provider/yep.py,sha256=
|
|
111
|
-
webscout/Provider/AISEARCH/
|
|
112
|
-
webscout/Provider/AISEARCH/
|
|
113
|
-
webscout/Provider/AISEARCH/
|
|
114
|
+
webscout/Provider/yep.py,sha256=DXNXMElr-G19EB8GKB2MgAW5iNTI1EGS8lJd937o6Pk,9954
|
|
115
|
+
webscout/Provider/AISEARCH/DeepFind.py,sha256=u7pCCjoORh7URrK3nEujD_wkBUUuHrSKtUS9qBsPsBE,10043
|
|
116
|
+
webscout/Provider/AISEARCH/__init__.py,sha256=oSGWYCOsLGXxBLUN6R_x_ohElenwWlvKGK5BFsja1PM,61
|
|
117
|
+
webscout/Provider/AISEARCH/felo_search.py,sha256=uR89JwDXH5HB_EHdVwHC6CMpPeLvHFYmi6PO-YQmAyw,8879
|
|
118
|
+
webscout/Provider/HF_space/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
|
+
webscout/Provider/HF_space/qwen_qwen2.py,sha256=KP7KiPa_OavNh_dF4B2qAv6sX5O6LgD6FeEep5wRNM4,7627
|
|
114
120
|
webscout/Provider/TTI/__init__.py,sha256=9Hu_y-z6Ev2SQL5-IF_B4UDetoOl7hVclka1RatQ6_M,225
|
|
115
121
|
webscout/Provider/TTI/AiForce/__init__.py,sha256=Ukeas_Ny6VQBwCDEWuBMlWbeTki82ir1MtZdR2vNJPc,663
|
|
116
122
|
webscout/Provider/TTI/AiForce/async_aiforce.py,sha256=7Gpgu__TPNLZwxayqfOOkRcKpIdAfE1x8wE-RoylEAY,9647
|
|
@@ -148,7 +154,9 @@ webscout/Provider/TTS/parler.py,sha256=FRvRk2WFxJVkdmYqsDSX11bR6bxzyIaYRQ-m_6GMX
|
|
|
148
154
|
webscout/Provider/TTS/streamElements.py,sha256=0cfayE1eQYQj4ILF9tmHdodIcw9WknTKsrgJWbK1hWg,11003
|
|
149
155
|
webscout/Provider/TTS/utils.py,sha256=-2sXcGG1lDBIr32fssI1Tf9yxl7gMWZRM0xzUFebeko,10599
|
|
150
156
|
webscout/Provider/TTS/voicepod.py,sha256=cMF7k88cP-RMqkqcoT8cu1o-eehxd2tqiq8laJeuMJw,4227
|
|
151
|
-
webscout/litagent/__init__.py,sha256=
|
|
157
|
+
webscout/litagent/__init__.py,sha256=LvjfewahlfIfmQLwfLyAtscISmpCl7SGd0zOT-kPr7A,824
|
|
158
|
+
webscout/litagent/agent.py,sha256=ubSMV8Pehtweg0BPGm_vFEi-DCvuydN4gL74NYM68yc,4648
|
|
159
|
+
webscout/litagent/constants.py,sha256=uUa3ATbpcGKagjPEKAAnI45Y3J6yn2NIMCQjvqQYHqI,929
|
|
152
160
|
webscout/litprinter/__init__.py,sha256=3Hdtj0-YSdwNqxc_Uc_yZIv7gnsap4e4dvqni4CA9oY,28821
|
|
153
161
|
webscout/litprinter/colors.py,sha256=5L_WmYFcp2JoX1rCS4GvFCNCOlj2EhEJRGWvqvs8M54,1247
|
|
154
162
|
webscout/scout/__init__.py,sha256=C-uYGqVR7iiScetSxUTHc76i0OLQnWJO7WFTfhgafW4,325
|
|
@@ -182,9 +190,9 @@ webstoken/sentiment.py,sha256=Bivwm9Wmo2GMXvKYxPxd1vrnyDwDywyjxmOIe6jP6NM,7996
|
|
|
182
190
|
webstoken/stemmer.py,sha256=AYg1frOaS2CWF-KvFwh3_s-VMZUa0olM7CN1UaEpc-8,2551
|
|
183
191
|
webstoken/tagger.py,sha256=RgDxPw0E6VgeXTrAFnnOb4X2J2Hu3snafr-MJeWtHlc,2246
|
|
184
192
|
webstoken/tokenizer.py,sha256=RAaihP3Yq4OFHcXrTNUGBDLbq1-ti_lVUEw0CIPPCww,5858
|
|
185
|
-
webscout-
|
|
186
|
-
webscout-
|
|
187
|
-
webscout-
|
|
188
|
-
webscout-
|
|
189
|
-
webscout-
|
|
190
|
-
webscout-
|
|
193
|
+
webscout-7.1.dist-info/LICENSE.md,sha256=5mkWS6cgjGxJClmN7n--h0beF3uFAOV_Ngr1YTK33Tk,9203
|
|
194
|
+
webscout-7.1.dist-info/METADATA,sha256=fJE888ae-ka6thVAui3elFNsKy7u9MDoWz_BdMco3-E,40011
|
|
195
|
+
webscout-7.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
196
|
+
webscout-7.1.dist-info/entry_points.txt,sha256=7thMsVUoHiXGoIH1NeoocKpxlszWflNsNyrnDqGzvO0,70
|
|
197
|
+
webscout-7.1.dist-info/top_level.txt,sha256=KQtbgkA3gxcsADB0hIIx-heydmEYXpAY7xn3LjwDx0E,19
|
|
198
|
+
webscout-7.1.dist-info/RECORD,,
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import requests
|
|
2
|
-
import json
|
|
3
|
-
import re
|
|
4
|
-
from typing import Any, Dict, Generator, Optional
|
|
5
|
-
|
|
6
|
-
from webscout.AIbase import Provider
|
|
7
|
-
from webscout import exceptions
|
|
8
|
-
from webscout.litagent import LitAgent
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class OOAi(Provider):
|
|
12
|
-
"""
|
|
13
|
-
A class to interact with the oo.ai API.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
def __init__(
|
|
17
|
-
self,
|
|
18
|
-
max_tokens: int = 600,
|
|
19
|
-
timeout: int = 30,
|
|
20
|
-
proxies: Optional[dict] = None,
|
|
21
|
-
):
|
|
22
|
-
"""Initializes the OOAi API client."""
|
|
23
|
-
self.session = requests.Session()
|
|
24
|
-
self.max_tokens_to_sample = max_tokens
|
|
25
|
-
self.api_endpoint = "https://oo.ai/api/search"
|
|
26
|
-
self.stream_chunk_size = 1024 # Adjust as needed
|
|
27
|
-
self.timeout = timeout
|
|
28
|
-
self.last_response = {}
|
|
29
|
-
self.headers = {
|
|
30
|
-
"Accept": "text/event-stream",
|
|
31
|
-
"Accept-Encoding": "gzip, deflate, br, zstd",
|
|
32
|
-
"Accept-Language": "en-US,en;q=0.9,en-IN;q=0.8",
|
|
33
|
-
"Cache-Control": "no-cache",
|
|
34
|
-
"Cookie": "_ga=GA1.1.1827087199.1734256606; _ga_P0EJPHF2EG=GS1.1.1734368698.4.1.1734368711.0.0.0",
|
|
35
|
-
"DNT": "1",
|
|
36
|
-
"Referer": "https://oo.ai/",
|
|
37
|
-
"sec-ch-ua": '"Microsoft Edge";v="131", "Chromium";v="131", "Not_A_Brand";v="24"',
|
|
38
|
-
"sec-ch-ua-mobile": "?0",
|
|
39
|
-
"sec-ch-ua-platform": "Windows",
|
|
40
|
-
"sec-fetch-dest": "empty",
|
|
41
|
-
"sec-fetch-mode": "cors",
|
|
42
|
-
"sec-fetch-site": "same-origin",
|
|
43
|
-
}
|
|
44
|
-
self.session.headers.update(self.headers)
|
|
45
|
-
self.proxies = proxies
|
|
46
|
-
self.headers["User-Agent"] = LitAgent().random()
|
|
47
|
-
|
|
48
|
-
def ask(
|
|
49
|
-
self,
|
|
50
|
-
prompt: str,
|
|
51
|
-
stream: bool = False,
|
|
52
|
-
raw: bool = False,
|
|
53
|
-
optimizer: Optional[str] = None,
|
|
54
|
-
conversationally: bool = False,
|
|
55
|
-
) -> Dict[str, Any] | Generator[Dict[str, Any], None, None]:
|
|
56
|
-
"""Chat with AI
|
|
57
|
-
Args:
|
|
58
|
-
prompt (str): Prompt to be sent.
|
|
59
|
-
stream (bool, optional): Flag for streaming response. Defaults to False.
|
|
60
|
-
raw (bool, optional): Stream back raw response as received. Defaults to False.
|
|
61
|
-
optimizer (str, optional): Not used. Defaults to None.
|
|
62
|
-
conversationally (bool, optional): Not used. Defaults to False.
|
|
63
|
-
Returns:
|
|
64
|
-
Union[Dict, Generator[Dict, None, None]]: Response generated
|
|
65
|
-
"""
|
|
66
|
-
params = {
|
|
67
|
-
"q": prompt,
|
|
68
|
-
"lang": "en-US",
|
|
69
|
-
"tz": "Asia/Calcutta",
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
def for_stream():
|
|
73
|
-
try:
|
|
74
|
-
with self.session.get(
|
|
75
|
-
self.api_endpoint,
|
|
76
|
-
params=params,
|
|
77
|
-
headers=self.headers,
|
|
78
|
-
stream=True,
|
|
79
|
-
timeout=self.timeout,
|
|
80
|
-
) as response:
|
|
81
|
-
|
|
82
|
-
if not response.ok:
|
|
83
|
-
raise exceptions.FailedToGenerateResponseError(
|
|
84
|
-
f"Request failed with status code {response.status_code}: {response.text}"
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
streaming_text = ""
|
|
88
|
-
for line in response.iter_lines(decode_unicode=True):
|
|
89
|
-
if line and line.startswith('data: '):
|
|
90
|
-
try:
|
|
91
|
-
json_data = json.loads(line[6:])
|
|
92
|
-
if "content" in json_data:
|
|
93
|
-
content = self.clean_content(json_data["content"])
|
|
94
|
-
streaming_text += content
|
|
95
|
-
yield {"text": content} if not raw else {"text": content}
|
|
96
|
-
except json.JSONDecodeError:
|
|
97
|
-
continue
|
|
98
|
-
self.last_response.update({"text": streaming_text})
|
|
99
|
-
|
|
100
|
-
except requests.exceptions.RequestException as e:
|
|
101
|
-
raise exceptions.APIConnectionError(f"Request failed: {e}")
|
|
102
|
-
|
|
103
|
-
def for_non_stream():
|
|
104
|
-
for _ in for_stream():
|
|
105
|
-
pass
|
|
106
|
-
return self.last_response
|
|
107
|
-
|
|
108
|
-
return for_stream() if stream else for_non_stream()
|
|
109
|
-
|
|
110
|
-
def chat(
|
|
111
|
-
self,
|
|
112
|
-
prompt: str,
|
|
113
|
-
stream: bool = False,
|
|
114
|
-
optimizer: Optional[str] = None,
|
|
115
|
-
conversationally: bool = False,
|
|
116
|
-
) -> str | Generator[str, None, None]:
|
|
117
|
-
"""Generate response `str`"""
|
|
118
|
-
|
|
119
|
-
def for_stream():
|
|
120
|
-
for response in self.ask(
|
|
121
|
-
prompt, True, optimizer=optimizer, conversationally=conversationally
|
|
122
|
-
):
|
|
123
|
-
yield self.get_message(response)
|
|
124
|
-
|
|
125
|
-
def for_non_stream():
|
|
126
|
-
return self.get_message(
|
|
127
|
-
self.ask(
|
|
128
|
-
prompt,
|
|
129
|
-
False,
|
|
130
|
-
optimizer=optimizer,
|
|
131
|
-
conversationally=conversationally,
|
|
132
|
-
)
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
return for_stream() if stream else for_non_stream()
|
|
136
|
-
|
|
137
|
-
def get_message(self, response: dict) -> str:
|
|
138
|
-
"""Retrieves message only from response"""
|
|
139
|
-
assert isinstance(response, dict), "Response should be of dict data-type only"
|
|
140
|
-
return response["text"]
|
|
141
|
-
|
|
142
|
-
@staticmethod
|
|
143
|
-
def clean_content(text: str) -> str:
|
|
144
|
-
"""Removes all webblock elements with research or detail classes."""
|
|
145
|
-
cleaned_text = re.sub(
|
|
146
|
-
r'<webblock class="(?:research|detail)">[^<]*</webblock>', "", text
|
|
147
|
-
)
|
|
148
|
-
return cleaned_text
|
|
149
|
-
|
|
150
|
-
if __name__ == "__main__":
|
|
151
|
-
from rich import print
|
|
152
|
-
ai = OOAi()
|
|
153
|
-
response = ai.chat(input(">>> "), stream=True)
|
|
154
|
-
for chunk in response:
|
|
155
|
-
print(chunk, end="", flush=True)
|