hjxdl 0.2.83__py3-none-any.whl → 0.2.88__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.
- hdl/_version.py +2 -2
- hdl/utils/llm/chat.py +31 -16
- hdl/utils/llm/vis.py +22 -6
- {hjxdl-0.2.83.dist-info → hjxdl-0.2.88.dist-info}/METADATA +1 -1
- {hjxdl-0.2.83.dist-info → hjxdl-0.2.88.dist-info}/RECORD +7 -7
- {hjxdl-0.2.83.dist-info → hjxdl-0.2.88.dist-info}/WHEEL +0 -0
- {hjxdl-0.2.83.dist-info → hjxdl-0.2.88.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/llm/chat.py
CHANGED
@@ -10,8 +10,8 @@ import re
|
|
10
10
|
from openai import OpenAI
|
11
11
|
from ..desc.template import FN_TEMPLATE, COT_TEMPLATE, OD_TEMPLATE
|
12
12
|
from ..desc.func_desc import TOOL_DESC
|
13
|
-
from .vis import draw_and_plot_boxes_from_json
|
14
|
-
import json
|
13
|
+
from .vis import draw_and_plot_boxes_from_json, to_img
|
14
|
+
# import json
|
15
15
|
# import traceback
|
16
16
|
|
17
17
|
def parse_fn_markdown(markdown_text, params_key="params"):
|
@@ -576,23 +576,38 @@ class OpenAI_M():
|
|
576
576
|
|
577
577
|
def od(
|
578
578
|
self,
|
579
|
-
|
580
|
-
save_path=None
|
579
|
+
image,
|
581
580
|
):
|
581
|
+
"""
|
582
|
+
Perform object detection on the given image.
|
583
|
+
Args:
|
584
|
+
image_path (str): The path to the image file on which to perform object detection.
|
585
|
+
Returns:
|
586
|
+
str: A JSON string containing the results of the object detection.
|
587
|
+
"""
|
588
|
+
if isinstance(image, str):
|
589
|
+
image = to_img(image)
|
582
590
|
json_str = self.invoke(
|
583
|
-
prompt=
|
584
|
-
|
585
|
-
[
|
586
|
-
{
|
587
|
-
"object": "object_name",
|
588
|
-
"bboxes": [[xmin, ymin, xmax, ymax], [xmin, ymin, xmax, ymax], ...]
|
589
|
-
},
|
590
|
-
...
|
591
|
-
]
|
592
|
-
""",
|
593
|
-
images="https://air-example-data-2.s3.us-west-2.amazonaws.com/vllm_opensource_llava/stop_sign.jpg",
|
591
|
+
prompt=self.od_desc,
|
592
|
+
images=[image]
|
594
593
|
)
|
595
|
-
|
594
|
+
return json_str
|
595
|
+
|
596
|
+
def od_v(
|
597
|
+
self,
|
598
|
+
image,
|
599
|
+
save_path,
|
600
|
+
):
|
601
|
+
"""
|
602
|
+
Perform object detection on an image and save the result.
|
603
|
+
Args:
|
604
|
+
image_path (str): The path to the input image.
|
605
|
+
save_path (str): The path to save the output image with detected objects.
|
606
|
+
Returns:
|
607
|
+
tuple: A tuple containing the processed image and the save path.
|
608
|
+
"""
|
609
|
+
json_str = self.od(image)
|
610
|
+
img = draw_and_plot_boxes_from_json(json_str, image, save_path)
|
596
611
|
return img, save_path
|
597
612
|
|
598
613
|
|
hdl/utils/llm/vis.py
CHANGED
@@ -29,6 +29,21 @@ from redis.commands.search.query import Query
|
|
29
29
|
|
30
30
|
HF_HUB_PREFIX = "hf-hub:"
|
31
31
|
|
32
|
+
def to_img(img_str):
|
33
|
+
if img_str.startswith("data:image"):
|
34
|
+
img = imgbase64_to_pilimg(img_str)
|
35
|
+
elif img_str.startswith("http"):
|
36
|
+
response = requests.get(img_str)
|
37
|
+
if response.status_code == 200:
|
38
|
+
# Read the image content from the response
|
39
|
+
img_data = response.content
|
40
|
+
|
41
|
+
# Load the image using PIL to determine its format
|
42
|
+
img = Image.open(BytesIO(img_data))
|
43
|
+
elif Path(img_str).is_file():
|
44
|
+
img = Image.open(img_str)
|
45
|
+
return img
|
46
|
+
|
32
47
|
|
33
48
|
def imgurl_to_base64(image_url: str):
|
34
49
|
"""Converts an image from a URL to base64 format.
|
@@ -127,7 +142,7 @@ def pilimg_to_base64(pilimg):
|
|
127
142
|
|
128
143
|
def draw_and_plot_boxes_from_json(
|
129
144
|
json_data,
|
130
|
-
|
145
|
+
image,
|
131
146
|
save_path=None
|
132
147
|
):
|
133
148
|
"""
|
@@ -157,11 +172,12 @@ def draw_and_plot_boxes_from_json(
|
|
157
172
|
data = json_data
|
158
173
|
|
159
174
|
# Open the image
|
160
|
-
try:
|
161
|
-
|
162
|
-
except FileNotFoundError:
|
163
|
-
|
164
|
-
|
175
|
+
# try:
|
176
|
+
# img = Image.open(image_path)
|
177
|
+
# except FileNotFoundError:
|
178
|
+
# print(f"Image file not found at {image_path}. Please check the path.")
|
179
|
+
# return None
|
180
|
+
img = image
|
165
181
|
|
166
182
|
draw = ImageDraw.Draw(img)
|
167
183
|
width, height = img.size
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=gmIfdIg5gEvfMxffRlk3KF_G7qsO5gyiwsJ6wEhCrTk,413
|
3
3
|
hdl/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
hdl/args/loss_args.py,sha256=s7YzSdd7IjD24rZvvOrxLLFqMZQb9YylxKeyelSdrTk,70
|
5
5
|
hdl/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -128,18 +128,18 @@ hdl/utils/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
128
128
|
hdl/utils/general/glob.py,sha256=Zuf7WHU0UdUPOs9UrhxmrCiMC8GrHxQU6n3mTThv6yc,1120
|
129
129
|
hdl/utils/general/runners.py,sha256=x7QBolp3MrqNV6L4rB6Ueybr26bqkRFZTuXhY0SwyLk,3061
|
130
130
|
hdl/utils/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
131
|
-
hdl/utils/llm/chat.py,sha256=
|
131
|
+
hdl/utils/llm/chat.py,sha256=B0OSX2Yc4OZUwRu-aHnZOW-knTeDqlzCP_UqlgnhMKA,24476
|
132
132
|
hdl/utils/llm/chatgr.py,sha256=5F5PJHe8vz3iCfi4TT54DCLRi1UeJshECdVtgvvvao0,3696
|
133
133
|
hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
|
134
134
|
hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
|
135
135
|
hdl/utils/llm/llama_chat.py,sha256=watcHGOaz-bv3x-yDucYlGk5f8FiqfFhwWogrl334fk,4387
|
136
|
-
hdl/utils/llm/vis.py,sha256=
|
136
|
+
hdl/utils/llm/vis.py,sha256=fuXdEFfUpW4KR7TKmIBEuMmo3ZdZxfd79a_qfTM0tPk,24739
|
137
137
|
hdl/utils/llm/visrag.py,sha256=0i-VrxqgiV-J7R3VPshu9oc7-rKjFJOldYik3HDXj6M,10176
|
138
138
|
hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
139
|
hdl/utils/schedulers/norm_lr.py,sha256=bDwCmdEK-WkgxQMFBiMuchv8Mm7C0-GZJ6usm-PQk14,4461
|
140
140
|
hdl/utils/weather/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
141
|
hdl/utils/weather/weather.py,sha256=k11o6wM15kF8b9NMlEfrg68ak-SfSYLN3nOOflFUv-I,4381
|
142
|
-
hjxdl-0.2.
|
143
|
-
hjxdl-0.2.
|
144
|
-
hjxdl-0.2.
|
145
|
-
hjxdl-0.2.
|
142
|
+
hjxdl-0.2.88.dist-info/METADATA,sha256=jAJxvM6YypO5nHnLRSe8Zhi8QwOlvmsfMFi8H9IjeVg,836
|
143
|
+
hjxdl-0.2.88.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
144
|
+
hjxdl-0.2.88.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
145
|
+
hjxdl-0.2.88.dist-info/RECORD,,
|
File without changes
|
File without changes
|