Заставить агент LangChain выводить также информацию о получении
Я работаю над созданием агента langchain
logging.info("Initializing the tools")
tools = [
StructuredTool.from_function(some_func),
Tool(
name="QA",
func=(lambda message: extract_QA(docsearch, message, company, language, info=info)),
description="useful for when you need to answer questions. You should ask targeted questions",
return_direct=True,
verbose=True
)
]
# Init the agent
logging.info("Initializing the agent")
agent = initialize_agent(
tools,
chat_model,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True,
system_message=system_message,
max_iterations=2,
agent_kwargs={
"system_message": system_message
} | agent_kwargs,
memory=memory
)
Где функция extract_QA — это поиск по сходству
def extract_QA(docsearch: Pinecone, message:str, company: str, language: str = "spanish", info: str = ""):
result = docsearch(inputs={"message": message, "question": message, "company": company, "language": language})
info = result.get("summaries", "")
return result["answer"]
Однако я хотел бы получить в качестве вывода не только строку окончательного вывода агента, но и ближайший документ, полученный при поиске документов, есть ли способ сделать это?
У меня нет идей, и документация не поддерживает этот вариант использования.