Skip to content

Commit 67e434f

Browse files
authored
Merge pull request #299 from ServiceNow/make-langchain-optional
make langchain optional in xray
2 parents 5ff585f + bc5fa80 commit 67e434f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/agentlab/analyze/agent_xray.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import pandas as pd
1515
from attr import dataclass
1616
from browsergym.experiments.loop import StepInfo as BGymStepInfo
17-
from langchain.schema import BaseMessage, HumanMessage
1817
from openai import OpenAI
1918
from openai.types.responses import ResponseFunctionToolCall
2019
from PIL import Image
@@ -30,6 +29,11 @@
3029
from agentlab.llm.llm_utils import Discussion
3130
from agentlab.llm.response_api import MessageBuilder, ToolCalls
3231

32+
try:
33+
from langchain.schema import BaseMessage, HumanMessage
34+
except ImportError:
35+
BaseMessage, HumanMessage = None, None
36+
3337
select_dir_instructions = "Select Experiment Directory"
3438
AGENT_NAME_KEY = "agent.agent_name"
3539
TASK_NAME_KEY = "env.task_name"
@@ -746,7 +750,7 @@ def format_chat_message(message: BaseMessage | MessageBuilder | dict):
746750
"""
747751
Format a message to markdown.
748752
"""
749-
if isinstance(message, BaseMessage):
753+
if BaseMessage and isinstance(message, BaseMessage):
750754
return message.content
751755
elif isinstance(message, MessageBuilder):
752756
return message.to_markdown()
@@ -859,7 +863,9 @@ def submit_action(input_text):
859863
global info
860864
agent_info = info.exp_result.steps_info[info.step].agent_info
861865
chat_messages = deepcopy(agent_info.get("chat_messages", ["No Chat Messages"])[:2])
862-
if isinstance(chat_messages[1], BaseMessage): # TODO remove once langchain is deprecated
866+
if BaseMessage and isinstance(
867+
chat_messages[1], BaseMessage
868+
): # TODO remove once langchain is deprecated
863869
assert isinstance(chat_messages[1], HumanMessage), "Second message should be user"
864870
chat_messages = [
865871
make_system_message(chat_messages[0].content),

0 commit comments

Comments
 (0)