mirror of
https://github.com/langgenius/dify.git
synced 2026-02-12 04:01:29 -05:00
feat: hide output tools and improve JSON formatting for structured output feat: hide output tools and improve JSON formatting for structured output fix: handle prompt template correctly to extract selectors for step run fix: emit StreamChunkEvent correctly for sandbox agent chore: better debug message fix: incorrect output tool runtime selection fix: type issues fix: align parameter list fix: align parameter list fix: hide internal builtin providers from tool list vibe: implement file structured output vibe: implement file structured output fix: refix parameter for tool fix: crash fix: crash refactor: remove union types fix: type check Merge branch 'feat/structured-output-with-sandbox' into feat/support-agent-sandbox fix: provide json as text fix: provide json as text fix: get AgentResult correctly fix: provides correct prompts, tools and terminal predicates fix: provides correct prompts, tools and terminal predicates fix: circular import feat: support structured output in sandbox and tool mode
107 lines
2.6 KiB
Python
107 lines
2.6 KiB
Python
ENGLISH_REACT_COMPLETION_PROMPT_TEMPLATES = """Respond to the human as helpfully and accurately as possible.
|
|
|
|
{{instruction}}
|
|
|
|
You have access to the following tools:
|
|
|
|
{{tools}}
|
|
|
|
Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
|
Valid "action" values: "Final Answer" or {{tool_names}}
|
|
|
|
Provide only ONE action per $JSON_BLOB, as shown:
|
|
|
|
```
|
|
{
|
|
"action": $TOOL_NAME,
|
|
"action_input": $ACTION_INPUT
|
|
}
|
|
```
|
|
|
|
Follow this format:
|
|
|
|
Question: input question to answer
|
|
Thought: consider previous and subsequent steps
|
|
Action:
|
|
```
|
|
$JSON_BLOB
|
|
```
|
|
Observation: action result
|
|
... (repeat Thought/Action/Observation N times)
|
|
Thought: I know what to respond
|
|
Action:
|
|
```
|
|
{
|
|
"action": "Final Answer",
|
|
"action_input": "Final response to human"
|
|
}
|
|
```
|
|
|
|
Begin! Reminder to ALWAYS respond with a valid json blob of a single action. Use tools if necessary. Respond directly if appropriate. Format is Action:```$JSON_BLOB```then Observation:.
|
|
{{historic_messages}}
|
|
Question: {{query}}
|
|
{{agent_scratchpad}}
|
|
Thought:""" # noqa: E501
|
|
|
|
|
|
ENGLISH_REACT_COMPLETION_AGENT_SCRATCHPAD_TEMPLATES = """Observation: {{observation}}
|
|
Thought:"""
|
|
|
|
ENGLISH_REACT_CHAT_PROMPT_TEMPLATES = """Respond to the human as helpfully and accurately as possible.
|
|
|
|
{{instruction}}
|
|
|
|
You have access to the following tools:
|
|
|
|
{{tools}}
|
|
|
|
Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
|
Valid "action" values: "Final Answer" or {{tool_names}}
|
|
|
|
Provide only ONE action per $JSON_BLOB, as shown:
|
|
|
|
```
|
|
{
|
|
"action": $TOOL_NAME,
|
|
"action_input": $ACTION_INPUT
|
|
}
|
|
```
|
|
|
|
Follow this format:
|
|
|
|
Question: input question to answer
|
|
Thought: consider previous and subsequent steps
|
|
Action:
|
|
```
|
|
$JSON_BLOB
|
|
```
|
|
Observation: action result
|
|
... (repeat Thought/Action/Observation N times)
|
|
Thought: I know what to respond
|
|
Action:
|
|
```
|
|
{
|
|
"action": "Final Answer",
|
|
"action_input": "Final response to human"
|
|
}
|
|
```
|
|
|
|
Begin! Reminder to ALWAYS respond with a valid json blob of a single action. Use tools if necessary. Respond directly if appropriate. Format is Action:```$JSON_BLOB```then Observation:.
|
|
""" # noqa: E501
|
|
|
|
|
|
ENGLISH_REACT_CHAT_AGENT_SCRATCHPAD_TEMPLATES = ""
|
|
|
|
REACT_PROMPT_TEMPLATES = {
|
|
"english": {
|
|
"chat": {
|
|
"prompt": ENGLISH_REACT_CHAT_PROMPT_TEMPLATES,
|
|
"agent_scratchpad": ENGLISH_REACT_CHAT_AGENT_SCRATCHPAD_TEMPLATES,
|
|
},
|
|
"completion": {
|
|
"prompt": ENGLISH_REACT_COMPLETION_PROMPT_TEMPLATES,
|
|
"agent_scratchpad": ENGLISH_REACT_COMPLETION_AGENT_SCRATCHPAD_TEMPLATES,
|
|
},
|
|
}
|
|
}
|