Я пытаюсь переопределить состояние Langgraph["messages"] до того, как оно достигнет агента, но не уверен, что делаю это правильно. Мне нужно удалить некоторые сообщения из состояния перед отправкой их агенту, для этого я использую перехватчик @before_agent langgraph и создал промежуточное программное обеспечение. Код
Я пытаюсь переопределить состояние Langgraph["messages"] до того, как оно достигнет агента, но не уверен, что делаю это правильно. Мне нужно удалить некоторые сообщения из состояния перед отправкой их агенту, для этого я использую перехватчик @before_agent langgraph и создал промежуточное программное обеспечение. [b]Код[/b] [code]class FileProcessor(AgentMiddleware):
def _process_files(self, state, runtime): """Extract file data from messages and remove file items from content.""" messages = state.get("messages") extracted_files = [] runtime.override()
for message in messages: if isinstance(message, HumanMessage) and isinstance(message.content, list): non_file_content = [] for item in message.content: if isinstance(item, dict) and item.get("type") == "file": file_info = item.get("file", {}) if "file_data" in file_info: extracted_files.append(file_info["file_data"]) else: non_file_content.append(item) message.content = non_file_content