xzyun2011 commited on
Commit
06e2e1d
·
1 Parent(s): c12d400

update agent system pormpt

Browse files
Files changed (1) hide show
  1. agent/wulewule_agent.py +54 -1
agent/wulewule_agent.py CHANGED
@@ -18,6 +18,54 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
18
 
19
  import streamlit as st
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  class PromptEngineerAgent:
23
  """专门用于优化提示词的代理"""
@@ -125,9 +173,14 @@ class MultiModalAssistant:
125
  tools,
126
  llm=self.llm,
127
  verbose=True,
128
- max_function_calls=5,
 
129
  )
130
 
 
 
 
 
131
  ## 画图的url
132
  self.image_url = None
133
  self.audio_save_file = "audio.mp3"
 
18
 
19
  import streamlit as st
20
 
21
+ from llama_index.core import PromptTemplate
22
+ react_system_header_str = """\
23
+
24
+ 你被设计为能够帮助完成各种任务,从回答问题到提供摘要,再到其他类型的分析。
25
+
26
+ ## 工具
27
+ 你可以访问多种工具。你需要根据任务的需要,按适当的顺序使用这些工具来完成任务。
28
+ 这可能需要将任务分解为子任务,并为每个子任务使用不同的工具。
29
+
30
+ 你可以使用以下工具:
31
+ {tool_desc}
32
+
33
+ ## 输出格式
34
+ 为了回答问题,请使用以下格式,请务必以 Thought 开始:
35
+
36
+ ```
37
+ Thought: 我需要使用一个工具来帮助回答这个问题。
38
+ Action: 工具名称(从 {tool_names} 中选择)。
39
+ Action Input: 提供给工具的输入,使用 JSON 格式表示 kwargs(例如:{{"input": "你好世界", "num_beams": 5}})。
40
+ ```
41
+
42
+ 请务必以 Thought 开始。
43
+
44
+ 请确保 Action Input 使用有效的 JSON 格式。不要使用 {{'input': '你好世界', 'num_beams': 5}}。
45
+
46
+ 如果使用了这种格式,用户会以以下格式进行回复:
47
+
48
+ ```
49
+ Observation: 工具的返回结果
50
+ ```
51
+
52
+ 你应该重复以上格式,直到你有足够的信息来回答问题而无需再使用工具。此时,你必须以以下两种格式之一进行回复:
53
+
54
+ ```
55
+ Thought: (Implicit) I can answer without any more tools! Answer: [你的答案在这里]
56
+ Thought: (Implicit) I can answer without any more tools! Answer: 抱歉,我无法回答你的问题。
57
+ ```
58
+
59
+ ## 附加规则
60
+ - 答案必须包含一系列项目符号(即“•”),用来解释你是如何得出答案的。这可以包括先前对话历史中的内容。
61
+ - 你必须遵守每个工具的函数签名。如果函数需要参数,请不要传入空参数。
62
+
63
+ ## 当前对话
64
+ 以下是由用户和助手消息交替组成的当前对话:
65
+
66
+
67
+ """
68
+
69
 
70
  class PromptEngineerAgent:
71
  """专门用于优化提示词的代理"""
 
173
  tools,
174
  llm=self.llm,
175
  verbose=True,
176
+ max_iterations=10,
177
+ max_function_calls=12, ## 注意,超过12次就会自动返回结果了
178
  )
179
 
180
+ # change agent's system prompt
181
+ react_system_prompt = PromptTemplate(react_system_header_str)
182
+ self.agent.update_prompts({"agent_worker:system_prompt": react_system_prompt})
183
+
184
  ## 画图的url
185
  self.image_url = None
186
  self.audio_save_file = "audio.mp3"