有了大型语言模型的加持,开发者可以实现很多全新的功能,适应更广泛的应用场景。
甚至LLM本身就具有编码能力,可以把自然语言指令直接转成代码,用户只需要提出想法、创意就能自动生成一个应用程序。
而作为大型语言模型开发框架的两大巨头,LangChain和DemoGPT最近官宣开展深度合作,用户可以利用LangChain用自然语言来构建、生成一个应用程序,然后在DemoGPT Marketplace上进行展示、交换,与目标用户进行互动,获取社区反馈,并最终将应用程序进行变现。
图片
也就是说,基本不用写代码,只需要一个足够好的创意,就可以躺着挣钱了!
DemoGPT:LangChain应用的新战场
DemoGPT是一个开源项目,致力于增强、简化基于大型语言模型(LLM)的应用程序开发流程,DemoGPT的核心竞争力在于协同各种基础模型的功能,只需一个提示即可自动生成LangChain x Streamlit应用程序。
图片
从DemoGPT的运行框架和架构设计中可以发现,DemoGPT是一个面向代码生成操作的结构化方法。
主要包括规划、任务创建、代码段生成、代码段合并、数据库保存,每个阶段都在确保最佳功能和效率方面发挥着关键作用。
规划(Planning):先根据用户的指令生成一个规划
当用户提交指令后,首先会调用规划模块,这一部分也是DemoGPT整体结构的基石,因为后续步骤高度依赖于HuggingGPT启发的有效全局规划。
不过与HuggingGPT直接根据指令生成任务列表不同的是,DemoGPT首先用自然语言创建规划,再创建任务列表,这种处理方式对于LLM来说更直观。
规划模块知道所有可用的工具集以最小化幻觉问题,还使用了一个自我完善(self-refining)的策略,以便持续规划,直到被自己验证通过为止。
图片
任务创建(Task Creation):使用计划和指令创建特定任务
在实验结果中可以看到,相比直接从指令中生成任务列表,使用自然语言规划可以最大限度地减少幻觉。
图片
DemoGPT的新方法也减少了任务创建过程中所需的细化步骤的数量,自我完善的子阶段也有助于摆脱幻觉:模块会检查每个任务的(输入,输出)数据对,然后根据生成结果给自己反馈,再根据最后一次迭代的结果再次生成任务,并持续循环此过程直到通过测试。
代码段生成(Code Snippet Generation:):将任务转换为Python代码片段
每个任务都需要特定的提示符,因此当把目标任务转换为Python代码时,需要使用自定义的提示符进行转换;转换过程中考虑到了之前生成的代码,因此所有的步骤都可以很好地协同运行。
图片
组合代码段(Combining the Code Snippets):代码片段被组合成最终代码,实现交互式应用程序
所有代码段都将被放入提示符中,要求语言模型将代码组合在一起;最终代码需要与Streamlit兼容(例如状态管理等),模块的输出通过自我完善技术实现进一步改进,以确保与Streamlit兼容。
图片
数据库保存(DB saving下一版本中推出):生成的计划、任务和代码片段存储在矢量数据库中
在整个架构中,每一个阶段都在对输出进行自我优化以摆脱幻觉的问题。
此外,每个模块都有专门的样例用于少样本学习,适配了大部分应用场景,使得应用程序可以创建更轻量级的模型,如不到GPT-4十分之一成本的GPT-3.5模型。
为了进一步降低成本并提高性能,数据库保存模块旨在将完善后的结果(规划、任务和代码片段)保存到矢量数据库中,以便下次从矢量数据库中获取相关示例并用于少样本学习,以减少完善步骤的数量,可以进一步降低应用程序生成的成本,同时提高生成速度。
DemoGPT实战
安装DemoGPT
安装过程只需要一行命令即可。
pip install demogpt
使用DemoGPT
用户可以通过CLI或Python接口来使用DemoGPT库。
命令行接口(CLI)
用户只需要在控制台键入demogpt命令,即可将DemoGPT应用程序作为Streamlit应用程序运行,运行后即可输入自己的API密钥并选择要使用的基础模型。
当一切准备就绪后,用户可以从提示符开始创建应用程序,只需要几秒钟就可以打造出一个PDF聊天机器人,或者打造出一个情感分析工具,接收网站内容,并返回文本的语气。
应用程序只会受到给定提示的限制,因此使用较长的提示,用户就可以创建出复杂且独特的AI应用程序。
图片
比如说推文生成器,DemoGPT可以从给定的主题标签和tweet的语气生成推文。
网络博主(Web Blogger)可以从给定的网站url中生成中等长度的博客。
Python库用法
用户也可以将DemoGPT应用程序作为Python库运行,合并到已有的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(instructinotallow=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)
LangChain x DemoGPT:从创意到市场
假设有一位AI爱好者,并且她有一个关于语言模型的、功能强大的应用程序开发的绝妙想法,那她就可以访问LangChain网站,并使用集成的DemoGPT应用程序来实现自己的想法。
图片
首先需要在LangChain网站上生成应用程序,只需要通过一些提示和输入即可完成制作,并且能够实时接入现实世界。
经过调试后,只要对应用程序的运行结果感到满意,Sarah就可以在DemoGPT Marketplace上展示应用程序,全球观众都可以访问使用。
图片
网址链接:https://www.langchain.com/
其他开发人员、企业或AI爱好者都可以在网站上发现Sarah的应用程序,与之交互,提供反馈,甚至提出协作请求来提升应用程序的效果。
图片
此外,Marketplace也为用户提供了通过许可或API销售将其应用程序变现的机会。
随着应用程序获得更多关注,接收到更多社区的反馈后,用户还可以回到LangChain网站上来迭代和改进应用程序,确保功能上与用户保持相关且有价值。
整个创建、展示、反馈和改进的循环过程确保了LangChain x DemoGPT生态系统保持活力、创新和以用户为中心。
除此之外,DemoGPT和LangChain合作后,最让人感到兴奋的前景之一就是DemoGPT Marketplace,开发者希望可以打造出一个平台,让LangChain社区与全球的AI爱好者一起,共同创建、展示、交换甚至将其自动生成的应用程序变现。
DemoGPT Marketplace不仅仅是一个平台,还将是一个充满活力的社区和空间,LangChain用户可以在其中协作,迭代和改进应用程序,确保该生态系统保持动态,以用户为中心,并处于技术进步的前沿。
随着Streamlit带来的交互性和用户体验的增强,这些应用程序将不仅仅是功能性的,而且会带来真正的变革。
平台的未来
当用户在LangChain上制作出独一无二的应用程序时,开发团队希望并设想这些创新的作品可以在DemoGPT Marketplace上找到一个新家,并和其他的应用程序共同展示,让更广泛的受众可以发现、互动并从这些工具中获得价值。
此次LangChain x DemoGPT合作背后的愿景是建立一个协同生态系统,用户在LangChain上实现应用程序生成,并在DemoGPT Marketplace上提供一个发现平台,弥合创作者和消费者之间的差距,可以说是LLM世界的巨大进步!
参考资料:
https://blog.langchain.dev/langchain-demogpt-new-era-for-gen-ai-applications/