LangFlow–可视化的LangChain

LangChain1年前 (2023)发布 admin
4,122 0 0

将llm嵌入到您的应用程序中,无需代码.

LangChain是一个Python库,它可以更容易地将大语言模型的功能与应用程序的逻辑结合起来。LangChain允许用户创建和组合模块化组件,如prompt序列化器、代理和链,以实现各种自然语言任务。然而,如果没有用户友好的界面,设计和测试LangChain流可能是具有挑战性的。

这就是LangFlow的用武之地。LangFlow是一个针对LangChain的GUI,它采用了反应流设计,提供了一种轻松的方式,通过拖放组件和聊天框来实验和原型化流程。LangFlow允许您探索不同的大语言模型、prompt参数、链配置和代理行为,并跟踪代理的思维过程。您还可以将流导出为JSON文件,以便与LangChain一起使用。

在本文中,我们将向您展示如何使用LangFlow用LangChain创建您自己的会话代理。

LangFlow安装

正如GitHub库中所描述的,你可以通过pip install langflow安装它,前提条件如下:

然后,运行命令langflow:它将打开LangChain GUI的本地部署界面。

LangFlow--可视化的LangChain

在GUI中,在左边的栏中,你可以看到所有你可以使用的工具:

  • Agent→他们将大语言模型的决策与工具结合起来,使他们能够实施和执行行动;
  • Chains→允许组合人工智能应用程序的不同组件,如prompts,大语言模型和存储器;
  • Loaders→允许与外部源集成以上传信息(如pdf);
  • Embeddings→将文本嵌入到向量潜在空间的模型;
  • LLMs→用于理解和生成文本的模型,包括今天的OpenAI模型和hug Face Hub;
  • Memories→LangChain组件,能够维护会话的记忆;
  • Prompts→用于定义prompts框架的模板;
  • Text Splitters→将文本分割成更小的块并避免tokens限制问题的实用程序;
  • Toolkits→为特定用例与外部系统集成,例如,CSV文件或Python Agent;
  • Tools→代理可以用来与外部工具交互的功能,如必应搜索或本地文件系统;
  • Utilities→对SQLDB或Bing API等系统有用的包装器;
  • Vector Stores→数据库,文本Embeddings可以保存,然后与用户的输入进行匹配;
  • Wrappers→请求库的轻量级包装器

然后,每个框都带有入站和出站链接,并用颜色标记,以便更容易理解可以链接到哪些其他块。您还可以从每个块的右上角看到链接是成功还是失败(包括失败的原因)。

LangFlow--可视化的LangChain

最后,无论何时完成流程,都可以直接使用基于聊天的GUI进行测试:

LangFlow--可视化的LangChain

很好,现在我们已经熟悉了这个工具,让我们从头开始构建第一个代理。

构建一个简单的代理

在本教程中,我将构建一个由OpenAI GPT3驱动的简单代理,它也能够浏览互联网。这是整个流程:

LangFlow--可视化的LangChain

让我们一块一块地检查它:

现在让我们测试一下,询问2021年之后发生的事情:

LangFlow--可视化的LangChain

这样做的好处是,如果您单击消息图标,您还可以展示LLM背后的思维过程,以及使用外部工具(在我们的示例中是Bing)和观察的一组操作。

LangFlow--可视化的LangChain

正如您所看到的,代理执行了一个web搜索来回答这个问题,因为它没有这个参数内存。

结论

最近,Langflow已经展示了强大的功能,它也有与llm进一步集成的路线图(包括Azure OpenAI!)。另外,你可以通过SDK使用整个流程,并将其嵌入到进一步的应用程序中,如下所示:

1
2
3
4
5
from langflow import load_flow_from_json

flow = load_flow_from_json("your_flow_name.json")
# Now you can use it like any chain
flow("What is the plot of Avatar 2?")

OK,结束,有兴趣的朋友可以试起来。

© 版权声明

相关文章

暂无评论

暂无评论...