webscout 1.0.9__tar.gz → 1.1.2__tar.gz
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-1.0.9/webscout.egg-info → webscout-1.1.2}/PKG-INFO +64 -46
- {webscout-1.0.9 → webscout-1.1.2}/README.md +61 -45
- {webscout-1.0.9 → webscout-1.1.2}/setup.py +4 -1
- {webscout-1.0.9 → webscout-1.1.2}/webscout/AI.py +3 -5
- webscout-1.1.2/webscout/HelpingAI.py +192 -0
- webscout-1.1.2/webscout/LLM.py +67 -0
- webscout-1.1.2/webscout/version.py +2 -0
- {webscout-1.0.9 → webscout-1.1.2/webscout.egg-info}/PKG-INFO +64 -46
- {webscout-1.0.9 → webscout-1.1.2}/webscout.egg-info/SOURCES.txt +2 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout.egg-info/entry_points.txt +1 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout.egg-info/requires.txt +2 -0
- webscout-1.0.9/webscout/version.py +0 -1
- {webscout-1.0.9 → webscout-1.1.2}/LICENSE.md +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/setup.cfg +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/__init__.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/__main__.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/cli.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/exceptions.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/models.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/utils.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/webscout_search.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout/webscout_search_async.py +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout.egg-info/dependency_links.txt +0 -0
- {webscout-1.0.9 → webscout-1.1.2}/webscout.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models
|
|
5
5
|
Author: OEvortex
|
|
6
6
|
Author-email: helpingai5@gmail.com
|
|
@@ -32,6 +32,8 @@ Requires-Dist: tqdm>=4.64.0
|
|
|
32
32
|
Requires-Dist: webdriver-manager>=3.5.4
|
|
33
33
|
Requires-Dist: halo>=0.0.31
|
|
34
34
|
Requires-Dist: g4f>=0.2.2.3
|
|
35
|
+
Requires-Dist: rich
|
|
36
|
+
Requires-Dist: python-dotenv
|
|
35
37
|
Provides-Extra: dev
|
|
36
38
|
Requires-Dist: ruff>=0.1.6; extra == "dev"
|
|
37
39
|
Requires-Dist: pytest>=7.4.2; extra == "dev"
|
|
@@ -44,11 +46,12 @@ Also containes AI models that you can use
|
|
|
44
46
|
- [Table of Contents](#table-of-contents)
|
|
45
47
|
- [Install](#install)
|
|
46
48
|
- [CLI version](#cli-version)
|
|
47
|
-
- [CLI version of AI](#cli-version-of-
|
|
49
|
+
- [CLI version of webscout.AI](#cli-version-of-webscoutai)
|
|
50
|
+
- [CLI to use LLM](#cli-to-use-llm)
|
|
48
51
|
- [Regions](#regions)
|
|
49
52
|
- [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
|
|
50
53
|
- [Exceptions](#exceptions)
|
|
51
|
-
- [usage](#usage)
|
|
54
|
+
- [usage of webscout](#usage-of-webscout)
|
|
52
55
|
- [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
|
|
53
56
|
- [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
|
|
54
57
|
- [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
|
|
@@ -57,12 +60,17 @@ Also containes AI models that you can use
|
|
|
57
60
|
- [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
|
|
58
61
|
- [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
|
|
59
62
|
- [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
|
|
60
|
-
|
|
61
|
-
- [
|
|
62
|
-
- [
|
|
63
|
-
- [
|
|
64
|
-
- [
|
|
63
|
+
- [usage of webscout.AI](#usage-of-webscoutai)
|
|
64
|
+
- [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
|
|
65
|
+
- [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
|
|
66
|
+
- [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
|
|
67
|
+
- [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
|
|
68
|
+
- [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
|
|
69
|
+
- [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
|
|
70
|
+
- [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
|
|
71
|
+
- [`LLM`](#llm)
|
|
65
72
|
- [Version History](#version-history)
|
|
73
|
+
- [v1.1.0](#v110)
|
|
66
74
|
- [v1.0.9](#v109)
|
|
67
75
|
- [v1.0.8](#v108)
|
|
68
76
|
- [v1.0.7](#v107)
|
|
@@ -91,26 +99,22 @@ python -m webscout --help
|
|
|
91
99
|
| python -m webscout version | A command-line interface command that prints and returns the version of the program. |
|
|
92
100
|
| python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
|
|
93
101
|
|
|
94
|
-
## CLI version of AI
|
|
102
|
+
## CLI version of webscout.AI
|
|
95
103
|
|
|
96
|
-
```python3
|
|
97
|
-
python -m webscout.AI phindsearch --query "your_query_here"
|
|
98
|
-
```
|
|
99
104
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
| Command | Description |
|
|
106
|
+
|--------------------------------------------|--------------------------------------------------------------------------------------------------------|
|
|
107
|
+
| `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
|
|
108
|
+
| `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
|
|
109
|
+
| `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
|
|
110
|
+
| `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
|
|
111
|
+
| `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
|
|
103
112
|
|
|
104
|
-
```python
|
|
105
|
-
python -m webscout.AI youchat --prompt "your_prompt_here"
|
|
106
|
-
```
|
|
107
113
|
|
|
108
|
-
```python
|
|
109
|
-
python -m webscout.AI gemini --message "tell me about gemma 7b"
|
|
110
|
-
```
|
|
111
114
|
|
|
115
|
+
## CLI to use LLM
|
|
112
116
|
```python
|
|
113
|
-
python -m webscout.
|
|
117
|
+
python -m webscout.LLM model_name
|
|
114
118
|
```
|
|
115
119
|
[Go To TOP](#TOP)
|
|
116
120
|
|
|
@@ -261,8 +265,7 @@ This ensures proper resource management and cleanup, as the context manager will
|
|
|
261
265
|
Exceptions:
|
|
262
266
|
- `WebscoutE`: Raised when there is a generic exception during the API request.
|
|
263
267
|
|
|
264
|
-
## usage
|
|
265
|
-
Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
|
|
268
|
+
## usage of webscout
|
|
266
269
|
|
|
267
270
|
### 1. `text()` - text search by DuckDuckGo.com and Yep.com
|
|
268
271
|
|
|
@@ -302,11 +305,10 @@ with WEBS() as WEBS:
|
|
|
302
305
|
region="wt-wt",
|
|
303
306
|
safesearch="off",
|
|
304
307
|
size=None,
|
|
305
|
-
color="Monochrome",
|
|
306
308
|
type_image=None,
|
|
307
309
|
layout=None,
|
|
308
310
|
license_image=None,
|
|
309
|
-
max_results=
|
|
311
|
+
max_results=10,
|
|
310
312
|
)
|
|
311
313
|
for r in WEBS_images_gen:
|
|
312
314
|
print(r)
|
|
@@ -327,7 +329,7 @@ with WEBS() as WEBS:
|
|
|
327
329
|
timelimit="w",
|
|
328
330
|
resolution="high",
|
|
329
331
|
duration="medium",
|
|
330
|
-
max_results=
|
|
332
|
+
max_results=10,
|
|
331
333
|
)
|
|
332
334
|
for r in WEBS_videos_gen:
|
|
333
335
|
print(r)
|
|
@@ -381,15 +383,13 @@ with WEBS() as WEBS:
|
|
|
381
383
|
from webscout import WEBS
|
|
382
384
|
|
|
383
385
|
# Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
|
|
384
|
-
#
|
|
385
|
-
|
|
386
|
-
.com
|
|
387
386
|
with WEBS() as WEBS:
|
|
388
387
|
for r in WEBS.suggestions("fly"):
|
|
389
388
|
print(r)
|
|
390
389
|
```
|
|
390
|
+
## usage of webscout.AI
|
|
391
391
|
|
|
392
|
-
###
|
|
392
|
+
### 1. `PhindSearch` - Search using Phind.com
|
|
393
393
|
Thanks to Empyros for PhindSearch function
|
|
394
394
|
```python
|
|
395
395
|
from webscout.AI import PhindSearch
|
|
@@ -401,7 +401,7 @@ WEBSAI = PhindSearch(query)
|
|
|
401
401
|
|
|
402
402
|
WEBSAI.search()
|
|
403
403
|
```
|
|
404
|
-
###
|
|
404
|
+
### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
|
|
405
405
|
Thanks To Divyansh Shukla for This code
|
|
406
406
|
```python
|
|
407
407
|
from webscout.AI import YepChat
|
|
@@ -421,7 +421,7 @@ if __name__ == "__main__":
|
|
|
421
421
|
main()
|
|
422
422
|
```
|
|
423
423
|
|
|
424
|
-
###
|
|
424
|
+
### 3. `You.com` - search with you.com
|
|
425
425
|
```python
|
|
426
426
|
from webscout.AI import youChat
|
|
427
427
|
|
|
@@ -444,7 +444,7 @@ while True:
|
|
|
444
444
|
print("⚠️ An error occurred:", e)
|
|
445
445
|
```
|
|
446
446
|
|
|
447
|
-
###
|
|
447
|
+
### 4. `Gemini` - search with google gemini
|
|
448
448
|
|
|
449
449
|
```python
|
|
450
450
|
from webscout.AI import Gemini
|
|
@@ -458,7 +458,8 @@ response = gemini.chat("Your message here")
|
|
|
458
458
|
# Print the response from the Gemini assistant
|
|
459
459
|
print(response)
|
|
460
460
|
```
|
|
461
|
-
|
|
461
|
+
## usage of image generator from Webscout.AI
|
|
462
|
+
### 5. `Prodia` - make image using prodia
|
|
462
463
|
```python
|
|
463
464
|
from webscout.AI import Prodia
|
|
464
465
|
|
|
@@ -468,23 +469,40 @@ prompt = "A beautiful sunset over the ocean"
|
|
|
468
469
|
# Use the prodia_cli method to generate an image based on the prompt
|
|
469
470
|
Prodia.prodia_cli(prompt)
|
|
470
471
|
```
|
|
472
|
+
## usage of special .LLM file from webscout (webscout.LLM)
|
|
473
|
+
|
|
474
|
+
### `LLM`
|
|
475
|
+
```python
|
|
476
|
+
from webscout.LLM import LLM
|
|
477
|
+
|
|
478
|
+
def chat(model_name):
|
|
479
|
+
AI = LLM(model_name)
|
|
480
|
+
AI.chat()
|
|
481
|
+
|
|
482
|
+
if __name__ == "__main__":
|
|
483
|
+
model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
|
|
484
|
+
chat(model_name)
|
|
485
|
+
```
|
|
471
486
|
|
|
472
487
|
## Version History
|
|
488
|
+
### v1.1.0
|
|
489
|
+
🌟 Added LLMs as webscout.LLM
|
|
490
|
+
🔧 Resolved issue related to Prodia functionality
|
|
473
491
|
|
|
474
492
|
### v1.0.9
|
|
475
|
-
|
|
476
|
-
|
|
493
|
+
🌌 Added Prodia as an image generator in webscout.AI
|
|
494
|
+
|
|
477
495
|
### v1.0.8
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
496
|
+
🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
|
|
497
|
+
🌟 Gemini function now provides correct outputs without duplication.
|
|
498
|
+
🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
|
|
481
499
|
|
|
482
500
|
### v1.0.7
|
|
483
|
-
|
|
501
|
+
🌟 Added Gemini as part of webscout.AI
|
|
484
502
|
|
|
485
503
|
### v1.0.6
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
504
|
+
🌟 Integrated yep.com as a search engine
|
|
505
|
+
🔧 Resolved error associated with the translation feature
|
|
506
|
+
🌟 Introduced Phind AI within webscout.AI
|
|
507
|
+
🌟 Included YepChat as part of webscout.AI
|
|
508
|
+
🌟 Integrated You.com as part of webscout.AI
|
|
@@ -6,11 +6,12 @@ Also containes AI models that you can use
|
|
|
6
6
|
- [Table of Contents](#table-of-contents)
|
|
7
7
|
- [Install](#install)
|
|
8
8
|
- [CLI version](#cli-version)
|
|
9
|
-
- [CLI version of AI](#cli-version-of-
|
|
9
|
+
- [CLI version of webscout.AI](#cli-version-of-webscoutai)
|
|
10
|
+
- [CLI to use LLM](#cli-to-use-llm)
|
|
10
11
|
- [Regions](#regions)
|
|
11
12
|
- [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
|
|
12
13
|
- [Exceptions](#exceptions)
|
|
13
|
-
- [usage](#usage)
|
|
14
|
+
- [usage of webscout](#usage-of-webscout)
|
|
14
15
|
- [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
|
|
15
16
|
- [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
|
|
16
17
|
- [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
|
|
@@ -19,12 +20,17 @@ Also containes AI models that you can use
|
|
|
19
20
|
- [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
|
|
20
21
|
- [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
|
|
21
22
|
- [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
|
|
22
|
-
|
|
23
|
-
- [
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [
|
|
23
|
+
- [usage of webscout.AI](#usage-of-webscoutai)
|
|
24
|
+
- [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
|
|
25
|
+
- [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
|
|
26
|
+
- [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
|
|
27
|
+
- [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
|
|
28
|
+
- [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
|
|
29
|
+
- [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
|
|
30
|
+
- [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
|
|
31
|
+
- [`LLM`](#llm)
|
|
27
32
|
- [Version History](#version-history)
|
|
33
|
+
- [v1.1.0](#v110)
|
|
28
34
|
- [v1.0.9](#v109)
|
|
29
35
|
- [v1.0.8](#v108)
|
|
30
36
|
- [v1.0.7](#v107)
|
|
@@ -53,26 +59,22 @@ python -m webscout --help
|
|
|
53
59
|
| python -m webscout version | A command-line interface command that prints and returns the version of the program. |
|
|
54
60
|
| python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
|
|
55
61
|
|
|
56
|
-
## CLI version of AI
|
|
62
|
+
## CLI version of webscout.AI
|
|
57
63
|
|
|
58
|
-
```python3
|
|
59
|
-
python -m webscout.AI phindsearch --query "your_query_here"
|
|
60
|
-
```
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
| Command | Description |
|
|
66
|
+
|--------------------------------------------|--------------------------------------------------------------------------------------------------------|
|
|
67
|
+
| `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
|
|
68
|
+
| `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
|
|
69
|
+
| `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
|
|
70
|
+
| `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
|
|
71
|
+
| `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
|
|
65
72
|
|
|
66
|
-
```python
|
|
67
|
-
python -m webscout.AI youchat --prompt "your_prompt_here"
|
|
68
|
-
```
|
|
69
73
|
|
|
70
|
-
```python
|
|
71
|
-
python -m webscout.AI gemini --message "tell me about gemma 7b"
|
|
72
|
-
```
|
|
73
74
|
|
|
75
|
+
## CLI to use LLM
|
|
74
76
|
```python
|
|
75
|
-
python -m webscout.
|
|
77
|
+
python -m webscout.LLM model_name
|
|
76
78
|
```
|
|
77
79
|
[Go To TOP](#TOP)
|
|
78
80
|
|
|
@@ -223,8 +225,7 @@ This ensures proper resource management and cleanup, as the context manager will
|
|
|
223
225
|
Exceptions:
|
|
224
226
|
- `WebscoutE`: Raised when there is a generic exception during the API request.
|
|
225
227
|
|
|
226
|
-
## usage
|
|
227
|
-
Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
|
|
228
|
+
## usage of webscout
|
|
228
229
|
|
|
229
230
|
### 1. `text()` - text search by DuckDuckGo.com and Yep.com
|
|
230
231
|
|
|
@@ -264,11 +265,10 @@ with WEBS() as WEBS:
|
|
|
264
265
|
region="wt-wt",
|
|
265
266
|
safesearch="off",
|
|
266
267
|
size=None,
|
|
267
|
-
color="Monochrome",
|
|
268
268
|
type_image=None,
|
|
269
269
|
layout=None,
|
|
270
270
|
license_image=None,
|
|
271
|
-
max_results=
|
|
271
|
+
max_results=10,
|
|
272
272
|
)
|
|
273
273
|
for r in WEBS_images_gen:
|
|
274
274
|
print(r)
|
|
@@ -289,7 +289,7 @@ with WEBS() as WEBS:
|
|
|
289
289
|
timelimit="w",
|
|
290
290
|
resolution="high",
|
|
291
291
|
duration="medium",
|
|
292
|
-
max_results=
|
|
292
|
+
max_results=10,
|
|
293
293
|
)
|
|
294
294
|
for r in WEBS_videos_gen:
|
|
295
295
|
print(r)
|
|
@@ -343,15 +343,13 @@ with WEBS() as WEBS:
|
|
|
343
343
|
from webscout import WEBS
|
|
344
344
|
|
|
345
345
|
# Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
|
|
346
|
-
#
|
|
347
|
-
|
|
348
|
-
.com
|
|
349
346
|
with WEBS() as WEBS:
|
|
350
347
|
for r in WEBS.suggestions("fly"):
|
|
351
348
|
print(r)
|
|
352
349
|
```
|
|
350
|
+
## usage of webscout.AI
|
|
353
351
|
|
|
354
|
-
###
|
|
352
|
+
### 1. `PhindSearch` - Search using Phind.com
|
|
355
353
|
Thanks to Empyros for PhindSearch function
|
|
356
354
|
```python
|
|
357
355
|
from webscout.AI import PhindSearch
|
|
@@ -363,7 +361,7 @@ WEBSAI = PhindSearch(query)
|
|
|
363
361
|
|
|
364
362
|
WEBSAI.search()
|
|
365
363
|
```
|
|
366
|
-
###
|
|
364
|
+
### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
|
|
367
365
|
Thanks To Divyansh Shukla for This code
|
|
368
366
|
```python
|
|
369
367
|
from webscout.AI import YepChat
|
|
@@ -383,7 +381,7 @@ if __name__ == "__main__":
|
|
|
383
381
|
main()
|
|
384
382
|
```
|
|
385
383
|
|
|
386
|
-
###
|
|
384
|
+
### 3. `You.com` - search with you.com
|
|
387
385
|
```python
|
|
388
386
|
from webscout.AI import youChat
|
|
389
387
|
|
|
@@ -406,7 +404,7 @@ while True:
|
|
|
406
404
|
print("⚠️ An error occurred:", e)
|
|
407
405
|
```
|
|
408
406
|
|
|
409
|
-
###
|
|
407
|
+
### 4. `Gemini` - search with google gemini
|
|
410
408
|
|
|
411
409
|
```python
|
|
412
410
|
from webscout.AI import Gemini
|
|
@@ -420,7 +418,8 @@ response = gemini.chat("Your message here")
|
|
|
420
418
|
# Print the response from the Gemini assistant
|
|
421
419
|
print(response)
|
|
422
420
|
```
|
|
423
|
-
|
|
421
|
+
## usage of image generator from Webscout.AI
|
|
422
|
+
### 5. `Prodia` - make image using prodia
|
|
424
423
|
```python
|
|
425
424
|
from webscout.AI import Prodia
|
|
426
425
|
|
|
@@ -430,23 +429,40 @@ prompt = "A beautiful sunset over the ocean"
|
|
|
430
429
|
# Use the prodia_cli method to generate an image based on the prompt
|
|
431
430
|
Prodia.prodia_cli(prompt)
|
|
432
431
|
```
|
|
432
|
+
## usage of special .LLM file from webscout (webscout.LLM)
|
|
433
|
+
|
|
434
|
+
### `LLM`
|
|
435
|
+
```python
|
|
436
|
+
from webscout.LLM import LLM
|
|
437
|
+
|
|
438
|
+
def chat(model_name):
|
|
439
|
+
AI = LLM(model_name)
|
|
440
|
+
AI.chat()
|
|
441
|
+
|
|
442
|
+
if __name__ == "__main__":
|
|
443
|
+
model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
|
|
444
|
+
chat(model_name)
|
|
445
|
+
```
|
|
433
446
|
|
|
434
447
|
## Version History
|
|
448
|
+
### v1.1.0
|
|
449
|
+
🌟 Added LLMs as webscout.LLM
|
|
450
|
+
🔧 Resolved issue related to Prodia functionality
|
|
435
451
|
|
|
436
452
|
### v1.0.9
|
|
437
|
-
|
|
438
|
-
|
|
453
|
+
🌌 Added Prodia as an image generator in webscout.AI
|
|
454
|
+
|
|
439
455
|
### v1.0.8
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
456
|
+
🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
|
|
457
|
+
🌟 Gemini function now provides correct outputs without duplication.
|
|
458
|
+
🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
|
|
443
459
|
|
|
444
460
|
### v1.0.7
|
|
445
|
-
|
|
461
|
+
🌟 Added Gemini as part of webscout.AI
|
|
446
462
|
|
|
447
463
|
### v1.0.6
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
464
|
+
🌟 Integrated yep.com as a search engine
|
|
465
|
+
🔧 Resolved error associated with the translation feature
|
|
466
|
+
🌟 Introduced Phind AI within webscout.AI
|
|
467
|
+
🌟 Included YepChat as part of webscout.AI
|
|
468
|
+
🌟 Integrated You.com as part of webscout.AI
|
|
@@ -10,7 +10,7 @@ with open("README.md", encoding="utf-8") as f:
|
|
|
10
10
|
|
|
11
11
|
setup(
|
|
12
12
|
name="webscout",
|
|
13
|
-
version="1.
|
|
13
|
+
version="1.1.2", # Use the version variable from the version.py file
|
|
14
14
|
description="Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models",
|
|
15
15
|
long_description=README,
|
|
16
16
|
long_description_content_type="text/markdown",
|
|
@@ -41,6 +41,8 @@ setup(
|
|
|
41
41
|
"webdriver-manager>=3.5.4",
|
|
42
42
|
"halo>=0.0.31",
|
|
43
43
|
"g4f>=0.2.2.3",
|
|
44
|
+
"rich",
|
|
45
|
+
"python-dotenv",
|
|
44
46
|
],
|
|
45
47
|
entry_points={
|
|
46
48
|
"console_scripts": [
|
|
@@ -48,6 +50,7 @@ setup(
|
|
|
48
50
|
"webscout-ai-phindsearch = webscout.AI:phindsearch",
|
|
49
51
|
"webscout-ai-yepchat = webscout.AI:yepchat",
|
|
50
52
|
"webscout-ai = webscout.AI:cli",
|
|
53
|
+
"webscout-llm = webscout.LLM:chat",
|
|
51
54
|
],
|
|
52
55
|
},
|
|
53
56
|
extras_require={
|
|
@@ -44,7 +44,7 @@ class PhindSearch:
|
|
|
44
44
|
|
|
45
45
|
for text in paragraph_texts:
|
|
46
46
|
spinner.stop()
|
|
47
|
-
|
|
47
|
+
return text
|
|
48
48
|
|
|
49
49
|
finally:
|
|
50
50
|
self.driver.quit()
|
|
@@ -193,8 +193,6 @@ class Gemini:
|
|
|
193
193
|
ms = ""
|
|
194
194
|
for message in response:
|
|
195
195
|
ms += message
|
|
196
|
-
print(ms.strip(), end="", flush=True) # Ensure no trailing whitespace is printed
|
|
197
|
-
print()
|
|
198
196
|
self.messages.append({"role": "assistant", "content": ms.strip()}) # Strip whitespace from the message content
|
|
199
197
|
return ms.strip() # Return the message without trailing whitespace
|
|
200
198
|
|
|
@@ -202,7 +200,7 @@ class Gemini:
|
|
|
202
200
|
def chat_cli(message):
|
|
203
201
|
"""Generate completion based on the provided message"""
|
|
204
202
|
gemini = Gemini()
|
|
205
|
-
gemini.chat(message)
|
|
203
|
+
return gemini.chat(message)
|
|
206
204
|
#------------------------------------------------Prodia-------------------------------------------------------------------------
|
|
207
205
|
class Prodia:
|
|
208
206
|
"""
|
|
@@ -267,7 +265,7 @@ class Prodia:
|
|
|
267
265
|
image.show()
|
|
268
266
|
except Exception as e:
|
|
269
267
|
print(f"An error occurred: {e}")
|
|
270
|
-
|
|
268
|
+
#-------------------------------------------------------Pollination--------------------------------------------------------------------------------------
|
|
271
269
|
class Pollinations:
|
|
272
270
|
"""
|
|
273
271
|
This class provides methods for generating images based on prompts.
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
from selenium import webdriver
|
|
3
|
+
from selenium.webdriver.chrome.options import Options
|
|
4
|
+
from selenium.webdriver.common.by import By
|
|
5
|
+
from selenium.common.exceptions import NoSuchElementException
|
|
6
|
+
import time
|
|
7
|
+
import os
|
|
8
|
+
import requests
|
|
9
|
+
from rich import print
|
|
10
|
+
from dotenv import load_dotenv
|
|
11
|
+
import random
|
|
12
|
+
import string
|
|
13
|
+
import json
|
|
14
|
+
from typing import NoReturn, List, Dict, Union
|
|
15
|
+
import requests
|
|
16
|
+
from uuid import uuid4
|
|
17
|
+
from re import findall
|
|
18
|
+
from curl_cffi.requests import get, RequestsError
|
|
19
|
+
import time
|
|
20
|
+
from selenium import webdriver
|
|
21
|
+
from selenium.webdriver.chrome.options import Options
|
|
22
|
+
from selenium.webdriver.common.by import By
|
|
23
|
+
from selenium.webdriver.support import expected_conditions as EC
|
|
24
|
+
from selenium.webdriver.support.ui import WebDriverWait
|
|
25
|
+
from halo import Halo
|
|
26
|
+
|
|
27
|
+
class ChatBot:
|
|
28
|
+
def __init__(self):
|
|
29
|
+
load_dotenv()
|
|
30
|
+
options = Options()
|
|
31
|
+
options.add_argument('--no-sandbox')
|
|
32
|
+
options.add_argument('--headless')
|
|
33
|
+
options.add_argument('--disable-dev-shm-usage')
|
|
34
|
+
options.add_argument("start-maximized")
|
|
35
|
+
options.add_argument("disable-infobars")
|
|
36
|
+
options.add_argument("--disable-extensions")
|
|
37
|
+
options.add_argument("--disable-gpu")
|
|
38
|
+
options.add_argument("--disable-dev-shm-usage")
|
|
39
|
+
options.add_argument('--log-level=3') # Add this line
|
|
40
|
+
warnings.simplefilter("ignore")
|
|
41
|
+
# Initialize WebDriver
|
|
42
|
+
self.driver = webdriver.Chrome(options=options)
|
|
43
|
+
|
|
44
|
+
self.HelpingAI = os.getenv('HELPING_AI_URL')
|
|
45
|
+
# Navigate to the target URL
|
|
46
|
+
self.driver.get(self.HelpingAI)
|
|
47
|
+
time.sleep(7)
|
|
48
|
+
|
|
49
|
+
# Security Bypass: Refresh the page if the title contains 'just a moment'
|
|
50
|
+
while 'just a moment' in self.driver.title.lower():
|
|
51
|
+
self.driver.refresh()
|
|
52
|
+
|
|
53
|
+
# Initialize Chat_Num
|
|
54
|
+
self.Chat_Num = 2
|
|
55
|
+
|
|
56
|
+
# Function to increment Chat_Num
|
|
57
|
+
def increment_chat_num(self):
|
|
58
|
+
self.Chat_Num = str(int(self.Chat_Num) + 1)
|
|
59
|
+
|
|
60
|
+
# Function to send a query and retrieve response
|
|
61
|
+
def send_query(self, query):
|
|
62
|
+
text_box_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/textarea"
|
|
63
|
+
send_button_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/button"
|
|
64
|
+
response_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[2]"
|
|
65
|
+
button_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[1]/div/form/div/div[1]/button"
|
|
66
|
+
|
|
67
|
+
# Find the text box, enter query, and click send
|
|
68
|
+
text_box = self.driver.find_element(by=By.XPATH, value=text_box_xpath)
|
|
69
|
+
text_box.clear()
|
|
70
|
+
text_box.send_keys(query)
|
|
71
|
+
time.sleep(0.25) # Pause for 1 second after typing query
|
|
72
|
+
|
|
73
|
+
send_button = self.driver.find_element(by=By.XPATH, value=send_button_xpath)
|
|
74
|
+
send_button.click()
|
|
75
|
+
|
|
76
|
+
# Continuously check for the presence of the button every second
|
|
77
|
+
while True:
|
|
78
|
+
try:
|
|
79
|
+
button = self.driver.find_element(by=By.XPATH, value=button_xpath)
|
|
80
|
+
# If the button is found, retrieve and print the response
|
|
81
|
+
response = self.driver.find_element(by=By.XPATH, value=response_xpath).text
|
|
82
|
+
print("🤖:", response)
|
|
83
|
+
break
|
|
84
|
+
except NoSuchElementException:
|
|
85
|
+
time.sleep(0.25) # If the button is not found, wait for 1 second before checking again
|
|
86
|
+
|
|
87
|
+
self.increment_chat_num()
|
|
88
|
+
|
|
89
|
+
# Function to ask the user for a query, send it, and print the response
|
|
90
|
+
def query_chat(self):
|
|
91
|
+
while True:
|
|
92
|
+
query = input("🧑: ")
|
|
93
|
+
if query.lower() == 'exit':
|
|
94
|
+
break
|
|
95
|
+
|
|
96
|
+
self.send_query(query)
|
|
97
|
+
time.sleep(0.25) # Pause for 1 second before asking for the next query
|
|
98
|
+
|
|
99
|
+
# Close the browser window
|
|
100
|
+
def close(self):
|
|
101
|
+
self.driver.quit()
|
|
102
|
+
|
|
103
|
+
class WEBS:
|
|
104
|
+
def __init__(self):
|
|
105
|
+
load_dotenv()
|
|
106
|
+
options = Options()
|
|
107
|
+
options.add_argument('--no-sandbox')
|
|
108
|
+
options.add_argument('--headless')
|
|
109
|
+
options.add_argument('--disable-dev-shm-usage')
|
|
110
|
+
options.add_argument("start-maximized")
|
|
111
|
+
options.add_argument("disable-infobars")
|
|
112
|
+
options.add_argument("--disable-extensions")
|
|
113
|
+
options.add_argument("--disable-gpu")
|
|
114
|
+
options.add_argument("--disable-dev-shm-usage")
|
|
115
|
+
options.add_argument('--log-level=3')
|
|
116
|
+
warnings.simplefilter("ignore")
|
|
117
|
+
# Initialize WebDriver without specifying the path to the driver
|
|
118
|
+
self.driver = webdriver.Chrome(options=options)
|
|
119
|
+
|
|
120
|
+
self.HelpingAI = os.getenv('HELPING_AI_URL')
|
|
121
|
+
# Navigate to the target URL
|
|
122
|
+
self.driver.get(self.HelpingAI)
|
|
123
|
+
time.sleep(7)
|
|
124
|
+
|
|
125
|
+
# Security Bypass: Refresh the page if the title contains 'just a moment'
|
|
126
|
+
while 'just a moment' in self.driver.title.lower():
|
|
127
|
+
self.driver.refresh()
|
|
128
|
+
|
|
129
|
+
# Initialize Chat_Num
|
|
130
|
+
self.Chat_Num = 2
|
|
131
|
+
|
|
132
|
+
# Function to increment Chat_Num
|
|
133
|
+
def increment_chat_num(self):
|
|
134
|
+
self.Chat_Num = str(int(self.Chat_Num) + 1)
|
|
135
|
+
|
|
136
|
+
# Function to send a query and retrieve response
|
|
137
|
+
def send_query(self, prompt):
|
|
138
|
+
text_box_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/textarea"
|
|
139
|
+
send_button_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/button"
|
|
140
|
+
response_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[2]"
|
|
141
|
+
button_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[1]/div/form/div/div[1]/button"
|
|
142
|
+
|
|
143
|
+
# Find the text box, enter prompt, and click send
|
|
144
|
+
text_box = self.driver.find_element(by=By.XPATH, value=text_box_xpath)
|
|
145
|
+
text_box.clear()
|
|
146
|
+
text_box.send_keys(prompt)
|
|
147
|
+
time.sleep(1) # Pause for 1 second after typing prompt
|
|
148
|
+
|
|
149
|
+
send_button = self.driver.find_element(by=By.XPATH, value=send_button_xpath)
|
|
150
|
+
send_button.click()
|
|
151
|
+
|
|
152
|
+
# Continuously check for the presence of the button every second
|
|
153
|
+
while True:
|
|
154
|
+
try:
|
|
155
|
+
button = self.driver.find_element(by=By.XPATH, value=button_xpath)
|
|
156
|
+
# If the button is found, retrieve and print the response
|
|
157
|
+
response = self.driver.find_element(by=By.XPATH, value=response_xpath).text
|
|
158
|
+
print("🤖:", response)
|
|
159
|
+
break
|
|
160
|
+
except NoSuchElementException:
|
|
161
|
+
time.sleep(0.25) # If the button is not found, wait for 1 second before checking again
|
|
162
|
+
|
|
163
|
+
self.increment_chat_num()
|
|
164
|
+
|
|
165
|
+
# Function to perform web search
|
|
166
|
+
def web_search(self, query):
|
|
167
|
+
url = os.getenv('WEB_SEARCH_URL')
|
|
168
|
+
payload = {"query": query}
|
|
169
|
+
response = requests.post(url, json=payload)
|
|
170
|
+
|
|
171
|
+
if response.status_code == 200:
|
|
172
|
+
return response.json()
|
|
173
|
+
else:
|
|
174
|
+
print("Error:", response.status_code)
|
|
175
|
+
|
|
176
|
+
# Function to ask the user for a prompt, send it, and print the response
|
|
177
|
+
def query_chat(self):
|
|
178
|
+
while True:
|
|
179
|
+
prompt = input("🧑: ")
|
|
180
|
+
if prompt.lower() == 'exit':
|
|
181
|
+
break
|
|
182
|
+
|
|
183
|
+
# Perform web search
|
|
184
|
+
search_results = self.web_search(prompt)
|
|
185
|
+
|
|
186
|
+
# Pass the search results and the prompt to the AI
|
|
187
|
+
self.send_query(f"users question:{prompt} web search results: {search_results} Answer in HelpingAI style**note you have internet access and only use search_results when necessary also dont give links or urls (when users is asking something that needs realtime data)**")
|
|
188
|
+
time.sleep(0.25) # Pause for 1 second before asking for the next prompt
|
|
189
|
+
|
|
190
|
+
# Close the browser window
|
|
191
|
+
def close(self):
|
|
192
|
+
self.driver.quit()
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
import requests
|
|
3
|
+
import json
|
|
4
|
+
from typing import List, Dict, Union
|
|
5
|
+
|
|
6
|
+
class LLM:
|
|
7
|
+
def __init__(self, model: str):
|
|
8
|
+
self.model = model
|
|
9
|
+
self.conversation_history = [{"role": "system", "content": "You are a Helpful AI."}]
|
|
10
|
+
|
|
11
|
+
def mistral_chat(self, messages: List[Dict[str, str]]) -> Union[str, None]:
|
|
12
|
+
url = "https://api.deepinfra.com/v1/openai/chat/completions"
|
|
13
|
+
headers = {
|
|
14
|
+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
|
|
15
|
+
'Accept-Language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
|
|
16
|
+
'Cache-Control': 'no-cache',
|
|
17
|
+
'Connection': 'keep-alive',
|
|
18
|
+
'Content-Type': 'application/json',
|
|
19
|
+
'Origin': 'https://deepinfra.com',
|
|
20
|
+
'Pragma': 'no-cache',
|
|
21
|
+
'Referer': 'https://deepinfra.com/',
|
|
22
|
+
'Sec-Fetch-Dest': 'empty',
|
|
23
|
+
'Sec-Fetch-Mode': 'cors',
|
|
24
|
+
'Sec-Fetch-Site': 'same-site',
|
|
25
|
+
'X-Deepinfra-Source': 'web-embed',
|
|
26
|
+
'accept': 'text/event-stream',
|
|
27
|
+
'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
|
|
28
|
+
'sec-ch-ua-mobile': '?0',
|
|
29
|
+
'sec-ch-ua-platform': '"macOS"'
|
|
30
|
+
}
|
|
31
|
+
data = json.dumps(
|
|
32
|
+
{
|
|
33
|
+
'model': self.model,
|
|
34
|
+
'messages': messages,
|
|
35
|
+
'temperature': 0.7,
|
|
36
|
+
'max_tokens': 4028,
|
|
37
|
+
'stop': [],
|
|
38
|
+
'stream': False
|
|
39
|
+
}, separators=(',', ':')
|
|
40
|
+
)
|
|
41
|
+
try:
|
|
42
|
+
result = requests.post(url=url, data=data, headers=headers)
|
|
43
|
+
return result.json()['choices'][0]['message']['content']
|
|
44
|
+
except:
|
|
45
|
+
return None
|
|
46
|
+
|
|
47
|
+
def chat(self):
|
|
48
|
+
while True:
|
|
49
|
+
prompt = input("👦: ")
|
|
50
|
+
user_message = {"role": "user", "content": prompt}
|
|
51
|
+
self.conversation_history.append(user_message)
|
|
52
|
+
try:
|
|
53
|
+
resp = self.mistral_chat(self.conversation_history)
|
|
54
|
+
print(f"🤖: {resp}")
|
|
55
|
+
self.conversation_history.append({"role": "assistant", "content": resp})
|
|
56
|
+
except Exception as e:
|
|
57
|
+
print(f"🤖: Oops, something went wrong: {e}! Looks like even AI needs some oiling sometimes.")
|
|
58
|
+
|
|
59
|
+
if __name__ == "__main__":
|
|
60
|
+
parser = argparse.ArgumentParser(description='LLM CLI', epilog='To use a specific model, run:\n'
|
|
61
|
+
'python -m webscout.LLM model_name\n'
|
|
62
|
+
'Replace "model_name" with the name of the model you wish to use It supports ALL text generation models on deepinfra.com.')
|
|
63
|
+
parser.add_argument('model', type=str, help='Model to use for text generation. Specify the full model name, e.g., "mistralai/Mistral-7B-Instruct-v0.1".')
|
|
64
|
+
args = parser.parse_args()
|
|
65
|
+
|
|
66
|
+
LLM = LLM(args.model)
|
|
67
|
+
LLM.chat()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models
|
|
5
5
|
Author: OEvortex
|
|
6
6
|
Author-email: helpingai5@gmail.com
|
|
@@ -32,6 +32,8 @@ Requires-Dist: tqdm>=4.64.0
|
|
|
32
32
|
Requires-Dist: webdriver-manager>=3.5.4
|
|
33
33
|
Requires-Dist: halo>=0.0.31
|
|
34
34
|
Requires-Dist: g4f>=0.2.2.3
|
|
35
|
+
Requires-Dist: rich
|
|
36
|
+
Requires-Dist: python-dotenv
|
|
35
37
|
Provides-Extra: dev
|
|
36
38
|
Requires-Dist: ruff>=0.1.6; extra == "dev"
|
|
37
39
|
Requires-Dist: pytest>=7.4.2; extra == "dev"
|
|
@@ -44,11 +46,12 @@ Also containes AI models that you can use
|
|
|
44
46
|
- [Table of Contents](#table-of-contents)
|
|
45
47
|
- [Install](#install)
|
|
46
48
|
- [CLI version](#cli-version)
|
|
47
|
-
- [CLI version of AI](#cli-version-of-
|
|
49
|
+
- [CLI version of webscout.AI](#cli-version-of-webscoutai)
|
|
50
|
+
- [CLI to use LLM](#cli-to-use-llm)
|
|
48
51
|
- [Regions](#regions)
|
|
49
52
|
- [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
|
|
50
53
|
- [Exceptions](#exceptions)
|
|
51
|
-
- [usage](#usage)
|
|
54
|
+
- [usage of webscout](#usage-of-webscout)
|
|
52
55
|
- [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
|
|
53
56
|
- [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
|
|
54
57
|
- [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
|
|
@@ -57,12 +60,17 @@ Also containes AI models that you can use
|
|
|
57
60
|
- [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
|
|
58
61
|
- [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
|
|
59
62
|
- [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
|
|
60
|
-
|
|
61
|
-
- [
|
|
62
|
-
- [
|
|
63
|
-
- [
|
|
64
|
-
- [
|
|
63
|
+
- [usage of webscout.AI](#usage-of-webscoutai)
|
|
64
|
+
- [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
|
|
65
|
+
- [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
|
|
66
|
+
- [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
|
|
67
|
+
- [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
|
|
68
|
+
- [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
|
|
69
|
+
- [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
|
|
70
|
+
- [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
|
|
71
|
+
- [`LLM`](#llm)
|
|
65
72
|
- [Version History](#version-history)
|
|
73
|
+
- [v1.1.0](#v110)
|
|
66
74
|
- [v1.0.9](#v109)
|
|
67
75
|
- [v1.0.8](#v108)
|
|
68
76
|
- [v1.0.7](#v107)
|
|
@@ -91,26 +99,22 @@ python -m webscout --help
|
|
|
91
99
|
| python -m webscout version | A command-line interface command that prints and returns the version of the program. |
|
|
92
100
|
| python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
|
|
93
101
|
|
|
94
|
-
## CLI version of AI
|
|
102
|
+
## CLI version of webscout.AI
|
|
95
103
|
|
|
96
|
-
```python3
|
|
97
|
-
python -m webscout.AI phindsearch --query "your_query_here"
|
|
98
|
-
```
|
|
99
104
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
| Command | Description |
|
|
106
|
+
|--------------------------------------------|--------------------------------------------------------------------------------------------------------|
|
|
107
|
+
| `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
|
|
108
|
+
| `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
|
|
109
|
+
| `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
|
|
110
|
+
| `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
|
|
111
|
+
| `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
|
|
103
112
|
|
|
104
|
-
```python
|
|
105
|
-
python -m webscout.AI youchat --prompt "your_prompt_here"
|
|
106
|
-
```
|
|
107
113
|
|
|
108
|
-
```python
|
|
109
|
-
python -m webscout.AI gemini --message "tell me about gemma 7b"
|
|
110
|
-
```
|
|
111
114
|
|
|
115
|
+
## CLI to use LLM
|
|
112
116
|
```python
|
|
113
|
-
python -m webscout.
|
|
117
|
+
python -m webscout.LLM model_name
|
|
114
118
|
```
|
|
115
119
|
[Go To TOP](#TOP)
|
|
116
120
|
|
|
@@ -261,8 +265,7 @@ This ensures proper resource management and cleanup, as the context manager will
|
|
|
261
265
|
Exceptions:
|
|
262
266
|
- `WebscoutE`: Raised when there is a generic exception during the API request.
|
|
263
267
|
|
|
264
|
-
## usage
|
|
265
|
-
Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
|
|
268
|
+
## usage of webscout
|
|
266
269
|
|
|
267
270
|
### 1. `text()` - text search by DuckDuckGo.com and Yep.com
|
|
268
271
|
|
|
@@ -302,11 +305,10 @@ with WEBS() as WEBS:
|
|
|
302
305
|
region="wt-wt",
|
|
303
306
|
safesearch="off",
|
|
304
307
|
size=None,
|
|
305
|
-
color="Monochrome",
|
|
306
308
|
type_image=None,
|
|
307
309
|
layout=None,
|
|
308
310
|
license_image=None,
|
|
309
|
-
max_results=
|
|
311
|
+
max_results=10,
|
|
310
312
|
)
|
|
311
313
|
for r in WEBS_images_gen:
|
|
312
314
|
print(r)
|
|
@@ -327,7 +329,7 @@ with WEBS() as WEBS:
|
|
|
327
329
|
timelimit="w",
|
|
328
330
|
resolution="high",
|
|
329
331
|
duration="medium",
|
|
330
|
-
max_results=
|
|
332
|
+
max_results=10,
|
|
331
333
|
)
|
|
332
334
|
for r in WEBS_videos_gen:
|
|
333
335
|
print(r)
|
|
@@ -381,15 +383,13 @@ with WEBS() as WEBS:
|
|
|
381
383
|
from webscout import WEBS
|
|
382
384
|
|
|
383
385
|
# Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
|
|
384
|
-
#
|
|
385
|
-
|
|
386
|
-
.com
|
|
387
386
|
with WEBS() as WEBS:
|
|
388
387
|
for r in WEBS.suggestions("fly"):
|
|
389
388
|
print(r)
|
|
390
389
|
```
|
|
390
|
+
## usage of webscout.AI
|
|
391
391
|
|
|
392
|
-
###
|
|
392
|
+
### 1. `PhindSearch` - Search using Phind.com
|
|
393
393
|
Thanks to Empyros for PhindSearch function
|
|
394
394
|
```python
|
|
395
395
|
from webscout.AI import PhindSearch
|
|
@@ -401,7 +401,7 @@ WEBSAI = PhindSearch(query)
|
|
|
401
401
|
|
|
402
402
|
WEBSAI.search()
|
|
403
403
|
```
|
|
404
|
-
###
|
|
404
|
+
### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
|
|
405
405
|
Thanks To Divyansh Shukla for This code
|
|
406
406
|
```python
|
|
407
407
|
from webscout.AI import YepChat
|
|
@@ -421,7 +421,7 @@ if __name__ == "__main__":
|
|
|
421
421
|
main()
|
|
422
422
|
```
|
|
423
423
|
|
|
424
|
-
###
|
|
424
|
+
### 3. `You.com` - search with you.com
|
|
425
425
|
```python
|
|
426
426
|
from webscout.AI import youChat
|
|
427
427
|
|
|
@@ -444,7 +444,7 @@ while True:
|
|
|
444
444
|
print("⚠️ An error occurred:", e)
|
|
445
445
|
```
|
|
446
446
|
|
|
447
|
-
###
|
|
447
|
+
### 4. `Gemini` - search with google gemini
|
|
448
448
|
|
|
449
449
|
```python
|
|
450
450
|
from webscout.AI import Gemini
|
|
@@ -458,7 +458,8 @@ response = gemini.chat("Your message here")
|
|
|
458
458
|
# Print the response from the Gemini assistant
|
|
459
459
|
print(response)
|
|
460
460
|
```
|
|
461
|
-
|
|
461
|
+
## usage of image generator from Webscout.AI
|
|
462
|
+
### 5. `Prodia` - make image using prodia
|
|
462
463
|
```python
|
|
463
464
|
from webscout.AI import Prodia
|
|
464
465
|
|
|
@@ -468,23 +469,40 @@ prompt = "A beautiful sunset over the ocean"
|
|
|
468
469
|
# Use the prodia_cli method to generate an image based on the prompt
|
|
469
470
|
Prodia.prodia_cli(prompt)
|
|
470
471
|
```
|
|
472
|
+
## usage of special .LLM file from webscout (webscout.LLM)
|
|
473
|
+
|
|
474
|
+
### `LLM`
|
|
475
|
+
```python
|
|
476
|
+
from webscout.LLM import LLM
|
|
477
|
+
|
|
478
|
+
def chat(model_name):
|
|
479
|
+
AI = LLM(model_name)
|
|
480
|
+
AI.chat()
|
|
481
|
+
|
|
482
|
+
if __name__ == "__main__":
|
|
483
|
+
model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
|
|
484
|
+
chat(model_name)
|
|
485
|
+
```
|
|
471
486
|
|
|
472
487
|
## Version History
|
|
488
|
+
### v1.1.0
|
|
489
|
+
🌟 Added LLMs as webscout.LLM
|
|
490
|
+
🔧 Resolved issue related to Prodia functionality
|
|
473
491
|
|
|
474
492
|
### v1.0.9
|
|
475
|
-
|
|
476
|
-
|
|
493
|
+
🌌 Added Prodia as an image generator in webscout.AI
|
|
494
|
+
|
|
477
495
|
### v1.0.8
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
496
|
+
🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
|
|
497
|
+
🌟 Gemini function now provides correct outputs without duplication.
|
|
498
|
+
🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
|
|
481
499
|
|
|
482
500
|
### v1.0.7
|
|
483
|
-
|
|
501
|
+
🌟 Added Gemini as part of webscout.AI
|
|
484
502
|
|
|
485
503
|
### v1.0.6
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
504
|
+
🌟 Integrated yep.com as a search engine
|
|
505
|
+
🔧 Resolved error associated with the translation feature
|
|
506
|
+
🌟 Introduced Phind AI within webscout.AI
|
|
507
|
+
🌟 Included YepChat as part of webscout.AI
|
|
508
|
+
🌟 Integrated You.com as part of webscout.AI
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.0.9"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|