日期
作者
LangChain 团队
LangGraph

🐍 LangGraph Python 库的性能增强和 CI 基准测试

日期:
作者: LangChain 团队

我们已向 LangGraph Python 库发布了多项更新! 这些更新包括以下内容:

性能增强: 我们已做出重大改进,以简化处理流程并减少开销,从而在确保向后兼容性的同时提高整体性能。

  • 减少了对同一对象和不从中受益的对象的 langchain.load.dumps 的冗余调用。

  • 使用带有自定义扩展类型的 MsgPack 替换了 JSON 序列化,从而提高了速度和效率。

  • 避免了字典、列表和检查点中不必要的对象副本,除非严格要求。

  • BaseChannel 和所有子类切换为使用 slots,从而优化了内存使用。

代码优化和简化: 我们的重点是消除低效率并简化工作流程,以实现更快的执行速度。

  • 当现有 CallbackManager 实例可用时,不再创建新的实例。

  • 重新实现了 langchain_core.runnables.ensure_configmerge_configs,以避免不必要的调用。

  • 使用伪随机数而不是加密安全的字节简化了检查点和任务 ID 的生成。

CI 基准测试和缓存改进: 为了保持高性能,我们引入了 CI 基准测试并改进了缓存机制。

  • 添加了在 CI 上运行的性能基准测试,以跟踪和保持改进。

  • 缓存了 RunnableCallable 中的函数签名检查,减少了不必要的查找。

  • 避免了条件边缘中动态 ChannelWrite runnable 的创建,从而改善了执行流程。

这些更新共同增强了 LangGraph 的性能和可靠性,使其对用户而言更快、更高效。

由 LaunchNotes 提供技术支持