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.pswp.cn/news/37892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37892.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Sklearn】基于邏輯回歸算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于邏輯回歸算法的數據分類預測(Excel可直接替換數據) 1.模型原理2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果1.模型原理 邏輯回歸是一種用于二分類問題的統計學習方法,盡管名字中含有“回歸”,但實際上是一種分類算法。它的基本原理是通…

網絡基礎--ARP協議介紹

1、ARP作用 ARP( Address Resolution Protocol,地址解析協議)是將 IP 地址解析為以太網 MAC 地址(或稱物理地址)的協議。在局域網中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必…

Java鷹眼軌跡服務 輕騎小程序 運動健康與社交案例

Java地圖專題課 基本API BMapGLLib 地圖找房案例 MongoDB 百度地圖鷹眼軌跡服務 鷹眼軌跡服務概述 鷹眼是一套軌跡管理服務,提供各端SDK和API供開發者便捷接入,追蹤所管理的車輛/人員等運動物體。 基于鷹眼提供的接口和云端服務,開發者可以迅…

前后端分離------后端創建筆記(05)用戶列表查詢接口(下)

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論,如有侵權請聯系 源碼:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

Java通過文件流和文件地址下載文件

通過文件流下載文件 如何使用 MultipartFile 進行文件上傳、下載到本地,并返回保存路徑呢: import org.springframework.web.multipart.MultipartFile;import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOExcep…

Redis_緩存2_緩存刪除和淘汰策略

14.5 緩存數據的刪除和替換 14.5.1 過期數據 可以使用ttl查看key的狀態。已過期的數據,redis并未馬上刪除。優先去執行讀寫數據操作,刪除操作延后執行。 14.5.2 刪除策略 redis中每一個value對應一個內存地址,在expires,一個內…

BC117 小樂樂走臺階(附完整代碼)

描述 小樂樂上課需要走n階臺階,因為他腿比較長,所以每次可以選擇走一階或者走兩階,那么他一共有多少種走法? 輸入描述 輸入包含一個整數n (1 ≤ n ≤ 30) 輸出描述 輸出一個整數,即小樂樂可以走的方法數。 思路&a…

分享個試卷去筆跡什么軟件,幾個步驟輕松擦除

試卷擦去筆跡是一項非常關鍵的技能,它可以幫助你更好地管理你的筆記和文件。不管是小伙伴們想重新測試試卷或者是將試卷輸出為電子版,都可以實現的。在這篇文章中,我將分享一些方法和軟件,幫助你更好地進行試卷擦除。有需要的小伙…

個人博客系統測試報告

文章目錄 一、功能測試1.編寫測試用例2.總結測試后發現的BUG 二、UI自動化測試0.搭建測試環境1. 創建公共類2.注冊頁面UI自動化測試用例編寫3.登錄頁面UI自動化測試用例編寫4.用戶博客列表頁面自動化測試5. 修改個信息頁面6. 文章編輯頁面7. 設置密保問題發現bug 8. 所有用戶文…

Stable Diffusion +EbSynth應用實踐和經驗分享

Ebsynth應用 1.安裝ffmpeg 2.安裝pip install transparent-background,下載模型https://www.mediafire.com/file/gjvux7ys4to9b4v/latest.pth/file 放到C:\Users\自己的用戶名.transparent-background\加一個ckpt_base.pth文件 3.秋葉安裝ebsynth插件,重啟webui 填寫項目基本…

Redis 持久化及集群架構

Redis 持久化及集群架構 本篇技術博文將深入探討 Redis 持久化機制的原理、配置和使用方式。我們將介紹兩種常用的持久化方式:RDB 持久化和 AOF 持久化。您將了解到它們的工作原理、優缺點以及如何根據需求選擇合適的持久化方式。 通過深入學習 Redis 持久化及集群…

Rest 優雅的url請求處理風格及注意事項

😀前言 本篇博文是關于Rest 風格請求的應用和注意事項,希望能夠幫助到您😊 🏠個人主頁:晨犀主頁 🧑個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您…

應急響應-Webshell

文章目錄 一、Webshell概述什么是WebshellWebshell分類基于編程語言基于文件大小/提供的功能多少 Webshell 檢測方法 二、常規處置方法三、技術指南1、初步預判2、 Webshell排查3、Web日志分析(查找攻擊路徑及失陷原因)4、系統排查4.1 Windows4.2 Linux …

CSS中的position屬性有哪些值,并分別描述它們的作用。

聚沙成塔每天進步一點點 ? 專欄簡介? static? relative? absolute? fixed? sticky? 寫在最后 ? 專欄簡介 前端入門之旅:探索Web開發的奇妙世界 記得點擊上方或者右側鏈接訂閱本專欄哦 幾何帶你啟航前端之旅 歡迎來到前端入門之旅!這個專欄是為那…

通達OA SQL注入漏洞【CVE-2023-4166】

通達OA SQL注入漏洞【CVE-2023-4166】 一、產品簡介二、漏洞概述三、影響范圍四、復現環境POC小龍POC檢測工具: 五、修復建議 免責聲明:請勿利用文章內的相關技術從事非法測試,由于傳播、利用此文所提供的信息或者工具而造成的任何直接或者間接的后果及損…

C/C++ 標準模版庫STL(持續更新版)

標準模版庫STL <algorithm> 算法庫 max, min 用于找出一組值中的最大值和最小值 swap 用于交換兩個變量的值 sort 用于對一個范圍內的元素進行排序 lower_bound, upper_bound 用于在已排序的容器中查找元素的下界和上界 unique(a,an)-a 用于在一個范圍內刪除相鄰重…

新的 Python URL 解析漏洞可能導致命令執行攻擊

Python URL 解析函數中的一個高嚴重性安全漏洞已被披露&#xff0c;該漏洞可繞過 blocklist 實現的域或協議過濾方法&#xff0c;導致任意文件讀取和命令執行。 CERT 協調中心&#xff08;CERT/CC&#xff09;在周五的一份公告中說&#xff1a;當整個 URL 都以空白字符開頭時&…

在 docker 中快速啟動 Apache Hive

介紹 在偽分布式模式下&#xff0c;在Docker容器內運行Apache Hive&#xff0c;可以提供以下功能&#xff1a;快速啟動/調試/為Hive準備測試環境。 快速開始 1. 拉取鏡像 從DockerHub&#xff1a;https://hub.docker.com/r/apache/hive/tags中拉取鏡像。目前發布了3個鏡像&…

gitlab修改遠程倉庫地址

目錄 背景&#xff1a; 解決&#xff1a; 1.刪除本地倉庫關聯的遠程地址&#xff0c;添加新的遠程倉庫地址 2.直接修改本地倉庫關聯的遠程倉庫地址 3.打開.git隱藏文件修改遠程倉庫地址 4.拉取代碼報錯(git host key verification failed) 背景&#xff1a; 公司搬家&#…

數字圖像處理 - 圖像處理結合機器學習的應用示例

在本文中,特別關注樹葉分類機器學習技術的實現。我們的目標是演示如何利用機器學習算法來分析一系列葉子照片,從而實現準確分類并提供對植物領域有價值的算法。 圖像處理中機器學習的本質 機器學習使計算機能夠學習模式并根據視覺數據進行預測,徹底改變了圖像處理領域。在葉…