update agent system pormpt
Browse files- 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 |
-
|
|
|
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"
|