当前位置: 首页 > news >正文

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

相关文章:

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、 项目目录; 下面是项目目录&#xff1a…...

R语言实现免疫浸润分析(2)

原始数据承接免疫浸润分析&#xff08;1&#xff09;&#xff0c;下面展示免疫浸润结果&#xff1a; #直接使用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设置成输出模式&#xff0c;并通过将GPIO的电平拉高拉低控制LED灯的例程。GPIO除了用作输出功能之外&#xff0c;还可以用作输入功能。最常用的就是检测按键的输入电平。 硬件设计 本章的硬件是基于正点原子的探索者…...

Jenkins-CICD-python/Java包升级与回退

Jenkins- CICD流水线 python/Java代码升级与回退 1、执行思路 1.1、代码升级 jenkins上点击 upgrade和 代码版本号 --${tag} jenkins 推送 代码 和 执行脚本 到目标服务器/opt目录下 执行命令 sh run.sh 代码名称 版本号 upgrade 版本号 来自jenkins的 构建参数中的 标签…...

模糊测试面面观 | 模糊测试工具知多少

自1988年威斯康星大学的Barton Miller首次提出模糊测试这一概念以来&#xff0c;模糊测试领域经历了持续长久发展。模糊测试作为一种软件测试方法&#xff0c;旨在通过向程序输入模糊、随机、异常的数据&#xff0c;探测和发现潜在的漏洞和错误。这种方法备受安全研究人员的青睐…...

esp8266+电压检测模块检测电池电压

该模块5v时输出1v&#xff0c;因esp8266 ADC引脚(A0)支持电压范围是0v-1v&#xff0c;所以该方案仅支持0-5v电压检测 接线&#xff1a; - 接 esp8266GND 可不接 S 接 ADC esp8266 为 A0 VCC 被检测直流电 GND 被检测直流电- #include <Wire.h>const int adcPin A0; // …...

MongoDB增删改查操作

数据库操作&#xff1a; 在MongoDB中&#xff0c;文档集合存在数据库中。 要选择使用的数据库&#xff0c;请在mongo shell程序中发出 use <db> 语句 // 查看有哪些数据库 show dbs;// 如果数据库不存在&#xff0c;则创建并切换到该数据库&#xff0c;存在则直接切换到…...

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. 微信小程序开发环境搭建

下载 微信的小程序开发需要使用到微信开发者工具&#xff0c;通过https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html可以下载 下载完成后 安装...

Redis五大基本数据类型及其使用场景

文章目录 **一 什么是NoSQL&#xff1f;****二 redis是什么&#xff1f;****三 redis五大基本类型**1 String&#xff08;字符串&#xff09;**应用场景** 2 List&#xff08;列表&#xff09;**应用场景** 3 Set&#xff08;集合&#xff09;4 sorted set&#xff08;有序集合…...

优于立方复杂度的 Rust 中矩阵乘法

优于立方复杂度的 Rust 中矩阵乘法 迈克克维特 跟随 发表于 更好的编程 6 分钟阅读 7月 <> 143 中途&#xff1a;三次矩阵乘法 一、说明 几年前&#xff0c;我在 C 年编写了 Strassen 矩阵乘法算法的实现&#xff0c;最近在 Rust 中重新实现了它&#xff0c;因为我继续…...

CentOS gcc介绍及快速升级

1.gcc介绍 GCC&#xff08;GNU Compiler Collection&#xff09;是一个开源的编译器套件&#xff0c;由 GNU(GNUs Not Unix!的递归缩写) 项目开发和维护。它是一个功能强大且广泛使用的编译器&#xff0c;支持多种编程语言&#xff0c;包括 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日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 一则AI工程师招募信息&#xff1a;新领域需要新技能 Vision Flow (目的涌现) 是一家基于 AGI 原生技术的创业公司&#xff0c;是全球探…...

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 …...

终极指南:在Windows上直接安装安卓APK文件的5个简单步骤

终极指南&#xff1a;在Windows上直接安装安卓APK文件的5个简单步骤 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上运行安卓应用&#xff0c;但又厌…...

AI模型部署实战:基于FastAPI与Tauri构建OpenClaw模型GUI应用

1. 项目概述与核心价值最近在AI应用开发圈里&#xff0c;一个名为“GrahamMiranda-AI/openclaw-model-gui”的项目引起了我的注意。乍一看这个标题&#xff0c;它融合了“openclaw-model”和“gui”两个关键部分&#xff0c;这让我立刻联想到一个典型的场景&#xff1a;一个已经…...

线程化笔记工具:重塑深度思考与知识管理的技术实践

1. 项目概述&#xff1a;一个为线程化思考而生的笔记工具最近在折腾个人知识管理工具时&#xff0c;发现了一个挺有意思的开源项目&#xff1a;alishobeiri/thread-notebook。乍一看名字&#xff0c;可能会以为是又一个普通的Markdown笔记本应用。但深入使用后&#xff0c;我发…...

药物发现自动化:FEP计算工作流引擎faah的设计原理与实战

1. 项目概述&#xff1a;一个面向药物发现的自动化工作流引擎 最近在药物研发的自动化工具领域&#xff0c;一个名为 kiron0/faah 的项目引起了我的注意。这并非一个简单的脚本集合&#xff0c;而是一个设计精巧、旨在为药物发现中的自由能微扰计算提供端到端自动化解决方案的…...

046、PCIE桥设备与交换:当拓扑开始复杂起来

046、PCIE桥设备与交换&#xff1a;当拓扑开始复杂起来 最近在调一块自定义的PCIE扩展板&#xff0c;系统里突然出现了几个“神秘”的端点设备。在lspci列表里&#xff0c;它们出现在一个我从未配置过的总线号上&#xff0c;而且设备ID全对不上。折腾了两天才发现&#xff0c;原…...

【Midjourney Ash印相终极指南】:20年影像算法专家首度公开胶片质感生成的7大隐性参数配置

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Ash印相的技术起源与影像哲学本质 Ash印相的算法基因溯源 Ash印相并非凭空诞生的视觉滤镜&#xff0c;而是Midjourney v6模型在latent空间中对“胶片衰变—银盐氧化—时间蚀刻”三重物理过…...

【独家逆向分析】ElevenLabs泰米尔语音库采样源考证:覆盖钦奈、哥印拜陀、贾夫纳三地口音的142个发音人原始标注数据集(含IPA映射表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs泰米尔语音库的逆向分析背景与研究价值 ElevenLabs 作为领先的语音合成平台&#xff0c;其多语言语音库&#xff08;含泰米尔语&#xff09;在印度南部及全球泰米尔语社区中被广泛集成于无障…...

从开发板到自研板:RK3568设备树移植与定制编译实战

1. RK3568设备树移植入门指南 第一次接触RK3568设备树移植的工程师&#xff0c;往往会被dts文件中密密麻麻的节点和属性搞得晕头转向。我刚开始做这块的时候&#xff0c;光是看那7000多行的代码就头疼。但其实只要掌握几个关键点&#xff0c;移植工作就会变得清晰很多。 设备树…...

植物大战僵尸 (废物版 杂交版 融合版)2026最新版免费下载(看到请立即转存 资源随时失效)pc手机通用

废物版下载链接 杂交版 融合版 《植物大战僵尸》同人模组生态解析&#xff1a;杂交版、融合版与废物版机制及竞品对比 《植物大战僵尸》&#xff08;Plants vs. Zombies&#xff0c;简称PVZ&#xff09;作为塔防游戏史上的经典之作&#xff0c;其官方作品的更新迭代虽然逐渐…...

CommonJS、RequireJS 与 ES6 模块:JavaScript 模块化演进史

JavaScript 诞生之初并没有模块化机制。随着应用规模扩大,全局变量冲突、依赖管理混乱等问题日益突出。社区和标准组织先后推出了多种模块化方案,其中最著名的是 CommonJS(主要用于服务器端)、AMD / RequireJS(主要用于浏览器端)以及 ES6 Module(官方标准)。 CommonJS、…...