Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config with thread_id error #36

Open
LizhongLiu-cims opened this issue Aug 7, 2024 · 2 comments
Open

config with thread_id error #36

LizhongLiu-cims opened this issue Aug 7, 2024 · 2 comments

Comments

@LizhongLiu-cims
Copy link

LizhongLiu-cims commented Aug 7, 2024

I try to run code here: examples/langgraph-python/langgraph_e2b_python/code_interpreter_tool.py

All my code is same as the example, expect that I added the memorysaver to enable the llm have chat memory for constant chat experience.


workflow = MessageGraph()
workflow.add_node("agent", llm.bind_tools(tools))
workflow.add_node("action", lambda x: execute_tools(x, tool_map))

#Conditional agent -> action OR agent -> END
workflow.add_conditional_edges(
"agent",
should_continue,
)
#Always transition action -> agent
workflow.add_edge("action", "agent")

workflow.set_entry_point("agent")
memory = MemorySaver()
app = workflow.compile(checkpointer = memory)

#4. Invoke the app
config = {"configurable": {"thread_id": str(uuid.uuid4())}}
result = app.invoke(input=("user", "please generate a random line plots"), config = config)


I got error message below when try to add config argument:


venv\lib\site-packages\langgraph\serde\jsonplus.py:72, in JsonPlusSerializer._default(self, obj)
68 return self._encode_constructor_args(
69 obj.class, kwargs={"node": obj.node, "arg": obj.arg}
70 )
71 else:
---> 72 raise TypeError(
73 f"Object of type {obj.class.name} is not JSON serializable"
74 )

TypeError: Object of type Result is not JSON serializable


I suppose the error comes due to change of message format that can not be json.dump(), is there any quick way to fix this? like some parser function maybe?

@mlejva
Copy link
Member

mlejva commented Aug 7, 2024

Hi @LizhongLiu-cims, yes this looks like a JSON format problem. Sometimes the model ignores the required JSON schema they should be producing. This could be related

@LizhongLiu-cims
Copy link
Author

Hi @mlejva, in that way, if I want to add memory as checkpointer to save the history, do I need to rewrite my own memory function instead of using MemorySaver() from langgraph.checkpoint? If that way, could you please provide an demo example to follow? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants