Commit Graph
100 Commits
Author SHA1 Message Date
Nuno Campos 9ee5699f9a Fix 2024-04-24 11:22:53 -07:00
Nuno Campos 9f9c08bab9 Lint 2024-04-24 11:22:36 -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 190d163005 Fix 2024-04-22 09:54:45 -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
Nuno Campos 50cd5e27f2 0.0.38 2024-04-17 16:08:17 -07:00
Nuno Campos 64dd631668 Lint 2024-04-17 15:26:05 -07: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
Nuno Campos 012bbb961f Lint 2024-04-16 15:07:51 -07:00
Nuno Campos bdf0def798 Resolve type annotation forward refs when parsing StateGraph schema type 2024-04-16 15:05:04 -07:00
Nuno Campos f5a7c01e88 py39 2024-04-12 11:55:20 -07:00
Nuno Campos 74a40a895a Make ser/de configurable in checkpointer classes
- Remove pydantic usage from base checkpointer class
- Make serialization configurable for all existing checkpointer classes, you can eg use dill or json instead of pickle
2024-04-12 11:49:29 -07:00
Nuno Campos aa07d30e1f 0.0.37 2024-04-12 11:00:27 -07:00
Nuno Campos f3ae555b91 Shorten conditional edge names 2024-04-12 09:29:27 -07:00
Nuno Campos dfec700da8 0.0.36 2024-04-11 17:04:19 -07:00
Nuno Campos 0015cb5f3a Fix non str values in cond edges 2024-04-11 11:52:20 -07:00
Nuno Campos ce6989daee 0.0.35 2024-04-11 11:51:53 -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 92deae4196 Add anthropic notebook 2024-04-11 10:50:06 -07:00
Nuno Campos 46e67cff87 Remove flag 2024-04-11 08:44:41 -07:00
Nuno Campos c8d3f73d04 Lint 2024-04-10 18:55:12 -07: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 8725839492 0.0.34 2024-04-10 16:18:30 -07:00
Nuno Campos 641def6fdb Fix null output for node with conditional edge returning END 2024-04-10 16:10:08 -07:00
Nuno Campos 71436be306 0.0.33 2024-04-10 16:09:07 -07:00
Nuno Campos fd6f44a7e4 feat: Return multiple destinations from conditional edge 2024-04-08 17:05:16 -07:00
Nuno Campos f21cc3f282 0.0.32 2024-04-04 13:22:08 -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 05009d8068 Update adaptive rag notebook to use invoke 2024-04-02 16:53:56 -07:00
Nuno Campos f269db4d58 Add LangSmith run urls in time travel notebook 2024-04-02 16:11:48 -07:00
Nuno Campos d00d8913ca 0.0.31 2024-04-02 15:56:33 -07:00
Nuno Campos 617591ad42 Update time travel notebook 2024-04-02 14:51:14 -07:00
Nuno Campos 2f8ae4fdb4 Simplify tool executor 2024-04-02 14:46:14 -07:00
Nuno Campos e3a9760bb2 Improve tracing output of state graph 2024-04-02 12:14:08 -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 008301cf02 Lint 2024-04-01 16:15:30 -07:00
Nuno Campos 2736d72989 Remove __start__ node from stream output 2024-04-01 16:05:12 -07:00
Nuno Campos 3e4c94289a Manage run_manager directly
- allows us to set run output different from streamed values: here the run output should always be final value of all channels
- removes 1-2 more frames from stack traces
2024-04-01 15:08:35 -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
Nuno Campos 3451e04b7d Add test for waiting edge triggered via conditional edge 2024-04-01 12:36:55 -07:00
Nuno Campos 2bf66b8834 Add some more docstrings around multi edges
- prompted by some github issues
2024-04-01 12:29:00 -07:00
Nuno Campos 5aa036639b Update 2024-03-26 15:42:16 -07:00
Nuno Campos 2b42407f05 0.0.30 2024-03-22 08:23:34 -07:00
Nuno Campos 62dfa48ce5 Lint 2024-03-21 17:58:23 -07:00
Nuno Campos db2ec5b2de Rename to add_edge(string[], string) 2024-03-21 17:56:35 -07:00
Nuno Campos e11153cf09 Fix graph repr 2024-03-21 16:53:59 -07:00
Nuno Campos 319d72952c Add one more test for message graph 2024-03-21 16:35:26 -07:00
Nuno Campos ccea395002 Fox 2024-03-21 16:06:23 -07:00
Nuno Campos 01c32c2464 Finish 2024-03-21 15:54:03 -07:00
Nuno Campos 6cb5062c1a Lol 2024-03-21 14:30:51 -07:00
Nuno Campos 158f84c826 WIP Waiting edge 2024-03-21 14:29:40 -07:00
Nuno Campos 6cdb8925c8 MessageGraph: convert message chunks to messages when added to graph 2024-03-21 13:32:11 -07:00
Nuno Campos c8c94df261 0.0.29 2024-03-20 12:14:49 -07:00
Nuno Campos 3bfac1f490 Track parent relationships for checkpoints
- This enables building "branching" views of checkpoint history
2024-03-20 12:08:22 -07:00
Nuno Campos 7548f412fb Support updating existing messages in messagegraph 2024-03-15 12:13:58 -07:00
Nuno Campos ba5dbad75f Fix duplicate history entries 2024-03-15 08:33:35 -07:00
Nuno Campos d169db951a py3.9 2024-03-13 17:42:14 -07:00
Nuno Campos 53297db419 py3.9 2024-03-13 17:37:55 -07:00
Nuno Campos 4d9e8a2d5f Update error msg 2024-03-13 17:34:13 -07:00
Nuno Campos 0d13c6b159 Add history tracking to in-memory, sqlite and aiosqlite checkpointers
- Add Pregel.get_state_history and .aget_state_history methods to get history iterator
- Update checkpointer base class with new list and get_tuple methods
- Rewrite in-memory checkpointer class to track history
- Rewrite sqlite and aiosqlite checkpointers to track history
- Add new tests for history tracking
2024-03-13 17:22:39 -07:00
Nuno Campos 418267e4de 0.0.28 2024-03-13 11:39:29 -07:00
Nuno Campos c964b662b4 0.0.27 2024-03-13 11:39:10 -07:00
Nuno Campos f5c3c7ac7d Remove subscribe_to_each() method in pregel api
- can be replaced by piping to batch method instead
2024-03-13 11:17:49 -07:00
Nuno Campos c90a6b14b9 Fix human in the loop notebook 2024-03-12 10:40:47 -07:00
Nuno Campos a33acb6d8a Implement xray mode for graph draw 2024-02-29 19:07:58 -08:00
Nuno Campos 359340dbc8 One more 2024-02-29 19:03:42 -08:00
Nuno Campos 971e15873e Fix core version mismatch in snapshot tests 2024-02-29 19:01:44 -08:00
Nuno Campos d75792f6e8 Fix 2024-02-29 18:48:21 -08:00
Nuno Campos 2a624274fd Draw end edge for cond edge without mapping 2024-02-29 18:26:28 -08:00
Nuno Campos c70376d0b7 Use faster/cached create_model in get_input_schema/get_output_schema 2024-02-26 10:10:52 -08:00
Nuno Campos dd19836be5 Add notebook showcasing create_tool_calling_executor 2024-02-26 08:25:04 -08:00
Nuno CamposandNuno Campos 38cd934f38 Lint 2024-02-24 16:58:18 -08:00
Nuno CamposandNuno Campos fdb273b0f4 Add get_state() and update_state() methods to get and update checkpoint in between runs 2024-02-24 16:58:18 -08:00
Nuno Campos c4a77c4313 0.0.26 2024-02-22 15:24:26 -08:00
Nuno Campos debd9a8d9c Add support for conditional entry points in Graph, StateGraph, MessageGraph 2024-02-22 15:19:03 -08:00
Nuno Campos 1c252830bf 0.0.25 2024-02-22 08:40:06 -08:00
Nuno Campos 7ca7c220be Update langchain-core 2024-02-20 17:18:45 -08:00
Nuno Campos c3cbececcf Update snapshots 2024-02-20 09:51:33 -08:00
Nuno Campos 69c570f3d0 Remove print 2024-02-20 08:55:57 -08:00
Nuno Campos 0cc6ce3b50 Lint 2024-02-12 10:01:24 -08:00
Nuno Campos 29edaaead8 Warn if graph is mutated after being compiled 2024-02-10 13:39:46 -08:00
Nuno Campos 2535795f93 Comment 2024-02-10 13:17:26 -08:00
Nuno Campos 692d1ebe02 WIP 2024-02-10 12:02:50 -08:00
Nuno Campos 979b735256 Allow fan-in in stategraph 2024-02-10 12:01:52 -08:00
Nuno Campos f1523f3e8d Add interrupt_after arg to .compile() 2024-02-10 11:39:38 -08:00
Nuno Campos c529016346 0.0.24 2024-02-08 10:30:05 -08:00
Nuno Campos 37bad4e30a Add human in the loop notebook 2024-02-07 20:05:05 -08:00
Nuno Campos c4f87cdccd Close the connection 2024-02-07 20:02:36 -08:00
Nuno Campos f2c2f88413 Lock 2024-02-07 19:53:19 -08:00
Nuno Campos eafb70b9ab Move aiosqlite to test deps 2024-02-07 19:51:25 -08:00
Nuno Campos 387eb0cedd Lint 2024-02-07 19:50:28 -08:00