hjxdl 0.2.72__py3-none-any.whl → 0.2.74__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/desc/template.py +2 -10
- hdl/utils/llm/chat.py +12 -11
- {hjxdl-0.2.72.dist-info → hjxdl-0.2.74.dist-info}/METADATA +1 -1
- {hjxdl-0.2.72.dist-info → hjxdl-0.2.74.dist-info}/RECORD +7 -7
- {hjxdl-0.2.72.dist-info → hjxdl-0.2.74.dist-info}/WHEEL +0 -0
- {hjxdl-0.2.72.dist-info → hjxdl-0.2.74.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/desc/template.py
CHANGED
@@ -17,19 +17,11 @@ FN_TEMPLATE = """
|
|
17
17
|
"""
|
18
18
|
|
19
19
|
COT_TEMPLATE = """
|
20
|
-
你是一个专家级AI助手,有能针对一个问题和当前解决到的步骤给出下一步该进行操作的能力。
|
21
|
-
以JSON格式回复,该步骤对应的 json 包括'title'、'tool', 'content'和'stop_thinking',
|
22
|
-
若已有的信息不合理或者针对用户的问题提供的信息有错误,则'stop_thinking'键的值为 false 并且继续思考过程。
|
23
|
-
若还需要下一步操作,'stop_thinking'键的则为 false 并在 'title' 键对应的值中给出该进行的操作;
|
24
|
-
若已有的信息足够回答用户问题,则'stop_thinking'键的值为 true 并把答案写在'content'键的值中。
|
25
|
-
若本步骤的操作不需要调用下文中提到的工具或信息足够回答用户问题,而不必包含'tool'键,若需要调用下文中的工具,则必须包含'tool'键,并且其值是工具函数名称。
|
26
|
-
你的回答中应只能是 json 格式,且不能包含其他多余文字不能有格式错误。
|
27
|
-
|
28
20
|
你是一个专家级 AI 助手,有能力针对一个问题和当前解决到的步骤,给出下一步的操作建议。
|
29
21
|
|
30
22
|
以 Markdown 格式回复,该步骤对应的 Markdown 包括以下部分:
|
31
|
-
## <title>
|
32
|
-
- tool
|
23
|
+
## <title> (用二级标题(##)标记步骤名称,且不包含<>组合符号)
|
24
|
+
- tool(可选): <若需要调用工具,列出工具名称;如果不需要,则忽略该部分>
|
33
25
|
- content: <描述详细内容或答案>
|
34
26
|
- stop_thinking: <true/false>
|
35
27
|
若已有的信息不合理或者针对用户的问题提供的信息有错误,则需要进一步思考,并说明原因。若还需要下一步操作,给出具体建议。
|
hdl/utils/llm/chat.py
CHANGED
@@ -32,25 +32,26 @@ def parse_fn_markdown(markdown_text, params_key="params"):
|
|
32
32
|
result[params_key] = params
|
33
33
|
return result
|
34
34
|
|
35
|
+
import re
|
35
36
|
def parse_cot_markdown(markdown_text):
|
36
37
|
# 提取标题
|
37
38
|
title_match = re.search(r"##\s*(.+)", markdown_text)
|
38
|
-
title = title_match.group(1) if title_match else
|
39
|
-
title = title.replace(":", "").replace(":", "").replace(" ", "")
|
39
|
+
title = title_match.group(1) if title_match else ""
|
40
|
+
# title = title.replace(":", "").replace(":", "").replace(" ", "")
|
40
41
|
|
41
42
|
# 提取工具
|
42
|
-
tool_match = re.search(r"tool
|
43
|
-
tool = tool_match.group(1) if tool_match else
|
44
|
-
tool = tool.replace(":", "").replace(":", "").replace(" ", "")
|
43
|
+
tool_match = re.search(r"tool:\s*(.+)", markdown_text)
|
44
|
+
tool = tool_match.group(1).strip() if tool_match else ""
|
45
|
+
# tool = tool.replace(":", "").replace(":", "").replace(" ", "")
|
45
46
|
|
46
47
|
# 提取内容
|
47
|
-
content_match = re.search(r"content
|
48
|
-
content = content_match.group(1) if content_match else
|
49
|
-
content = content.replace(":", "").replace(":", "").replace(" ", "")
|
48
|
+
content_match = re.search(r"content:\s*(.+)", markdown_text)
|
49
|
+
content = content_match.group(1) if content_match else ""
|
50
|
+
# content = content.replace(":", "").replace(":", "").replace(" ", "")
|
50
51
|
|
51
52
|
# 提取停止思考
|
52
|
-
stop_thinking_match = re.search(r"stop_thinking
|
53
|
-
stop_thinking = stop_thinking_match.group(1) == "true" or stop_thinking_match.group(1) == "True" if stop_thinking_match else
|
53
|
+
stop_thinking_match = re.search(r"stop_thinking:\s*(.+)", markdown_text)
|
54
|
+
stop_thinking = stop_thinking_match.group(1) == "true" or stop_thinking_match.group(1) == "True" if stop_thinking_match else False
|
54
55
|
|
55
56
|
|
56
57
|
# 组装为字典
|
@@ -257,7 +258,7 @@ class OpenAI_M():
|
|
257
258
|
# 如果思考步骤中标记为停止思考,则打印所有步骤并返回最终答案
|
258
259
|
|
259
260
|
# 如果思考步骤中包含使用工具的指示,则构造工具提示并调用agent_response方法
|
260
|
-
if 'tool' in step_json:
|
261
|
+
if 'tool' in step_json and step_json['tool']:
|
261
262
|
tool_prompt = step_json["tool"] \
|
262
263
|
+ step_json.get("title", "") \
|
263
264
|
+ step_json.get("content", "") \
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=7zvd2bmfCTUam4lXjgAH-RejI6fcPMX97tTWvBIxj3U,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
|
@@ -123,12 +123,12 @@ hdl/utils/database_tools/datetime.py,sha256=xqE2xNiOpADzX-R8_bM0bioJRF3Ay9Jp1CAG
|
|
123
123
|
hdl/utils/database_tools/web.py,sha256=PJ7R1chUD-vz-Up0orfFqdrZq3CFOlwiO9gIjFSb-R8,5224
|
124
124
|
hdl/utils/desc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
hdl/utils/desc/func_desc.py,sha256=DPcYH1xDSlY5kkxzyE3a1QK0s71P2Hrn52vLd9j-q-I,3362
|
126
|
-
hdl/utils/desc/template.py,sha256=
|
126
|
+
hdl/utils/desc/template.py,sha256=GJSXkVzdTAQoNT3j7YTLhz8-4CmvCMt2gLr7YBYPRWw,2192
|
127
127
|
hdl/utils/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
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=7_1JYsK7kKPkNacF0r3z_AKzQKvCveRsgTZFYKX1cMc,21958
|
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.74.dist-info/METADATA,sha256=Z7IBy74fwEm-3FRUbd3jyN9o2LJ_sRaWT29oVdFouFg,836
|
143
|
+
hjxdl-0.2.74.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
144
|
+
hjxdl-0.2.74.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
145
|
+
hjxdl-0.2.74.dist-info/RECORD,,
|
File without changes
|
File without changes
|