|
|
|
@ -1,8 +1,8 @@
|
|
|
|
|
import json
|
|
|
|
|
from typing import Union
|
|
|
|
|
|
|
|
|
|
from langchain.agents.agent import AgentOutputParser
|
|
|
|
|
from langchain.agents.chat.prompt import FORMAT_INSTRUCTIONS
|
|
|
|
|
from langchain.output_parsers.json import parse_json_markdown
|
|
|
|
|
from langchain.schema import AgentAction, AgentFinish, OutputParserException
|
|
|
|
|
|
|
|
|
|
FINAL_ANSWER_ACTION = "Final Answer:"
|
|
|
|
@ -18,7 +18,8 @@ class ChatOutputParser(AgentOutputParser):
|
|
|
|
|
{"output": text.split(FINAL_ANSWER_ACTION)[-1].strip()}, text
|
|
|
|
|
)
|
|
|
|
|
try:
|
|
|
|
|
response = parse_json_markdown(text)
|
|
|
|
|
action = text.split("```")[1]
|
|
|
|
|
response = json.loads(action.strip())
|
|
|
|
|
return AgentAction(response["action"], response["action_input"], text)
|
|
|
|
|
|
|
|
|
|
except Exception:
|
|
|
|
|