William FH and GitHub
5799d6ca1c
Accept dead-ends ( #626 )
...
Previously, we validated that nodes explicitly route to END.
This feels a bit unnecessary, since graphs are expected to keep processing until no work is left to be done
Plus fix a small bug in validation.
2024-06-08 00:00:13 -07:00
vbarda
76e207b643
add unittest
2024-06-07 16:36:48 -04:00
Nuno Campos
695503a4d3
Update to langchain-core 0.2.0
...
- Use stream_events(version=v2) in tests
2024-05-17 14:38:51 -07:00
William FH and GitHub
f146668735
Rename "action" to "tools" in tools_condition w/in docs ( #445 )
2024-05-13 23:41:33 -07:00
445a110917
Add managed values and IsLastStep ( #330 )
...
* Add managed values and IsLastStep
- managed values are read-only state keys whose values are managed by langgraph
- this PR implements one: IsLastValue, a boolean which is True in the last iteration, eg to allow you to return a nice "ran out of iterations" message to user
* Fix
* Fix some issues
* py39
* Break ref
* Fix types
* Fix
* Fix
* Update state.py
* Don't mutate dictionary while using it in for loop.
---------
Co-authored-by: Andrew Nguonly <andrewnguonly@gmail.com >
2024-05-10 13:44:20 -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
52852cb226
Update langchain-core
2024-05-06 12:20:20 -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
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
467f42d799
Optional 2nd arg to StateGraph with config schema
2024-05-03 10:05:14 -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
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
fd9d30f144
Improve tracing output for function nodes
...
- remove double entry in tracing tree when using functions as nodes
2024-04-29 08:59:56 -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
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
Angel Igareta
d925736741
Snapshot updated for python 3.11
2024-04-18 13:19:51 +02:00
Angel Igareta
63125fe7a7
Snapshot updated
2024-04-18 13:01:24 +02: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
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
7dafc09a5b
Add prebuilt ToolNode
2024-04-10 18:15:19 -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
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
4e373b8af2
Remove noisy frames from stack traces
...
- The less frames in library code the less confused the user is
- This doesn't remove all library frames (not possible), but it's a start
2024-03-31 20:19:10 -07:00
Nuno Campos
a20bf12da9
Lint
2024-03-31 19:18:47 -07:00
Nuno Campos
0d2bbe85c6
Fix default condition name
2024-03-31 18:56:38 -07:00
Nuno Campos
b668bf8eab
Rewrite Graph/StateGraph.compile()
...
- Each iteration of the graph is one single iteration in Pregel (ie. no more "{node}:edges" nodes)
- .update_state() now acts exactly as one of the nodes in the graph (which can be chosen), which makes human-in-the-loop scenarios where you want to override the actions of a specific node a lot easier to build
- Graph/StateGraph.compile() now delegate adding nodes/edges/etc to dedicated methods that operate on the Pregel object, which is 90% of the way towards dynamic graphs where nodes and edges can be added during execution
2024-03-31 17:17:18 -07:00
Nuno Campos
03b7d6fe0d
Remove __end__ node from state graph
...
No longer necessary with stream output modes
2024-03-30 22:04:27 -07:00
Nuno Campos
5aa036639b
Update
2024-03-26 15:42:16 -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
debd9a8d9c
Add support for conditional entry points in Graph, StateGraph, MessageGraph
2024-02-22 15:19:03 -08:00
Nuno Campos
c3cbececcf
Update snapshots
2024-02-20 09:51:33 -08:00
Nuno Campos
4f1980df7c
Add missing input and output types for state graph
2024-02-19 13:14:24 -08:00
Nuno Campos
27464c0f46
Implement input_schema, output_schema, get_graph for Graph, StateGraph, MessageGraph
2024-02-19 13:07:34 -08:00