Nuno Campos
e892c95194
Export all exceptions from langgraph.errors
2024-05-07 08:07:26 -07:00
Nuno Campos and GitHub
5bee63c7d5
Merge pull request #387 from langchain-ai/nc/3may/checkpoint-metadata
...
Add metadata to checkpoints, checkpoint inputs before first step
2024-05-06 14:41:29 -07:00
Nuno Campos
48865daf02
Fix checkpoint lineage for updates/resumes
2024-05-06 11:53:20 -07:00
Nuno Campos
611ecdb1cd
Checkpoint inputs before starting the first step for easier error recovery
...
- this enables easier retrying, for any error just do .invoke(None, config) no matter which step the error happened on
2024-05-06 11:53:20 -07:00
Nuno Campos
f160f82912
Add checkpoint metadata fields
...
- source: input, update or loop
- step: int
- make step counter continue from previous last step
2024-05-06 11:52:49 -07:00
Nuno Campos
3ff3def62b
Remove option to only checkpoint at end of run
...
- Now that checkpoint at end of each step adds no latency there is not point to keep this
- This will make it easier to add future features
2024-05-06 11:52:49 -07:00
Nuno Campos
f304908102
Add metadata to checkpoints
...
- not yet used in this PR
2024-05-06 11:52:49 -07:00
Nuno Campos
04fe48f661
Add (failing) test for drawing cyclic edge
...
- fix waiting for new release of langchain-core
2024-05-03 15:17:20 -07:00
Nuno Campos
42d3215e34
Implement cursor pagination for get_state_history (time travel endpoint)
...
- interface in base checkpointer
- implement in sqlite, aiosqlite, memory
- implement in Pregel.get_state_history()
2024-05-03 10:34:11 -07:00
Nuno Campos
467f42d799
Optional 2nd arg to StateGraph with config schema
2024-05-03 10:05:14 -07:00
Nuno Campos
27efba27c0
Update tests
2024-05-02 09:31:22 -07:00
Nuno Campos
5e322a6550
Implement stream_mode=debug
...
- outputs 3 types of payloads
-- task: node about to be executed
-- task_result: result of node execution
-- checkpoint: state values at end of superstep
2024-04-30 16:15:38 -07:00
Nuno Campos
afa6a91934
Implement interrupt_before=* and interrupt_after=*
...
- This interrupts execution before/after all nodes
2024-04-30 10:05:53 -07:00
Nuno Campos
9a79eb54f9
Finish fixing tests
2024-04-30 09:23:41 -07:00
Nuno Campos
96870c0935
Pregel: Remove implicit creation of channels referenced by nodes
...
- channels must be declared in the constructor args
2024-04-30 09:04:19 -07:00
Nuno Campos
7554309abf
Update tests
2024-04-29 17:46:42 -07:00
Nuno Campos
a3c867d688
Remove add_condition_nodes
2024-04-29 11:13:16 -07:00
Nuno Campos
3a59fb2247
Pass add_condition_node
2024-04-29 11:04:15 -07:00
Nuno Campos
a83fd19b29
For cond edges support specifying list of possible destinations as a list or typing annotation
2024-04-29 10:38:06 -07:00
Nuno Campos
61d0f60b8e
Update
2024-04-25 11:30:23 -07:00
Nuno Campos
42b13ef576
Improvements to get_graph(xray=)
...
- Support xray: int, to control depth, eg xray=1 only exposes one level deep
- In mermaid draw a containing box around subgraphs created from xray
2024-04-25 11:27:13 -07:00
Nuno Campos
3571a893f2
Fix bug where saving a runnable or function in state object would misbehave
...
- the function/runnable would be called when processing the state update
2024-04-24 15:35:02 -07:00
Nuno Campos
79bff13a47
Add then= arg for add_conditional_edge and set_conditional_entry_point
...
- This makes it easy to implement graphs where you want to decide among N possible nodes, and then visit another node after whichever one you chose
2024-04-24 14:06:07 -07:00
Nuno Campos
f2803372ec
Improve graph validation
...
- Move all validation to compile() This allows adding edges before nodes
- Detect more cases of missing edges with shorthand branches
2024-04-24 11:19:40 -07:00
Nuno Campos
85bdc8bdfa
Fix issue when drawing graphs w repeat conditions
2024-04-22 09:53:14 -07:00
Nuno Campos
3edf7e4d73
Fix
2024-04-18 10:18:56 -07:00
Nuno Campos
38d990cf99
Merge branch 'main' into improve_visualization_notebook
2024-04-18 09:02:45 -07:00
Nuno Campos
9e6fc78ac2
Make test deterministic
2024-04-18 08:40:56 -07:00
Angel Igareta
99c2754156
Fix tests due to change of style for conditional edges. Migrate ascii to snapshot for system compatiblity
2024-04-18 12:53:43 +02:00
Nuno Campos
322cea054c
Fix astream_events modifying output format unexpectedly
...
- (unrelated) use run_id passed in
- if using a graph as node in another graph ensure stream_mode for inner call is always values
- ensure langchain-core doesn't auto promote streamed dicts to addable dicts, which results in unexpected output (only) when calling astream_events
2024-04-17 15:24:43 -07:00
Angel Igareta
0f667cd9eb
Add add_condition_nodes parameter to offer possibility of not including conditional nodes
2024-04-15 10:56:19 +02:00
Nuno Campos
f3ae555b91
Shorten conditional edge names
2024-04-12 09:29:27 -07:00
Nuno Campos
a8af7467b8
In stream_mode=values yield all values, instead of only changed ones
2024-04-11 11:12:10 -07:00
Nuno Campos and GitHub
9ffd6d9c78
Merge pull request #296 from langchain-ai/nc/10apr/tool-node
...
Add prebuilt ToolNode, Make prebuilt create_tool_calling_executor compatible with any tool calling model
2024-04-11 11:10:59 -07:00
Nuno Campos
46e67cff87
Remove flag
2024-04-11 08:44:41 -07:00
hmasdev
236ecb1982
rename node name in tests
2024-04-11 20:34:45 +09:00
hmasdev
42de3304dc
Add support for allow_falsy_output parameter in Pregel class
2024-04-11 19:46:01 +09:00
Nuno Campos
7dafc09a5b
Add prebuilt ToolNode
2024-04-10 18:15:19 -07:00
Nuno Campos
8788a6adfb
Support stream_mode=updates in invoke()
2024-04-10 17:12:09 -07:00
Nuno Campos
fd6f44a7e4
feat: Return multiple destinations from conditional edge
2024-04-08 17:05:16 -07:00
Nuno Campos
db3219f77c
Ensure node tracing output is exactly what was returned from node
2024-04-03 13:13:04 -07:00
Nuno Campos
2f8ae4fdb4
Simplify tool executor
2024-04-02 14:46:14 -07:00
Nuno Campos
2a299d070e
Optimize tracing output of Graph/StateGraph/MessageGraph
...
- control selection of relevant runs (needs langsmith release)
- see output of conditional edge function
- fix issue with conditional entry point not getting full state values as input
2024-04-02 10:32:47 -07:00
Nuno Campos
a184600915
MessageGraph now accepts same shorthand message formats as langchain-core
2024-04-01 18:44:06 -07:00
Nuno Campos
694343c5b5
Update test
2024-04-01 18:03:52 -07:00
Nuno Campos
cbd2024dec
Add async test, add test for validation error
2024-04-01 17:56:18 -07:00
Nuno Campos
961ddd49ed
Add test and notebook for using pydantic base model as state object
2024-04-01 17:40:55 -07:00
Nuno Campos
f88ef74002
Add tests for both values of CheckpointAt
...
- fix bug when using at=END_OF_RUN together with interrupt_before
- fix bug when calling update_state after only node has run
- update some notebooks to new streaming format (ie. no __end__ node)
2024-04-01 17:17:39 -07:00
Nuno Campos
2736d72989
Remove __start__ node from stream output
2024-04-01 16:05:12 -07:00
Nuno Campos
b6848c5fdf
Optimize tracing run tree
...
- Do not run node if it's a passthrough
- Do not run writers that wouldn't affect any channels
- Combine consecutive writers when it doesn't change semantics
2024-04-01 13:43:23 -07:00