langchain-ai / opengpts

MIT License
6.31k stars 829 forks source link

Fix issue when fetching threads prior to langgraph 0.0.31 #288

Closed nfcampos closed 2 months ago

mkorpela commented 2 months ago

image Seems the old messages are named differently

mkorpela commented 2 months ago

When continuing the old thread I get this

INFO:     127.0.0.1:50992 - "POST /runs/stream HTTP/1.1" 200 OK
langchain_core.messages.human HumanMessage
langchain_core.messages.ai AIMessageChunk
langgraph.pregel.reserved ReservedChannels
collections defaultdict
builtins int
langgraph.checkpoint.base _seen_dict
error in stream
Traceback (most recent call last):
  File "/Users/mikkokorpela/workspace/opengpts/backend/app/stream.py", line 52, in to_sse
    async for chunk in messages_stream:
  File "/Users/mikkokorpela/workspace/opengpts/backend/app/stream.py", line 21, in astream_messages
    async for event in app.astream_events(
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 4711, in astream_events
    async for item in self.bound.astream_events(
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1137, in astream_events
    async for log in _astream_log_implementation(  # type: ignore[misc]
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/tracers/log_stream.py", line 616, in _astream_log_implementation
    await task
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/tracers/log_stream.py", line 570, in consume_astream
    async for chunk in runnable.astream(input, config, **kwargs):
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/configurable.py", line 199, in astream
    async for chunk in runnable.astream(input, config, **kwargs):
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 4698, in astream
    async for item in self.bound.astream(
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/configurable.py", line 199, in astream
    async for chunk in runnable.astream(input, config, **kwargs):
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 4698, in astream
    async for item in self.bound.astream(
  File "/Users/mikkokorpela/workspace/opengpts/backend/.venv/lib/python3.11/site-packages/langgraph/pregel/__init__.py", line 928, in astream
    checkpoint_config = await self.checkpointer.aput(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikkokorpela/workspace/opengpts/backend/app/checkpoint.py", line 139, in aput
    pickle.dumps(checkpoint),
    ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: Can't pickle local object 'PostgresUnpickler.find_class.<locals>.ReservedChannels'
langchain_core.messages.human HumanMessage
langchain_core.messages.ai AIMessageChunk
langgraph.pregel.reserved ReservedChannels
collections defaultdict
builtins int