Unpin langgraph stack; upgrade langchain-core instead #10

Closed
opened 2026-07-26 04:08:21 -07:00 by westfarn · 0 comments
Owner

Context

In #9 (383c571) we pinned the langgraph stack so the app would run against our current langchain pins:

langgraph==1.0.4
langgraph-checkpoint==3.0.1
langgraph-prebuilt==1.0.5
langgraph-sdk==0.2.14

Without those pins, newer langgraph-checkpoint (e.g. 4.x) calls Reviver(allowed_objects=...), which langchain-core==1.1.1 does not support.

This was a short-term fix. Long-term we should move forward on dependencies and adapt our code, not stay stuck on older langgraph.

Goal

  1. Remove the explicit langgraph version pins from pyproject.toml.
  2. Upgrade langchain-core (and related langchain packages as needed) so they are compatible with current langgraph / langgraph-checkpoint.
  3. Update application code for any breaking API changes.
  4. Refresh uv.lock and verify chat / graph flows still work.

Likely touch points

  • pyproject.toml / uv.lock
  • LangGraph usage: llm_be/chat_backend/consumers_graph.py
  • Broader langchain usage: consumers, services (RAG, LLM, classifiers), views

Acceptance criteria

  • Langgraph packages no longer force-pinned to the 1.0.4 / 3.0.1 / 1.0.5 / 0.2.14 set
  • langchain-core (and companions) upgraded enough that Reviver(allowed_objects=...) (or equivalent) works
  • App starts and unit tests pass
  • Manual smoke: WebSocket chat + graph path (consumers_graph) OK
  • Comment in pyproject.toml about the pin removed or replaced with a note on the supported version range

References

  • Pin PR: #9
  • Related deploy hardening (not the pin itself): #8
## Context In [#9](https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/9) (`383c571`) we pinned the langgraph stack so the app would run against our current langchain pins: ``` langgraph==1.0.4 langgraph-checkpoint==3.0.1 langgraph-prebuilt==1.0.5 langgraph-sdk==0.2.14 ``` Without those pins, newer `langgraph-checkpoint` (e.g. 4.x) calls `Reviver(allowed_objects=...)`, which `langchain-core==1.1.1` does not support. This was a short-term fix. Long-term we should move forward on dependencies and adapt our code, not stay stuck on older langgraph. ## Goal 1. Remove the explicit langgraph version pins from `pyproject.toml`. 2. Upgrade `langchain-core` (and related langchain packages as needed) so they are compatible with current langgraph / langgraph-checkpoint. 3. Update application code for any breaking API changes. 4. Refresh `uv.lock` and verify chat / graph flows still work. ## Likely touch points - `pyproject.toml` / `uv.lock` - LangGraph usage: `llm_be/chat_backend/consumers_graph.py` - Broader langchain usage: consumers, services (RAG, LLM, classifiers), views ## Acceptance criteria - [ ] Langgraph packages no longer force-pinned to the 1.0.4 / 3.0.1 / 1.0.5 / 0.2.14 set - [ ] `langchain-core` (and companions) upgraded enough that `Reviver(allowed_objects=...)` (or equivalent) works - [ ] App starts and unit tests pass - [ ] Manual smoke: WebSocket chat + graph path (`consumers_graph`) OK - [ ] Comment in `pyproject.toml` about the pin removed or replaced with a note on the supported version range ## References - Pin PR: https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/9 - Related deploy hardening (not the pin itself): https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls/8
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ai_ml_operations/chat_backend#10