mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 18:45:56 +08:00
fix: agent parse result error (#676)
This commit is contained in:
parent
9eaae770a6
commit
626c78a690
@ -9,7 +9,7 @@ from langchain.callbacks.base import BaseCallbackManager
|
|||||||
from langchain.callbacks.manager import Callbacks
|
from langchain.callbacks.manager import Callbacks
|
||||||
from langchain.memory.summary import SummarizerMixin
|
from langchain.memory.summary import SummarizerMixin
|
||||||
from langchain.prompts import SystemMessagePromptTemplate, HumanMessagePromptTemplate, ChatPromptTemplate
|
from langchain.prompts import SystemMessagePromptTemplate, HumanMessagePromptTemplate, ChatPromptTemplate
|
||||||
from langchain.schema import AgentAction, AgentFinish, AIMessage, HumanMessage
|
from langchain.schema import AgentAction, AgentFinish, AIMessage, HumanMessage, OutputParserException
|
||||||
from langchain.tools import BaseTool
|
from langchain.tools import BaseTool
|
||||||
from langchain.agents.structured_chat.prompt import PREFIX, SUFFIX
|
from langchain.agents.structured_chat.prompt import PREFIX, SUFFIX
|
||||||
|
|
||||||
@ -94,7 +94,12 @@ class AutoSummarizingStructuredChatAgent(StructuredChatAgent, CalcTokenMixin):
|
|||||||
full_inputs = self.summarize_messages(intermediate_steps, **kwargs)
|
full_inputs = self.summarize_messages(intermediate_steps, **kwargs)
|
||||||
|
|
||||||
full_output = self.llm_chain.predict(callbacks=callbacks, **full_inputs)
|
full_output = self.llm_chain.predict(callbacks=callbacks, **full_inputs)
|
||||||
|
|
||||||
|
try:
|
||||||
return self.output_parser.parse(full_output)
|
return self.output_parser.parse(full_output)
|
||||||
|
except OutputParserException:
|
||||||
|
return AgentFinish({"output": "I'm sorry, the answer of model is invalid, "
|
||||||
|
"I don't know how to respond to that."}, "")
|
||||||
|
|
||||||
def summarize_messages(self, intermediate_steps: List[Tuple[AgentAction, str]], **kwargs):
|
def summarize_messages(self, intermediate_steps: List[Tuple[AgentAction, str]], **kwargs):
|
||||||
if len(intermediate_steps) >= 2:
|
if len(intermediate_steps) >= 2:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user