LangChain v0.3 Released With Key Upgrades for Python and JavaScript

Jessie A Ellis  Sep 17, 2024 00:58  UTC 16:58

0 Min Read

LangChain has announced the release of version 0.3, bringing significant upgrades and improvements to both Python and JavaScript ecosystems, according to the LangChain Blog.

What's Changed

Python

All packages have been upgraded from Pydantic 1 to Pydantic 2 internally, fully supporting the use of Pydantic 2 in user code without the need for bridges like langchain_core.pydantic_v1 or pydantic.v1. Pydantic 1, which reached its end-of-life in June 2024, will no longer be supported. Additionally, Python 3.8 support will be discontinued as its end-of-life is scheduled for October 2024.

JavaScript

All LangChain packages now list @langchain/core as a peer dependency instead of a direct dependency to avoid type errors related to core version conflicts. Users must explicitly install @langchain/core rather than relying on an internally resolved version from other packages. Other changes include making callbacks backgrounded and non-blocking by default, and the removal of deprecated document loader and self-query entrypoints from langchain in favor of entrypoints in @langchain/community and integration packages. Deprecated Google PaLM entrypoints have also been removed in favor of entrypoints in @langchain/google-vertexai and @langchain/google-genai. Furthermore, objects with a "type" as a BaseMessageLike are deprecated in favor of the more OpenAI-like MessageWithRole.

What's New

LangChain v0.3 introduces several new features and improvements:

  • More integrations have been moved from langchain-community to their own langchain-{name} packages, allowing better dependency management, testing, and versioning. The legacy implementations remain in langchain-community but are marked as deprecated.
  • Revamped integration docs and API references.
  • Simplified tool definition and usage.
  • New utilities for interacting with chat models, including a universal model constructor, message trimming, filtering and merging utilities, and a rate limiter.
  • Ability to dispatch custom events.

How to Update Your Code

To assist users in migrating to LangChain v0.3, detailed how-to guides for both Python and JavaScript are available.

Documentation

LangChain documentation is versioned, and previous versions will remain accessible at their respective URLs.

LangGraph

LangGraph is a library for building stateful, multi-actor applications with LLMs. As of LangChain v0.2, LangGraph is the recommended way to build agents. It includes a pre-built LangGraph object equivalent to the LangChain AgentExecutor, simplifying the use of out-of-the-box agent solutions.

What's Coming

The LangChain team is planning further improvements to LangChain’s multi-modal capabilities and continues to work on enhancing documentation and integration reliability.



Read More