设置
首先,安装所需的依赖项:langchain-core
定义我们想要导入的接口,用于定义我们的自定义组件
langchain-tests
提供运行标准测试所需的测试和
pytest 插件langchain-tests 包中有 2 个命名空间:
Unit tests
Unit tests
Integration tests
Integration tests
pytest 基于类的测试套件。
实现标准测试
根据您的集成类型,您需要实现单元测试和集成测试中的其中之一或两者。 通过继承您的集成类型的标准测试套件,您将获得该类型的全套标准测试。要使测试运行成功,只有当模型支持正在测试的能力时,某个测试才应该通过。否则,应该跳过该测试。 因为不同的集成提供独特的功能集,LangChain 提供的大多数标准测试默认是选择性加入的,以防止误报。因此,你需要覆盖属性来指明你的集成支持哪些功能 - 请看下面的示例以作说明。tests/integration_tests/test_standard.py
您应该将测试组织在软件包根目录下的这些子目录中:
tests/unit_tests用于单元测试tests/integration_tests用于集成测试
- Unit tests
- Integration tests
ChatOpenAI
Unit tests
ChatAnthropic
Unit tests
ChatGenAI
Unit tests
运行测试
如果从模板引导创建集成,会提供一个Makefile,其中包含运行单元测试和集成测试的目标:
故障排除
要查看可用的标准测试套件完整列表、其中包含的测试信息以及常见问题的排查方法,请参阅 标准测试 API 参考。LangGraph.js
LangGraph.js 是一个用于构建有状态、多智能体应用程序的库,专为 JavaScript/TypeScript 设计。它通过将步骤构建为图中的边和节点,扩展了 LangChain 表达式语言,从而实现卓越的编排和持久化能力。核心概念
LangGraph.js 的设计旨在简化创建智能体和链的过程,这些智能体和链可以:- 跨调用保持状态:在多次运行之间保存上下文。
- 支持并发执行:并行运行多个步骤以提高效率。
- 可控的循环:实现复杂的循环逻辑,包括条件分支。
- 优先处理人机协作:轻松集成人工批准和反馈循环。
主要特性
有状态图
LangGraph.js 的核心是StateGraph 类,它允许你定义一个图,该图维护一个共享状态对象,并在图的每个节点之间传递。
持久化
LangGraph.js 内置了检查点功能,允许你保存和恢复图的状态。这对于创建能够中断和恢复的长期运行智能体至关重要。人机协作模式
LangGraph.js 提供了内置支持,用于创建需要人工输入的智能体。你可以轻松地暂停图的执行,等待人工批准,然后继续。快速开始
安装
基本示例
这是一个创建简单智能体的示例,该智能体使用工具来回答问题。pip
架构
LangGraph.js 构建于 LangChain.js 之上,但可以独立使用。它提供了一个声明式的 API,用于定义图结构,并处理执行、状态管理和持久化的复杂性。组件
- 图:定义工作流的结构。
- 节点:代表工作流中的单个步骤或函数。
- 边:定义节点之间的转换逻辑。
- 状态:在图的执行过程中维护和传递的数据。
执行流程
- 使用初始状态调用图。
- 当前节点处理状态并返回更新后的状态。
- 根据边逻辑确定下一个节点。
- 重复此过程,直到达到终止条件。