LangChain入门:构建LLM驱动的应用程序的初学者指南

LangChain & DemoGPT

一、介绍

        你有没有想过如何使用大型语言模型(LLM)构建强大的应用程序?或者,也许您正在寻找一种简化的方式来开发这些应用程序?那么你来对地方了!本指南将向您介绍LangChain,这是一个简化构建LLM驱动的应用程序的过程的工具。我们还将深入研究 DemoGPT,这是一项尖端技术,可自动执行管道生成过程,提供无缝的开发体验。

二、开始使用语言链

        LangChain是一个促进端到端语言模型应用程序开发的平台。要开始使用 LangChain 开始您的旅程,第一步是安装它。详细的安装说明可以在 LangChain 文档中找到。我们这里简述为:

11 最低安装

pip install langchain

        这将安装 LangChain 的最低要求。 LangChain 的很多价值在于将其与各种模型提供程序、数据存储等集成。默认情况下,并未安装执行此操作所需的依赖项。然而,还有另外两种安装 LangChain 的方法可以引入这些依赖项。

2  要安装常见 LLM 提供程序所需的模块,请运行:

pip install langchain[llms]

3 要安装所有集成所需的所有模块,请运行:

pip install langchain[all]

请注意,如果使用 ,则在将方括号作为参数传递给命令时,需要用方括号括起来,例如:zsh

pip install 'langchain[all]'

        安装后,您需要将LangChain与大型语言模型(LLM)集成。在本指南中,我们将使用 OpenAI 的 API,这些 API 不需要额外的设置。

三、使用 LangChain 构建语言模型应用程序

        在设置 LangChain 并将其与 LLM 集成之后,有趣的部分开始了——构建您的语言模型应用程序。LangChain 提供了各种模块,您可以组合这些模块来创建复杂的应用程序或单独用于更简单的应用程序。

3.1 使用法学LLM进行预测

        LangChain最基本的构建块是在某些输入上调用LLM。例如,假设我们正在创建一个服务,该服务根据公司制作的内容生成公司名称。下面是如何使用 LangChain 实现此目的的简单示例:

import { OpenAI } from "langchain/llms/openai"; 
const model = new OpenAI({ openAIApiKey: "sk-…", temperature: 0.9 }); 
const res = await model.call("What would be a good company name for a company that makes colorful socks?"); 
console.log(res); // Outputs: '\n\nFantasy Sockery'

3.2 管理LLM的提示

        在应用程序中使用 LLM 时,通常不会将用户输入直接发送到 LLM。相反,您将使用用户输入构造提示并将其发送到 LLM。LangChain 使这变得简单:

import { PromptTemplate } from "langchain/prompts"; 
const template = "What is a good name for a company that makes {product}?"; 
const prompt = new PromptTemplate({ template: template, inputVariables: ["product"] }); 
const res = await prompt.format({ product: "colorful socks" }); 
console.log(res); // Outputs: 'What is a good name for a company that makes colorful socks?'

3.3 使用 LangChain 创建多步骤工作流

        实际应用程序不仅仅是单个基元,而是它们的组合。LangChain 允许您创建由链接组成的链,这些链接可以是原语,如 LLM 或其他链。下面是如何创建 LLMChain 的示例,该 LLMChain 使用 PromptTemplate 格式化用户输入并将格式化的响应传递给 LLM:

import { OpenAI } from "langchain/llms/openai"; 
import { PromptTemplate } from "langchain/prompts"; 
import { LLMChain } from "langchain/chains";
const model = new OpenAI({ temperature: 0.9 }); 
const template = "What is a good name for a company that makes {product}?"; 
const prompt = new PromptTemplate({ template: template, inputVariables: ["product"] }); 
const chain = new LLMChain({ llm: model, prompt: prompt });
const res = await chain.call({ product: "colorful socks
" }); 
console.log(res); // Outputs: { text: '\n\nColorfulCo Sockery.' }

3.4使用代理动态运行链

        LangChain超越了代理的预定工作流程。代理使用 LLM 来确定要执行的操作以及顺序。此高级功能使您的应用程序能够实时适应用户输入,从而显著增强其功能。

3.5 使用 DemoGPT 自动化整个管道

        虽然LangChain为构建LLM驱动的应用程序提供了强大的基础,但还有另一个工具可以增强您的开发过程:DemoGPT。

        DemoGPT 利用 LangChain 文档的强大功能来自动化管道生成、执行代码调试并交付精美的演示应用程序。通过根据需求智能创建数据处理管道,无需手动施工,节省开发人员的时间和精力。

        此外,它还提供交互式演示生成、版本控制和多个产品版本的无缝管理。它显着提高了效率和准确性,使其成为软件开发工具包中的宝贵工具。

        如果您有兴趣观看使用 LangChain 和 DemoGPT 构建的应用程序的现场演示,请查看 Streamlit 应用程序上的 DemoGPT

        此演示展示了 DemoGPT 的功能,并通过模拟交互和实时可视化提供了实践经验。

四、结论

        LangChain和DemoGPT是强大的工具,可以简化开发LLM驱动的应用程序的过程。通过自动化管道生成过程并提供基于用户输入的动态链,它们允许开发人员轻松创建复杂的应用程序。无论您是经验丰富的开发人员还是刚刚开始使用LLM,这些工具都可以提供无缝且高效的开发体验。

        那么,你还在等什么?立即开始使用 LangChain 和 DemoGPT构建您的 LLM 应用程序!

        本指南只是使用这些工具可以实现的目标的开始。随着您进一步探索它们,您将发现它们可以增强您的开发过程并使您能够创建强大的交互式应用程序的更多方法。

        我希望本指南内容丰富且鼓舞人心。祝您编码愉快!

参考资料:

Getting Started with LangChain: A Beginner’s Guide to Building LLM-Powered Applications | by DemoGPT | Jul, 2023 | AI Mind

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67650.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Redis实现内容推送功能

导读 在日常使用中,我们经常能看见内容推送功能。 常见的场景有,比如你在bilibili关注了某个up主,当up主发布视频后,就会推送到你的收件箱或者是动态中,让粉丝能够及时得知所关注的人发布了内容。 又比如朋友圈&…

spark的使用

spark的使用 spark是一款分布式的计算框架,用于调度成百上千的服务器集群。 安装pyspark # os.environ[PYSPARK_PYTHON]解析器路径 pyspark_python配置解析器路径 import os os.environ[PYSPARK_PYTHON]"D:/dev/python/python3.11.4/python.exe"pip inst…

【Java】2021 RoboCom 机器人开发者大赛-高职组(复赛)题解

7-8 人工智能打招呼 号称具有人工智能的机器人,至少应该能分辨出新人和老朋友,所以打招呼的时候应该能有所区别。本题就请你为这个人工智能机器人实现这个功能:当它遇到陌生人的时候,会说:“Hello X, how are you?”其…

用于构建生成式 AI 应用程序备忘单的最佳 Python 工具

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 新一代的声音 KDnuggets发布了一份富有洞察力的新备忘单,重点介绍了用于构建生成AI应用程序的顶级Python库。 毫无疑问,读者都知道,生成式人工智能是目前数据科…

汽车制造业上下游协作时 外发数据如何防泄露?

数据文件是制造业企业的核心竞争力,一旦发生数据外泄,就会给企业造成经济损失,严重的,可能会带来知识产权剽窃损害、名誉伤害等。汽车制造业,会涉及到重要的汽车设计图纸,像小米发送汽车设计图纸外泄事件并…

【Vue-Router】别名

后台返回来的路径名不合理&#xff0c;但多个项目在使用中了&#xff0c;不方便改时可以使用别名。可以有多个或一个。 First.vue <template><h1>First Seciton</h1> </template>Second.vue&#xff0c;Third.vue代码同理 UserSettings.vue <tem…

DTC服务(0x14 0x19 0x85)

DTC相关的服务有ReadDTCInformation (19) service&#xff0c;ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…

vmalert集成钉钉告警

vmalert通过在alert.rules中配置告警规则实现告警&#xff0c;告警规则语法与Prometheus兼容&#xff0c;依赖Alertmanager与prometheus-webhook-dingtalk实现钉钉告警&#xff0c;以下步骤&#xff1a; 1、构建vmalert 从源代码构建vmalert&#xff1a; git clone https://…

软考:中级软件设计师:文件管理,索引文件结构,树型文件结构,位示图,数据传输方式,微内核

软考&#xff1a;中级软件设计师: 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#xff08;1…

【笔试题心得】关于KMP在笔试中的题型

好几家都考到KMP了 问的比较多的是 next数组 &#xff0c; 其实KMP的相关机制我在代码随想录算法训练营第九天|KMP算法_菜鸟的Zoom之旅的博客-CSDN博客中写道过&#xff0c;现在在复习一下&#xff0c;由于next数组的定义其实会有所歧义&#xff08;有些程序中会直接将前缀表作…

从一到无穷大 #10 讨论 Apache IoTDB 大综述中看到的优劣势

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作)&#xff0c;由 李兆龙 确认&#xff0c;转载请注明版权。 文章目录 引言问题定义新技术数据模型schemalessTsfile设计双MemTable高级可扩展查询其他 IotD…

基于熵权法对Topsis模型的修正

由于层次分析法的最大缺点为&#xff1a;主观性太强&#xff0c;影响判断&#xff0c;对结果有很大影响&#xff0c;所以提出了熵权法修正。 变异程度方差/标准差。 如何度量信息量的大小&#xff1a; 把不可能的事情变成可能&#xff0c;这里面就有很多信息量。 概率越大&…