AutoChain 是一个由 Forethought-Technologies 开发的开源框架,旨在帮助开发者构建轻量级、可扩展且可测试的基于大语言模型(LLM)的生成式智能体。
用途
大多数生成式智能体需要针对特定目的进行大量定制,使用现有工具和框架支持不同用例可能非常困难。此外,评估此类智能体通常依赖人工尝试不同场景,既重复又昂贵。AutoChain 旨在解决这两个问题:提供一个轻量级且可扩展的框架,让开发者使用 LLM 和自定义工具构建自己的智能体,并通过模拟对话自动评估不同用户场景,从而支持生成式智能体的快速迭代。
主要能力
- 轻量级且可扩展的生成式智能体管道。
- 智能体可以使用不同的自定义工具,并支持 OpenAI 函数调用。
- 简单的记忆跟踪,用于保存对话历史和工具输出。
- 基于模拟对话的自动化智能体多轮对话评估。
使用方式
从源码安装:克隆仓库后安装。需要设置 PYTHONPATH 和 OPENAI_API_KEY。可以交互式地运行与智能体的第一次对话。
AutoChain 简化了智能体构建过程:
- 易于更新提示词:通过 -v 标志在控制台输出详细的提示词和输出,便于可视化和迭代。
- 最多两层抽象:为支持快速迭代,移除了其他框架中的大多数抽象层。
- 自动化多轮评估:提供测试框架,自动评估智能体在不同用户场景下的能力。
对于有 LangChain 经验的用户,AutoChain 的接口有 80% 是相似的。最基本示例使用默认链和 ConversationalAgent。可以像在 LangChain 中一样向智能体添加工具列表。AutoChain 还增加了对 OpenAI 模型中函数调用的支持,在幕后将函数规范转换为 OpenAI 格式,无需显式指令,因此可以继续使用熟悉的 Tool 接口。更多示例见 autochain/examples 和工作流评估测试用例。
工作流评估:AutoChain 引入了工作流评估框架,在生成式智能体和 LLM 模拟的测试用户之间运行对话。测试用户包含各种用户上下文和期望的对话结果,便于添加新用户场景的测试用例并快速评估。该框架利用 LLM 评估给定的多轮对话是否达到预期结果。可以在交互模式下运行测试,或一次性运行全套测试用例。autochain/workflows_evaluation/conversational_agent_eval/generate_ads_test.py 包含几个示例测试用例。
适用场景
适用于需要构建自定义生成式智能体的开发者,尤其是希望快速迭代、轻松定制和自动化评估智能体行为的场景。熟悉 LangChain 的用户可以快速上手。
限制
该框架的具体平台支持、收费模式、价格等信息暂未提供。