Spaces:
Sleeping
Sleeping
- Hopefully this fixes it
Browse files
app.py
CHANGED
@@ -6,20 +6,27 @@ import yaml
|
|
6 |
from tools.final_answer import FinalAnswerTool
|
7 |
import numpy as np
|
8 |
from Gradio_UI import GradioUI
|
9 |
-
|
|
|
10 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|
11 |
@tool
|
12 |
-
def get_animal_image(animal_name:str)->
|
13 |
#Keep this format for the description / args / args description but feel free to modify the tool
|
14 |
"""A tool that gets a random animal image from the internet and returns an image as numpy array
|
15 |
Args:
|
16 |
animal_name: the animal name
|
17 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
#get the image from the internet
|
19 |
-
|
20 |
-
#
|
21 |
-
response = requests.get(image_url)
|
22 |
-
#return the image as base64 string
|
23 |
return np.array(response.content)
|
24 |
|
25 |
@tool
|
|
|
6 |
from tools.final_answer import FinalAnswerTool
|
7 |
import numpy as np
|
8 |
from Gradio_UI import GradioUI
|
9 |
+
from bs4 import BeautifulSoup
|
10 |
+
import random
|
11 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|
12 |
@tool
|
13 |
+
def get_animal_image(animal_name:str)-> np.ndarray: #it's import to specify the return type
|
14 |
#Keep this format for the description / args / args description but feel free to modify the tool
|
15 |
"""A tool that gets a random animal image from the internet and returns an image as numpy array
|
16 |
Args:
|
17 |
animal_name: the animal name
|
18 |
"""
|
19 |
+
# search for the animal name on the internet in images search
|
20 |
+
search_url = f"https://www.google.com/search?q={animal_name}&tbm=isch"
|
21 |
+
#get the image from the internet
|
22 |
+
response = requests.get(search_url)
|
23 |
+
#parse the html
|
24 |
+
soup = BeautifulSoup(response.text, 'html.parser')
|
25 |
+
# select a random image from the search results
|
26 |
+
image_url = random.choice(soup.find_all('img'))['src']
|
27 |
#get the image from the internet
|
28 |
+
response = requests.get(image_url)
|
29 |
+
#return the image as numpy array
|
|
|
|
|
30 |
return np.array(response.content)
|
31 |
|
32 |
@tool
|