LangChain入门:构建LLM驱动的应用程序的初学者指南
一、介绍
你有没有想过如何使用大型语言模型(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
相关文章:
LangChain入门:构建LLM驱动的应用程序的初学者指南
LangChain & DemoGPT 一、介绍 你有没有想过如何使用大型语言模型(LLM)构建强大的应用程序?或者,也许您正在寻找一种简化的方式来开发这些应用程序?那么你来对地方了!本指南将向您介绍LangChain&#x…...
gitlab修改远程仓库地址
目录 背景: 解决: 1.删除本地仓库关联的远程地址,添加新的远程仓库地址 2.直接修改本地仓库关联的远程仓库地址 3.打开.git隐藏文件修改远程仓库地址 4.拉取代码报错(git host key verification failed) 背景: 公司搬家&#…...
VB+SQL自动点歌系统设计与实现
摘 要 随着社会的发展,人类的进步,21世纪人们的生活的水平有所提高,为了满足人们对生活的需要,丰富业余生活,就需要有一些娱乐的设施来弥补这些空缺,所以开发了自动点歌系统。 论文详细论述了系统总体设计思想、数据库设计以及功能模块设计等,给出了自动点歌系统一般流程…...
设计模式之适配器模式(Adapter)的C++实现
1、适配器模式的提出 在软件功能开发中,由于使用环境的改变,之前一些类的旧接口放在新环境的功能模块中不再适用。如何使旧接口能适用于新的环境?适配器可以解决此类问题。适配器模式:通过增加一个适配器类,在适配器接…...
C#系统锁屏事件例子 - 开源研究系列文章
今天有个网友问了个关于操作系统锁屏的问题。 我们知道,操作系统是基于消息和事件处理的,所以我们只要找到该操作系统锁屏和解屏的那个事件,然后在事件里进行处理即可。下面是例子介绍。 1、 项目目录; 下面是项目目录:…...
R语言实现免疫浸润分析(2)
原始数据承接免疫浸润分析(1),下面展示免疫浸润结果: #直接使用IOBR包内的cell_bar_plot pic<-cell_bar_plot(input quantiseq_immo_de[1:20,], title "quanTiseq Cell Fraction") #使用ggplot2 library(ggplot2)…...
系统架构设计师-信息安全技术(2)
目录 一、安全架构概述 1、信息安全所面临的威胁 二、安全模型 1、安全模型的分类 2、BLP模型 3、Biba 模型 4、Chinese Wall模型 三、信息安全整体架构设计 1、WPDRRC模型 2、各模型的安全防范功能 四、网络安全体系架构设计 1、开放系统互联安全体系结构 2、安全服务与安…...
STM32F4X-GPIO输入功能使用
STM32F4 GPIO输入模式配置 上一节讲GPIO的时候说到了将GPIO设置成输出模式,并通过将GPIO的电平拉高拉低控制LED灯的例程。GPIO除了用作输出功能之外,还可以用作输入功能。最常用的就是检测按键的输入电平。 硬件设计 本章的硬件是基于正点原子的探索者…...
Jenkins-CICD-python/Java包升级与回退
Jenkins- CICD流水线 python/Java代码升级与回退 1、执行思路 1.1、代码升级 jenkins上点击 upgrade和 代码版本号 --${tag} jenkins 推送 代码 和 执行脚本 到目标服务器/opt目录下 执行命令 sh run.sh 代码名称 版本号 upgrade 版本号 来自jenkins的 构建参数中的 标签…...
模糊测试面面观 | 模糊测试工具知多少
自1988年威斯康星大学的Barton Miller首次提出模糊测试这一概念以来,模糊测试领域经历了持续长久发展。模糊测试作为一种软件测试方法,旨在通过向程序输入模糊、随机、异常的数据,探测和发现潜在的漏洞和错误。这种方法备受安全研究人员的青睐…...
esp8266+电压检测模块检测电池电压
该模块5v时输出1v,因esp8266 ADC引脚(A0)支持电压范围是0v-1v,所以该方案仅支持0-5v电压检测 接线: - 接 esp8266GND 可不接 S 接 ADC esp8266 为 A0 VCC 被检测直流电 GND 被检测直流电- #include <Wire.h>const int adcPin A0; // …...
MongoDB增删改查操作
数据库操作: 在MongoDB中,文档集合存在数据库中。 要选择使用的数据库,请在mongo shell程序中发出 use <db> 语句 // 查看有哪些数据库 show dbs;// 如果数据库不存在,则创建并切换到该数据库,存在则直接切换到…...
Python | Package | Python的三种包安装方式(pip/whl/tar.gz)
文章目录 PIP 安装与卸载Source 安装与卸载Whell 安装与卸载 PIP 安装与卸载 pip install xxx pip install xxxversion_numberpip install captcha pip install captcha0.4# XXX/anaconda3/envs/py373/lib/python3.7/site-packages pip uninstall captchaSource 安装与卸载 p…...
1. 微信小程序开发环境搭建
下载 微信的小程序开发需要使用到微信开发者工具,通过https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html可以下载 下载完成后 安装...
Redis五大基本数据类型及其使用场景
文章目录 **一 什么是NoSQL?****二 redis是什么?****三 redis五大基本类型**1 String(字符串)**应用场景** 2 List(列表)**应用场景** 3 Set(集合)4 sorted set(有序集合…...
优于立方复杂度的 Rust 中矩阵乘法
优于立方复杂度的 Rust 中矩阵乘法 迈克克维特 跟随 发表于 更好的编程 6 分钟阅读 7月 <> 143 中途:三次矩阵乘法 一、说明 几年前,我在 C 年编写了 Strassen 矩阵乘法算法的实现,最近在 Rust 中重新实现了它,因为我继续…...
CentOS gcc介绍及快速升级
1.gcc介绍 GCC(GNU Compiler Collection)是一个开源的编译器套件,由 GNU(GNUs Not Unix!的递归缩写) 项目开发和维护。它是一个功能强大且广泛使用的编译器,支持多种编程语言,包括 C、C、Objective-C、Fortran、Ada 和…...
IO多路复用中select的TCP服务器模型和poll服务模型
select的TCP服务器模型 服务器端 #include <head.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> #include <sys/select.h> #include <sys/time.h>#define PORT 6666 //1024~4…...
AI工程师招募;60+开发者AI工具清单;如何用AI工具读懂插件源码;开发者出海解读;斯坦福LLM课程 | ShowMeAI日报
👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 一则AI工程师招募信息:新领域需要新技能 Vision Flow (目的涌现) 是一家基于 AGI 原生技术的创业公司,是全球探…...
Mysql 使用JSON_SEARCH函数 判断多表查询时,某个拼接字段是否包含另外一个字段
场景 两个表管理查询 关联字段为A表id, B表的ids A表id是正常的整数, B的ids是id拼接成的字符类型, 格式是111,222,333这样的. A: B: id ids11 11,22,3322 33,44,5533 …...
别再只盯着高分框了!手把手教你用ByteTrack的‘两次匹配’搞定遮挡目标跟踪
ByteTrack实战:如何用两次匹配机制解决遮挡目标跟踪难题 在智慧交通路口,一辆公交车缓缓驶过摄像头,紧随其后的摩托车因完全被遮挡而"消失"在系统中;商场监控画面里,密集人群中突然蹲下系鞋带的顾客被算法判…...
TrafficMonitor插件完全指南:打造终极个性化Windows监控中心
TrafficMonitor插件完全指南:打造终极个性化Windows监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins TrafficMonitor作为Windows系统监控工具,通过…...
告别云端排队!用你的RTX 3060笔记本,15分钟搞定本地图生视频(FramePack保姆级配置)
用RTX 3060笔记本玩转AI视频创作:FramePack本地化实战指南 当在线AI视频生成服务需要排队等待时,拥有6GB显存的RTX 3060笔记本用户其实可以解锁更高效的创作方式。本文将带你探索如何利用FramePack这一创新工具,在消费级硬件上实现高质量的图…...
如何做好网站SEO关键词优化_如何快速提升网站在 Google 上的排名
<h3 id"seo_google">如何做好网站SEO关键词优化_如何快速提升网站在 Google 上的排名</h3> <p>在当今数字化时代,网站的成功很大程度上取决于其在搜索引擎上的表现。搜索引擎优化(SEO)是一个复杂而又极其重要的领…...
告别混乱!YOLOv8检测结果自动归档:按日期+编号整理图片和标签(附完整Python脚本)
YOLOv8检测结果智能归档系统:打造高效可追溯的计算机视觉工作流 计算机视觉项目管理的痛点与解决方案 在计算机视觉项目的日常开发中,YOLOv8作为当前最先进的实时目标检测框架之一,被广泛应用于从安防监控到工业质检的各个领域。然而…...
实时数据复制技术在大数据平台中的应用与实践
实时数据复制技术在大数据平台中的应用与实践关键词:实时数据复制、大数据平台、CDC(变更数据捕获)、数据同步、数据一致性、分布式系统、ETL摘要:本文深入探讨了实时数据复制技术在大数据平台中的核心应用场景与实践方法。我们将…...
5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅
5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款让普通鼠标在macOS系统上…...
基于MATLAB的图像加密解密系统 可以正确无误的对图像进行加密和解密 带GUI界面
基于MATLAB的图像加密解密系统 可以正确无误的对图像进行加密和解密 带GUI界面,一步一步完整运行你是否有过这样的疑问——如何让一张普通图片变成外星密文?在MATLAB里玩转图像加密真的可以像搭积木一样简单。今天咱们就来捣鼓一个带界面的图像加密系统&…...
Ai人工智能知识补充
文章目录 1.5 数据与算法基础:智能系统的“燃料”与“引擎” 1.5.1 数据工程:从原始数据到模型“燃料”的全链路 1.5.2 算法模型构建:从问题定义到模型部署的“炼金术” 1.5.3 数据隐私与安全:在价值挖掘与权利保护间走钢丝 1.6 面临的主要挑战:通往真正智能之路的险阻 1.…...
Anaconda环境下Lumerical lumapi模块导入失败的3种修复方法(实测有效)
Anaconda环境下Lumerical lumapi模块导入失败的深度解决方案 当你满怀期待地在Anaconda环境中安装完Lumerical相关组件,准备大展拳脚时,突然遭遇ModuleNotFoundError: No module named lumapi这样的错误提示,确实令人沮丧。这种情况在重装系…...
