LangChain 🤝 DemoGPT: New Era for Gen-AI Applications

LangChain 🤝 DemoGPT: Gen-AI 应用的新纪元

7 分钟阅读

编者按:这篇文章是与 DemoGPT 团队合作撰写的。我们对他们为简化构建 LLM 应用以及将其交付到用户手中并在过程中建立社区所做的工作感到兴奋。我们也认为他们基于 LangChain 和 Streamlit 构建平台的方式非常出色——他们的幕后演练为任何使用语言模型生成应用的人提供了一些很棒的想法。

今天,我们很高兴宣布 DemoGPT 与 LangChain 合作,以简化生成式 AI 应用的创建。在这篇博文中,我们将深入探讨此次合作的细节,以及如何使用 DemoGPT 通过 LangChain 构建可扩展的 LLM 驱动的应用。

DemoGPT:LangChain 应用的新兴市场

DemoGPT 是一个开源项目,旨在不断突破基于大型语言模型 (LLM) 的应用开发的界限。DemoGPT 的核心是协同各种基础模型的功能,只需一个提示即可自动生成 LangChain x Streamlit 应用。

以下是深入了解其工作原理以及我们对其未来发展方向的展望。

剖析 DemoGPT:深入了解其技术核心

DemoGPT 架构

浏览 DemoGPT 的架构,揭示了一种结构化的代码生成操作方法。本次详细探索将带您了解其核心阶段:规划、任务创建、代码片段生成、代码片段组合以及数据库保存。每个阶段都在确保最佳功能和效率方面发挥着关键作用。让我们深入研究每个组件,以了解 DemoGPT 工作流程的复杂性。

规划:DemoGPT 首先从用户的指令生成一个计划。

当用户提交指令时,首先进入的是规划模块。该部分是整个 DemoGPT 结构的基础,因为后续步骤都严重依赖于受 HuggingGPT 启发的有效全局规划。然而,与直接从指令到任务列表的 HuggingGPT 不同,DemoGPT 首先创建自然语言计划,然后再创建任务列表。这种处理方式对于 LLM 来说更直观。

规划模块了解所有可用的工具集,以最大限度地减少幻觉。它还使用自我完善策略,以便规划持续进行,直到它自己验证为止。

任务创建: 然后,它使用计划和指令创建特定任务。

在我们的实验中,我们发现使用自然语言计划可以最大限度地减少幻觉,而不是直接从指令到任务列表。我们的新方法减少了任务创建过程中所需的完善步骤的数量。此步骤还具有自我完善的子阶段,以消除虚构的任务。在此子阶段,模块检查每个任务的(输入、输出)对,然后根据结果,它向自身提供反馈,然后根据上次迭代再次生成任务,并继续进行直到通过测试。

代码片段生成: 任务被转换为 Python 代码片段。

每个任务都有其自己的提示,以便在将相应任务转换为 Python 代码时,它使用其自定义提示进行此转换。转换过程会考虑到先前生成的代码,因此一切都协同工作。

代码片段组合: 代码片段被组合成最终代码,从而生成交互式应用程序。

所有代码片段都放入一个提示中以将它们组合在一起。在这里,最终代码与 Streamlit 兼容(例如状态管理)。此模块的输出通过自我完善技术进一步改进,以确保一切都与 Streamlit 兼容。

数据库保存(即将在下一个版本中推出): 生成的计划、任务和代码片段存储在向量数据库中

在整个架构中,每个阶段都在应用自我完善以消除虚构的结果。此外,每个模块都有自己的示例用于小样本学习,并且适用于大多数应用程序。这效果很好,并允许使用像 GPT-3.5 这样更轻量级的模型创建应用程序,成本仅为 GPT-4 的 10%。然而,为了进一步降低成本并使其性能更高,数据库保存模块旨在将批准的结果(计划、任务和代码片段)保存到向量数据库中,以便下次从向量数据库中获取相关示例并用于小样本学习,以减少完善步骤的数量。这将降低应用程序生成的成本,同时加快生成速度。

如何安装 DemoGPT?

安装 DemoGPT 的过程非常简单,旨在让您以最少的麻烦启动并运行。

pip install demogpt

如何使用 DemoGPT?

您可以通过 CLI 或使用其 Python 接口来使用 DemoGPT 库。

  1. 作为命令行界面 (CLI)

您只需键入以下命令即可将 DemoGPT 应用程序作为 Streamlit 应用程序运行

demogpt

运行后;输入您自己的 API 密钥并选择您要使用的基础模型。

当一切准备就绪后,您就可以仅从提示开始创建应用程序。让您的想象力引导您。您可以在几秒钟内创建一个与您的 PDF 应用聊天的应用,或者创建一个情感分析工具,该工具接收网站并返回文本的语气。

应用程序仅受给定提示的限制,因此使用更长的提示,您也可以创建复杂而独特的 AI 应用程序。

Tweet 生成器:一个可以从给定的主题标签和推文语气生成推文的应用程序。

Web Blogger:一个可以从给定的网站 URL 生成 Medium 博客的应用程序

  1. 作为 Python 库

您可以将 DemoGPT 应用程序作为 Python 库运行。要将 DemoGPT 合并到您的 Python 应用程序中,请按照以下步骤操作。

导入必要的模块

from demogpt import DemoGPT

实例化 DemoGPT 代理

agent = DemoGPT(model_name="gpt-3.5-turbo-0613", openai_api_key="YOUR_API_KEY", max_steps=10)


设置您的指令和标题

instruction = "Your instruction here"
title = "Your title here"


迭代生成阶段并提取最终代码

code = ""
for phase in agent(instruction=instruction, title=title):
    print(phase)  # This will display the resulting JSON for each generation stage.
    if phase["done"]:
        code = phase["code"# Extract the final code.
print(code)


有关更多信息,您可以访问 DemoGPT 文档

从构想到市场:LangChain x DemoGPT 的旅程

为了更清晰地了解本次合作,让我们一起浏览一个潜在的用户旅程

想象一下 Sarah,一位 AI 爱好者,她对一个利用语言模型力量的应用程序有一个绝妙的想法。她访问了 LangChain 网站,在那里她被介绍了集成的 DemoGPT 应用程序生成工具。

第一步,应用程序生成发生在 LangChain 网站上

只需几个提示和输入,Sarah 就可以制作她的应用程序,并实时观看它的诞生。一旦对她的创作感到满意,Sarah 就可以选择在 DemoGPT 市场上展示她的应用程序。只需简单点击一下,她的应用程序就会被列出,从而让全球受众都可以访问。

应用程序生成后,它将被列在 DemoGPT 市场上

其他开发人员、企业或 AI 爱好者现在可以发现 Sarah 的应用程序,与之互动,提供反馈,甚至提出协作增强建议。

所有生成的应用程序都将在 DemoGPT 市场上列出和使用

此外,市场还为 Sarah 提供了通过许可或 API 销售将其应用程序货币化的机会。随着她的应用程序获得关注,她会收到来自社区的反馈,引导她回到 LangChain 网站迭代和改进她的应用程序,确保它对用户保持相关性和价值。

这种创建、展示、反馈和改进的循环过程确保了 LangChain x DemoGPT 生态系统保持活力、创新和以用户为中心。

合作的力量:LangChain x DemoGPT

我们合作中最令人兴奋的前景之一是 DemoGPT 市场 的出现。我们设想 DemoGPT 市场作为一个平台,LangChain 社区以及全球的开发人员和 AI 爱好者可以在这里创建、展示、交流甚至将其自动生成的应用程序货币化。

这个市场不仅仅是一个平台;它将是一个充满活力的社区和一个空间,LangChain 用户可以在其中协作、迭代和改进应用程序,确保我们的生态系统保持活力、以用户为中心,并处于技术进步的最前沿。借助 Streamlit 带来的增强的交互性和用户体验,这些应用程序将不仅具有功能性,而且真正具有变革性。

下一步是什么?

随着用户在 LangChain 上制作他们独特的应用程序,我们希望并设想这些创新作品将在 DemoGPT 市场上找到新的家园。该平台将成为一个繁华的中心,这些自动生成的应用程序将在其中突出列出和展示。这不仅是为了让应用程序获得可见性,而且还为了创建一个更广泛的受众可以发现、互动并从中获取价值的空间。

本次合作背后的愿景是建立一个协同生态系统。通过在 LangChain 上启用应用程序生成并在 DemoGPT 市场上提供发现平台,我们旨在弥合创建者和消费者之间的差距。

LangChain 和 DemoGPT 之间的合作可能是 LLM 世界迈出的一大步!

我们鼓励我们的社区在 LangChain Discord 频道上分享他们的反馈、见解和经验。您的意见对我们来说非常宝贵,它将在塑造本次合作的未来方面发挥关键作用。

有关更多详细信息、高级配置或故障排除,您可以随时参考 DemoGPT GitHub 存储库DemoGPT 市场 并考虑给一个星标。