Переопределение состояния агента в LanggraphPython

Программы на Python
Ответить
Anonymous
 Переопределение состояния агента в Langgraph

Сообщение Anonymous »

Я пытаюсь переопределить состояние Langgraph["messages"] до того, как оно достигнет агента, но не уверен, что делаю это правильно. Мне нужно удалить некоторые сообщения из состояния перед отправкой их агенту, для этого я использую перехватчик @before_agent langgraph и создал промежуточное программное обеспечение.
Код

Код: Выделить всё

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

return {"messages": messages}

def before_agent(self, state, runtime):
return self._process_files(state, runtime)

def abefore_agent(self, state, runtime):
return self._process_files(state, runtime)
Ошибка

Исключение: (Ожидаемый словарь, получен


Подробнее здесь: https://stackoverflow.com/questions/798 ... -langgraph
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»