Nuno Campos
86bc774b3d
Lint
2024-05-30 08:08:21 -07:00
Nuno Campos
6e74415ec8
Add test for node decorated with traceable decorator
2024-05-30 08:04:48 -07:00
Nuno Campos
24d130d407
Add support for requesting multiple stream modes in same stream/astream call
2024-05-22 12:25:28 -07:00
Nuno Campos
8b946af20f
Add support and tests for using messagegraph checkpoints on a stategraph with 1 __root__ key other keys
2024-05-21 14:01:23 -07:00
Andrew Nguonly and GitHub
08b505e017
Merge configurable fields with previous checkpoint config before each run ( #510 )
...
* Merge configurable fields with previous checkpoint config.
* Update update_state() and aupdate_state() to merge configurable fields with previous checkpoint config.
* Update tests to verify that all checkpoint metadata contain the expected configurable field keys. This assertion is needed because a run can have an arbitrary number of steps based on the construction of the graph.
2024-05-21 11:03:25 -07:00
Nuno Campos
de71709fdc
Expose checkpoint timestamp in get/update/list state methods
2024-05-20 16:23:46 -07:00
Andrew Nguonly
f5454715df
Merge main branch.
2024-05-17 19:32:14 -07:00
Andrew Nguonly
09bae3022d
Add checkpoint config to checkpoint metadata?
2024-05-17 19:25:02 -07:00
Andrew Nguonly
18addb52aa
Add support for passing Callable metadata filter to FewShotExamples managed value.
2024-05-17 18:41:57 -07: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
Nuno Campos
a4e88e930f
Disable retries by default
2024-05-16 15:59:45 -07:00
Nuno Campos
2414e0ab5e
Add retry_policy for graphs
...
- default is to retry, fully configurable
- configuration options follow temporal https://docs.temporal.io/retry-policies#properties
2024-05-16 15:44:30 -07:00
Nuno Campos
6f888b6206
Add single arg overload for add_node, which takes function/runnable's name as the node name
2024-05-14 17:51:25 -07:00
Nuno Campos
52b2c755d7
Use uuid6 as the id for checkpoints
...
- this avoids conflicts if multiple processes creating checkpoints in same thread at same time
- uuid6 with a monotically increasing clock_seq is sortable by creation time at ms precision (plus clock_seq for ties, plus 48 bits of randomness for further ties)
2024-05-14 16:56:25 -07:00
Nuno Campos and GitHub
a694aaa2bb
Merge pull request #444 from langchain-ai/an/10may/few-shot-clone
...
Add `FewShotExamples` managed value (redo)
2024-05-14 15:35:48 -07:00
Nuno Campos
273a836fc4
debug: Include task index in task id
2024-05-14 13:35:56 -07:00
Andrew Nguonly
28e5d8f699
Update FewShotExamples class to support setting filter and limit params.
2024-05-14 12:41:55 -07:00
Nuno Campos and GitHub
d8af81312a
Merge pull request #447 from langchain-ai/nc/14may/small-fixes
...
Fix memory checkpointer list/alist
2024-05-14 11:24:04 -07:00
Nuno Campos
0c37a17172
Fix memory checkpointer list/alist
...
- add tests for memory checkpointer list and alist
- fix async step counting
2024-05-14 10:37:01 -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
Andrew Nguonly
065e0ff360
Remove unused imports.
2024-05-13 18:34:54 -07:00
Andrew Nguonly
aae05407f4
Lint code.
2024-05-13 18:22:07 -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
227f409611
Add writes property in checkpoint metadata
...
- This adds a historic view of the actions taken by nodes inside a thread, supporting rendering a richer history of a thread (eg in debug ui)
2024-05-09 14:30:29 -07:00
Nuno Campos
a6c6b8211f
Add tests for calling update on an empty thread
...
- this would eg be what you'd do in an api like openai assistants api
2024-05-08 10:43:31 -07:00
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