Skip to content

Commit e52b66d

Browse files
committed
chore: support modern langchain_core module
Remove unused AgentAction import
1 parent 758b399 commit e52b66d

1 file changed

Lines changed: 24 additions & 11 deletions

File tree

py/src/braintrust/wrappers/langchain.py

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,31 @@
99
_logger = logging.getLogger("braintrust.wrappers.langchain")
1010

1111
try:
12-
from langchain_classic.callbacks.base import BaseCallbackHandler
13-
from langchain_classic.schema import Document
14-
from langchain_classic.schema.agent import AgentAction
15-
from langchain_classic.schema.messages import BaseMessage
16-
from langchain_classic.schema.output import LLMResult
12+
# Modern langchain
13+
from langchain_core.callbacks.base import BaseCallbackHandler
14+
from langchain_core.documents.base import Document
15+
from langchain_core.messages.base import BaseMessage
16+
from langchain_core.outputs.llm_result import LLMResult
1717
except ImportError:
18-
_logger.warning("Failed to import langchain, using stubs")
19-
BaseCallbackHandler = object
20-
Document = object
21-
AgentAction = object
22-
BaseMessage = object
23-
LLMResult = object
18+
try:
19+
# after the release of langchain v1, these submodules were also migrated to langchain_classic
20+
from langchain_classic.callbacks.base import BaseCallbackHandler
21+
from langchain_classic.schema import Document
22+
from langchain_classic.schema.messages import BaseMessage
23+
from langchain_classic.schema.output import LLMResult
24+
except ImportError:
25+
try:
26+
# Old langchain from before the v1 version and the creation of langchain_classic
27+
from langchain.callbacks.base import BaseCallbackHandler
28+
from langchain.schema import Document
29+
from langchain.schema.messages import BaseMessage
30+
from langchain.schema.output import LLMResult
31+
except ImportError:
32+
raise ImportError(
33+
"Could not import langchain callbacks and schema submodules. "
34+
"Install one of: langchain_classic, langchain-core, or langchain<1."
35+
)
36+
2437

2538
langchain_parent = contextvars.ContextVar("langchain_current_span", default=None)
2639

0 commit comments

Comments
 (0)