added langchain callback to agents (#333)

Co-authored-by: Chris Pang <chris_pang@racv.com.au>
This commit is contained in:
Chris Pang
2024-03-12 06:40:10 +11:00
committed by GitHub
parent 7deb268de8
commit f8a1d4f414
2 changed files with 13 additions and 0 deletions

View File

@@ -8,6 +8,8 @@ from langchain.memory import ConversationSummaryMemory
from langchain.tools.render import render_text_description
from langchain_core.agents import AgentAction
from langchain_openai import ChatOpenAI
from langchain_core.callbacks import BaseCallbackHandler
from pydantic import (
UUID4,
BaseModel,
@@ -46,6 +48,7 @@ class Agent(BaseModel):
allow_delegation: Whether the agent is allowed to delegate tasks to other agents.
tools: Tools at agents disposal
step_callback: Callback to be executed after each step of the agent execution.
callbacks: A list of callback functions from the langchain library that are triggered during the agent's execution process
"""
__hash__ = object.__hash__ # type: ignore
@@ -110,6 +113,9 @@ class Agent(BaseModel):
function_calling_llm: Optional[Any] = Field(
description="Language model that will run the agent.", default=None
)
callbacks: Optional[List[InstanceOf[BaseCallbackHandler]]] = Field(
default=None, description="Callback to be executed"
)
def __init__(__pydantic_self__, **data):
config = data.pop("config", {})
@@ -245,6 +251,7 @@ class Agent(BaseModel):
"step_callback": self.step_callback,
"tools_handler": self.tools_handler,
"function_calling_llm": self.function_calling_llm,
"callbacks": self.callbacks
}
if self._rpm_controller: