Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions src/agentlab/analyze/agent_xray.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import pandas as pd
from attr import dataclass
from browsergym.experiments.loop import StepInfo as BGymStepInfo
from langchain.schema import BaseMessage, HumanMessage
from openai import OpenAI
from openai.types.responses import ResponseFunctionToolCall
from PIL import Image
Expand All @@ -30,6 +29,11 @@
from agentlab.llm.llm_utils import Discussion
from agentlab.llm.response_api import MessageBuilder, ToolCalls

try:
from langchain.schema import BaseMessage, HumanMessage
except ImportError:
BaseMessage, HumanMessage = None, None

select_dir_instructions = "Select Experiment Directory"
AGENT_NAME_KEY = "agent.agent_name"
TASK_NAME_KEY = "env.task_name"
Expand Down Expand Up @@ -746,7 +750,7 @@ def format_chat_message(message: BaseMessage | MessageBuilder | dict):
"""
Format a message to markdown.
"""
if isinstance(message, BaseMessage):
if BaseMessage and isinstance(message, BaseMessage):
return message.content
elif isinstance(message, MessageBuilder):
return message.to_markdown()
Expand Down Expand Up @@ -859,7 +863,9 @@ def submit_action(input_text):
global info
agent_info = info.exp_result.steps_info[info.step].agent_info
chat_messages = deepcopy(agent_info.get("chat_messages", ["No Chat Messages"])[:2])
if isinstance(chat_messages[1], BaseMessage): # TODO remove once langchain is deprecated
if BaseMessage and isinstance(
chat_messages[1], BaseMessage
): # TODO remove once langchain is deprecated
assert isinstance(chat_messages[1], HumanMessage), "Second message should be user"
chat_messages = [
make_system_message(chat_messages[0].content),
Expand Down
Loading