Tat Dat Duong
c8a605cbc8
Update PregelProtocol
2025-03-19 14:29:11 +01:00
Tat Dat Duong
fbec207446
Apply formatting
2025-03-19 14:29:09 +01:00
Tat Dat Duong
2223c82606
Update to match JS
2025-03-19 14:28:55 +01:00
Tat Dat Duong
06f2eef74c
Fix bug with stale task_id
2025-03-19 14:22:25 +01:00
Tat Dat Duong
62aa66cd4b
Add better docstrings
2025-03-19 14:22:25 +01:00
Tat Dat Duong
8ffe9634b7
Clearer breakdown
2025-03-19 14:22:25 +01:00
Tat Dat Duong
4b1d6d2aeb
Rename to StateUpdate
2025-03-19 14:22:25 +01:00
Tat Dat Duong
199ab46429
Avoid using checkpointer.list in async
2025-03-19 14:22:25 +01:00
Tat Dat Duong
c758954519
Use awith_checkpointer instead
2025-03-19 14:22:25 +01:00
Tat Dat Duong
5bfb3bb882
Avoid running with shallow checkpointer
2025-03-19 14:22:24 +01:00
Tat Dat Duong
68a5c3f4c7
Implement batch events for RemotePregel
2025-03-19 14:22:04 +01:00
Tat Dat Duong
b7fb8e6afb
Fix types
2025-03-19 14:22:04 +01:00
Tat Dat Duong
c34c798763
Add tests
2025-03-19 14:22:04 +01:00
Tat Dat Duong
792cd805a7
Fix tests
2025-03-19 14:21:44 +01:00
Tat Dat Duong
764929afd9
Fix lint issues
2025-03-19 14:21:43 +01:00
Tat Dat Duong
1e751a2256
Fix typo
2025-03-19 14:21:43 +01:00
Tat Dat Duong
e6726802f7
feat(pregel): add bulk update state method
...
This method is useful for recreating a thread from a list of checkpoint writes. A new method is needed to clone a checkpoint that has been created from multiple writes (functional API, map-reduce)
Port of https://github.com/langchain-ai/langgraphjs/pull/969
2025-03-19 14:21:43 +01:00
Nuno Campos and GitHub
24f7d7c439
Add pydantic state benchmark case ( #3872 )
2025-03-18 18:10:50 -07:00
William FH and GitHub
9533d35a84
0.3.16 ( #3908 )
2025-03-18 17:37:16 -07:00
William Fu-Hinthorn
67ac35c5bc
0.3.16
2025-03-18 17:35:53 -07:00
William Fu-Hinthorn
12c7ddf3a3
Update kafka
2025-03-18 17:30:21 -07:00
William Fu-Hinthorn
d6caa3b00a
lint
2025-03-18 17:18:07 -07:00
William Fu-Hinthorn
3d48526c16
Methods are weak
2025-03-18 17:17:04 -07:00
Nuno Campos
2f3bd69bf5
Add pydantic benchmark
2025-03-18 16:12:34 -07:00
Nuno Campos
f10a0c6f32
Simpler runner
2025-03-18 15:15:26 -07:00
8d33938173
Improve documentation string for SqliteSaver ( #3857 )
...
* Document that `check_same_thread` as an option when creating sqlite
connection.
* Document why it's OK to do that.
---------
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
2025-03-18 21:29:05 +00:00
William FH and GitHub
1c73b1e45a
Schema coercer should never throw ( #3871 )
...
- pydantic will do that for us if needed
2025-03-18 14:17:08 -07:00
William FH and GitHub
465d5d648b
libs: pregel: find_subgraph_pregel: Do not cache introspection ( #3894 )
...
When searching for subgraphs stop caching inspection for the graph drawing & subgraph inference.
Fixes #3842
2025-03-18 14:09:55 -07:00
William Fu-Hinthorn
b751e8bcee
_evaluate() forward ref
2025-03-18 14:07:23 -07:00
Nuno Campos and GitHub
8ec3982056
Enable larger cases of sequential bench graph ( #3905 )
...
- Now that we're a lot faster on this case, we can enable some larger
test cases
2025-03-18 14:05:27 -07:00
William FH and GitHub
f17f264a7a
Merge branch 'main' into fix_subgraph_tools
2025-03-18 13:49:30 -07:00
William Fu-Hinthorn
086443472f
Drop cache
2025-03-18 13:46:41 -07:00
William Fu-Hinthorn
936e69404e
Revert "libs: pregel: find_subgraph_pregel: Do not search via introspection"
...
This reverts commit 2458f2d2e0 .
2025-03-18 13:43:08 -07:00
Nuno Campos
0e70b8d94f
Enable larger cases of sequential bench graph
...
- Now that we're a lot faster on this case, we can enable some larger test cases
2025-03-18 13:13:20 -07:00
Nuno Campos and GitHub
e1aa1a4510
0.3.15
2025-03-18 13:11:37 -07:00
William Fu-Hinthorn
ee650ab85f
Only throw if in union
2025-03-18 09:58:07 -07:00
Nuno Campos
7a959f62cc
Fix assertion
2025-03-18 09:54:20 -07:00
Nuno Campos
9b5549f759
Fix flaky assertion
2025-03-18 09:43:56 -07:00
Nuno Campos
fa96c0ac76
One more
2025-03-18 09:34:52 -07:00
Nuno Campos
98b8ff904c
Update test assertions for triggers
2025-03-18 09:30:29 -07:00
Nuno Campos
951131c8ec
Lint
2025-03-18 09:15:43 -07:00
Nuno Campos and Nuno Campos
8bcdba822e
Reduce to 4.1s
2025-03-18 09:15:28 -07:00
Nuno Campos and Nuno Campos
60fc49b448
Speed up prepare_single_task
...
- sequential(2000) goes from 8.4s to 4.7s
- replace UUID(str).bytes with simpler str.encode()
- find only the first active trigger, instead of the full list
- use a dedicated function for checking active trigger
2025-03-18 09:15:11 -07:00
Nuno Campos and GitHub
1d21b4ba08
Improve prepare_single_task trigger checks to linear complexity ( #3891 )
...
- Was O(n^2) due to individual channels created for every conditional
edge, including the default cond edge created for Command
- Now using a single channel per node for all conditional edge / command
triggers, reducing to linear complexity
- Improves run time on sequential(200) from 1.8s to 0.14s
2025-03-18 09:13:54 -07:00
Nuno Campos and GitHub
55ec0d3d2a
Speed up task triggers check ( #3890 )
...
- Using a sentinel value is faster than raising-catching an exception
2025-03-18 09:10:38 -07:00
Nuno Campos and GitHub
c7dd7be030
benchmarks: add sequential graph of a few hundred nodes ( #3882 )
...
Performance is poor due to state graph utilizing n^2 entries right now
to accommodate Command. Adding benchmark prior to updating
implementation.
2025-03-18 08:19:52 -07:00
Nuno Campos
47d38a3022
Replace get_catch w is_available
2025-03-18 08:19:22 -07:00
Nuno Campos
8e829f38af
Smaller sizes until we merge the fixes
2025-03-18 08:05:25 -07:00
Nuno Campos
3f241d00a3
Fix bench
2025-03-18 06:45:41 -07:00
blafab-hg
2458f2d2e0
libs: pregel: find_subgraph_pregel: Do not search via introspection
...
When searching for subgraphs do not attempt to search function non
locals for RunnableCallables as this captures unwanted reference to
surrounding variables.
2025-03-18 11:19:09 +01:00