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 +2 -2
- hdl/utils/llm/chat.py +24 -21
- {hjxdl-0.2.78.dist-info → hjxdl-0.2.80.dist-info}/METADATA +1 -1
- {hjxdl-0.2.78.dist-info → hjxdl-0.2.80.dist-info}/RECORD +6 -6
- {hjxdl-0.2.78.dist-info → hjxdl-0.2.80.dist-info}/WHEEL +0 -0
- {hjxdl-0.2.78.dist-info → hjxdl-0.2.80.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
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*(.+?)(
|
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.
|
399
|
+
return self.chat(prompt=prompt, stream=stream, **kwargs)
|
396
400
|
else:
|
397
|
-
tool_result = str(self.get_tool_result(
|
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
|
-
|
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
|
-
|
458
|
-
|
459
|
-
)
|
460
|
-
try:
|
461
|
-
|
462
|
-
|
463
|
-
except Exception as e:
|
464
|
-
|
465
|
-
|
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,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
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=
|
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.
|
143
|
-
hjxdl-0.2.
|
144
|
-
hjxdl-0.2.
|
145
|
-
hjxdl-0.2.
|
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
|
File without changes
|