Skip to content

Commit a35e658

Browse files
committed
🐛 a better way to distinguish between executable and generated code #832
1 parent a7cf50e commit a35e658

File tree

3 files changed

+752
-111
lines changed

3 files changed

+752
-111
lines changed

test/assets/test_prompt.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ system_prompt: |-
6262
3. 每次使用email_send工具发送邮件时,邮件内容必须基于search_agent的搜索结果生成。
6363
6464
### python代码规范 ###
65-
1. 代码内容必须以以'代码:\n```py\n'开头,并以'```<end_code>'标识符结尾,否则你将失败。
65+
1. 代码内容必须以以'代码:\n```<RUN>\n'开头,并以'```<END_CODE>'标识符结尾,否则你将失败。
66+
2. 如果认为是需要执行的代码,代码内容以'代码:\n```<RUN>\n'开头,并以'```<END_CODE>'标识符结尾。如果是不需要执行仅用于展示的代码,代码内容以'代码:\n```<DISPLAY:语言类型>\n'开头,并以'```<END_CODE>'标识符结尾,其中语言类型例如python、java、javascript等;
6667
2. 只使用已定义的变量,变量将在多次调用之间持续保持。使用'print()'函数让下一次的模型调用看到对应变量信息
6768
3. 正确使用工具和Agent的入参,使用关键字参数,不要用字典形式。
6869
4. 避免在一轮对话中进行过多的工具调用,这会导致输出格式难以预测。
@@ -75,18 +76,18 @@ system_prompt: |-
7576
7677
思考: 首先,我将使用search_agent搜索关于人工智能的最新研究。
7778
代码:
78-
```py
79+
```<RUN>
7980
search_results = search_agent(task="最新的人工智能研究")
8081
print(search_results)
81-
```<end_code>
82+
```<END_CODE>
8283
观察结果:
8384
{"summary": "最新的人工智能研究集中在机器学习和深度学习领域,特别是在自然语言处理和图像识别方面取得了显著进展。", "details": "具体的研究包括但不限于:1. 使用Transformer模型改进自然语言理解;2. 利用卷积神经网络提升图像识别精度。"}
8485
8586
思考: 我已经获取了关于人工智能的最新研究信息,现在我将使用email_send工具将这些信息发送到指定邮箱。
8687
代码:
87-
```py
88+
```<RUN>
8889
email_send(address="[email protected]", content=search_results["summary"])
89-
```<end_code>
90+
```<END_CODE>
9091
9192
思考:我将生成最终回答。
9293
已经将关于人工智能的最新研究信息发送到指定邮箱。

test/assets/test_sub_prompt.yaml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ system_prompt: |-
4242
2. 如果knowledge_base_search未找到相关信息,则使用web_search工具进行网络搜索。
4343
4444
### python代码规范 ###
45-
1. 代码内容必须以以'代码:\n```py\n'开头,并以'```<end_code>'标识符结尾,否则你将失败。
45+
1. 代码内容必须以以'代码:\n```<RUN>\n'开头,并以'```<END_CODE>'标识符结尾,否则你将失败。
46+
2. 如果认为是需要执行的代码,代码内容以'代码:\n```<RUN>\n'开头,并以'```<END_CODE>'标识符结尾。如果是不需要执行仅用于展示的代码,代码内容以'代码:\n```<DISPLAY:语言类型>\n'开头,并以'```<END_CODE>'标识符结尾,其中语言类型例如python、java、javascript等;
4647
2. 只使用已定义的变量,变量将在多次调用之间持续保持。使用'print()'函数让下一次的模型调用看到对应变量信息
4748
3. 正确使用工具的入参,使用关键字参数,不要用字典形式。
4849
4. 避免在一轮对话中进行过多的工具调用,这会导致输出格式难以预测。
@@ -55,19 +56,19 @@ system_prompt: |-
5556
5657
思考:我先使用knowledge_base_search工具查找本地知识库是否有相关信息。
5758
代码:
58-
```py
59+
```<RUN>
5960
knowledge_info = knowledge_base_search(query="东方明珠 介绍")
6061
print(knowledge_info)
61-
```<end_code>
62+
```<END_CODE>
6263
观察结果:
6364
未找到查询"东方明珠 介绍"的结果。检索结果难以支撑回答。
6465
6566
思考:从本地知识库中没有找到相关信息,我需要使用web_search工具查询网络信息。
6667
代码:
67-
```py
68+
```<RUN>
6869
web_info = web_search(query="东方明珠 介绍")
6970
print(web_info)
70-
```<end_code>
71+
```<END_CODE>
7172
观察结果:
7273
[东方明珠相关信息]
7374
@@ -80,10 +81,10 @@ system_prompt: |-
8081
8182
思考:我将使用knowledge_base_search工具查找公司内部关于项目管理的政策。
8283
代码:
83-
```py
84+
```<RUN>
8485
policy_info = knowledge_base_search(query="公司内部关于项目管理的政策")
8586
print(policy_info)
86-
```<end_code>
87+
```<END_CODE>
8788
观察结果:
8889
[公司内部项目管理政策的相关信息]
8990
@@ -96,19 +97,19 @@ system_prompt: |-
9697
9798
思考:我先使用knowledge_base_search工具查找本地知识库是否有相关信息。
9899
代码:
99-
```py
100+
```<RUN>
100101
knowledge_info = knowledge_base_search(query="量子计算 最新研究进展")
101102
print(knowledge_info)
102-
```<end_code>
103+
```<END_CODE>
103104
观察结果:
104105
未找到查询"量子计算 最新研究进展"的结果。检索结果难以支撑回答。
105106
106107
思考:从本地知识库中没有找到相关信息,我需要使用web_search工具查询网络信息。
107108
代码:
108-
```py
109+
```<RUN>
109110
web_info = web_search(query="量子计算 最新研究进展")
110111
print(web_info)
111-
```<end_code>
112+
```<END_CODE>
112113
观察结果:
113114
[量子计算最新研究进展的相关信息]
114115

0 commit comments

Comments
 (0)