hjxdl 0.2.78__py3-none-any.whl → 0.2.80__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.78'
16
- __version_tuple__ = version_tuple = (0, 2, 78)
15
+ __version__ = version = '0.2.80'
16
+ __version_tuple__ = version_tuple = (0, 2, 80)
hdl/utils/llm/chat.py CHANGED
@@ -53,16 +53,20 @@ def parse_fn_markdown(markdown_text, params_key="params"):
53
53
  return result
54
54
 
55
55
  def parse_cot_markdown(markdown_text):
56
- # 使用正则提取各部分内容,支持跨行提取
57
- title_match = re.search(r"##\s*(.+?)(?:\n|$)", markdown_text, re.DOTALL)
58
- tool_match = re.search(r"-\s*tool\s*[::]\s*(.+?)(?:\n|$)", markdown_text, re.DOTALL)
59
- content_match = re.search(r"-\s*content\s*[::]\s*(.+?)(?:\n|$)", markdown_text, re.DOTALL)
60
- stop_thinking_match = re.search(r"-\s*stop_thinking\s*[::]\s*(.+?)(?:\n|$)", markdown_text, re.DOTALL)
61
-
62
- # 提取匹配结果并清理多余的空白字符
56
+ # 提取标题(支持跨行)
57
+ title_match = re.search(r"##\s*(.+?)(?=\n-|\Z)", markdown_text, re.DOTALL)
63
58
  title = title_match.group(1).strip() if title_match else ""
59
+
60
+ # 提取工具
61
+ tool_match = re.search(r"-\s*tool\s*[::]\s*(.+?)(?=\n-|\Z)", markdown_text, re.DOTALL)
64
62
  tool = tool_match.group(1).strip() if tool_match else ""
63
+
64
+ # 提取内容(支持跨行)
65
+ content_match = re.search(r"-\s*content\s*[::]\s*(.+?)(?=\n-|\Z)", markdown_text, re.DOTALL)
65
66
  content = content_match.group(1).strip() if content_match else ""
67
+
68
+ # 提取停止思考
69
+ stop_thinking_match = re.search(r"-\s*stop_thinking\s*[::]\s*(.+?)(?=\n-|\Z)", markdown_text, re.DOTALL)
66
70
  stop_thinking = stop_thinking_match.group(1).strip().lower() in ["true"] if stop_thinking_match else False
67
71
 
68
72
  # 返回解析结果的字典
@@ -392,9 +396,9 @@ class OpenAI_M():
392
396
  decision_dict = self.get_decision(prompt, **kwargs)
393
397
  decision_dict = parse_fn_markdown(decision_dict)
394
398
  if decision_dict.get("function_name", None) is None:
395
- return self.stream(prompt, **kwargs)
399
+ return self.chat(prompt=prompt, stream=stream, **kwargs)
396
400
  else:
397
- tool_result = str(self.get_tool_result(prompt, **kwargs))
401
+ tool_result = str(self.get_tool_result(decision_dict))
398
402
  prompt_final = "根据上下文回答最后的用户问题:\n上下文信息:\n"
399
403
  prompt_final += tool_result
400
404
  # prompt_final += f"\n用户的问题:\n{prompt}"
@@ -441,8 +445,7 @@ class OpenAI_M():
441
445
 
442
446
  def get_tool_result(
443
447
  self,
444
- prompt: str,
445
- **kwargs: t.Any
448
+ decision_dict: dict,
446
449
  ):
447
450
  """Get the result of a tool based on the decision made.
448
451
 
@@ -453,16 +456,16 @@ class OpenAI_M():
453
456
  Returns:
454
457
  str: The result of the tool.
455
458
  """
456
- decision_dict_str = self.get_decision(
457
- prompt,
458
- **kwargs
459
- )
460
- try:
461
- decision_dict = parse_fn_markdown(decision_dict_str)
462
- # decision_dict = json.loads(decision_dict_str)
463
- except Exception as e:
464
- print(e)
465
- return ""
459
+ # decision_dict_str = self.get_decision(
460
+ # prompt,
461
+ # **kwargs
462
+ # )
463
+ # try:
464
+ # decision_dict = parse_fn_markdown(decision_dict_str)
465
+ # # decision_dict = json.loads(decision_dict_str)
466
+ # except Exception as e:
467
+ # print(e)
468
+ # return ""
466
469
  func_name = decision_dict.get("function_name", None)
467
470
  if func_name is None:
468
471
  return ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hjxdl
3
- Version: 0.2.78
3
+ Version: 0.2.80
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=bBGZMi5qwggklJx8aXckT7-LP59P2VUgjfcbOu4H75E,413
2
+ hdl/_version.py,sha256=dMhu6bTZ2DnK2Ao7umsywyrYd1I_j8b4qEG947KjLAc,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,7 +128,7 @@ hdl/utils/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
128
128
  hdl/utils/general/glob.py,sha256=8-RCnt6L297wMIfn34ZAMCsGCZUjHG3MGglGZI1cX0g,491
129
129
  hdl/utils/general/runners.py,sha256=EFTk9PeVnqc51yU4b-HxsLwJyMA7dFMZBsdAa-VZ-sQ,2880
130
130
  hdl/utils/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
- hdl/utils/llm/chat.py,sha256=rb9SOTDUuXPtXN0_mA7e9ihc_2UbvjrXOKqM5-rSfJU,20425
131
+ hdl/utils/llm/chat.py,sha256=MoOI80SPQUkgGob09XLKuPV5DwDJ0yG8e8wgBsYWmXA,20458
132
132
  hdl/utils/llm/chatgr.py,sha256=A9SCWAvQulgO2x0ArIqcmgd_iVWVbSi1Oj15Diwb3Ok,3743
133
133
  hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
134
134
  hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
@@ -139,7 +139,7 @@ hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
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.78.dist-info/METADATA,sha256=R7TNNU-_VYPgM5TfV7Uq4c3iBI0pqNGXNlA_BPdyf2c,836
143
- hjxdl-0.2.78.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
144
- hjxdl-0.2.78.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
145
- hjxdl-0.2.78.dist-info/RECORD,,
142
+ hjxdl-0.2.80.dist-info/METADATA,sha256=AzpsfvWDd8RKp3inYLv7qZt_qJueTUPAiaBCqlQO2aw,836
143
+ hjxdl-0.2.80.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
144
+ hjxdl-0.2.80.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
145
+ hjxdl-0.2.80.dist-info/RECORD,,
File without changes