hjxdl 0.2.86__py3-none-any.whl → 0.2.87__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 CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.2.86'
16
- __version_tuple__ = version_tuple = (0, 2, 86)
15
+ __version__ = version = '0.2.87'
16
+ __version_tuple__ = version_tuple = (0, 2, 87)
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,7 +576,7 @@ class OpenAI_M():
576
576
 
577
577
  def od(
578
578
  self,
579
- image_path,
579
+ image,
580
580
  ):
581
581
  """
582
582
  Perform object detection on the given image.
@@ -585,15 +585,17 @@ class OpenAI_M():
585
585
  Returns:
586
586
  str: A JSON string containing the results of the object detection.
587
587
  """
588
+ if isinstance(image, str):
589
+ image = to_img(image)
588
590
  json_str = self.invoke(
589
591
  prompt=self.od_desc,
590
- images=image_path,
592
+ images=image,
591
593
  )
592
594
  return json_str
593
595
 
594
596
  def od_v(
595
597
  self,
596
- image_path,
598
+ image,
597
599
  save_path,
598
600
  ):
599
601
  """
@@ -604,12 +606,11 @@ class OpenAI_M():
604
606
  Returns:
605
607
  tuple: A tuple containing the processed image and the save path.
606
608
  """
607
- json_str = self.od(image_path)
608
- img = draw_and_plot_boxes_from_json(json_str, image_path, save_path)
609
+ json_str = self.od(image)
610
+ img = draw_and_plot_boxes_from_json(json_str, image, save_path)
609
611
  return img, save_path
610
612
 
611
613
 
612
-
613
614
  class MMChatter():
614
615
  def __init__(
615
616
  self,
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
- image_path,
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
- img = Image.open(image_path)
162
- except FileNotFoundError:
163
- print(f"Image file not found at {image_path}. Please check the path.")
164
- return None
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hjxdl
3
- Version: 0.2.86
3
+ Version: 0.2.87
4
4
  Summary: A collection of functions for Jupyter notebooks
5
5
  Home-page: https://github.com/huluxiaohuowa/hdl
6
6
  Author: Jianxing Hu
@@ -1,5 +1,5 @@
1
1
  hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
2
- hdl/_version.py,sha256=ctuAY4SA6RbniXWB0arHRsoS9WridMkUjxgK51gb0_k,413
2
+ hdl/_version.py,sha256=-EqlO_Q2DeGj4KRTSqXd3-iZhbsh0WnP4M1zMqep9KY,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=vwUlBWnpFXMkNeFZFhMU2soJMJ2sSYuLBxWdcF7Nwn8,24422
131
+ hdl/utils/llm/chat.py,sha256=1KP3n1idJnbWJ9MscqnepkaX3f1gKfYsnCBdWzACQQE,24475
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=JPil4gJ-n-awv_EjNIjOwG9Gc89lsqTojV58_66U0_A,24204
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.86.dist-info/METADATA,sha256=gVHFWKNOu3_tkIION0mjlgFKpiaLpIc6ebmVAl7k6R4,836
143
- hjxdl-0.2.86.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
144
- hjxdl-0.2.86.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
145
- hjxdl-0.2.86.dist-info/RECORD,,
142
+ hjxdl-0.2.87.dist-info/METADATA,sha256=d5lsVGayR4BQTMLM_P6CBNfm_WP1az1UhZt_CUjkS3Q,836
143
+ hjxdl-0.2.87.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
144
+ hjxdl-0.2.87.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
145
+ hjxdl-0.2.87.dist-info/RECORD,,
File without changes