無需代碼,使用LangFlow輕松創建LangChain大模型應用 精華
人工智能領域因大型語言模型如ChatGPT的出現而煥然一新。這些模型能模擬人類語言,迅速被廣泛采納。ChatGPT在發布后僅兩個月便吸引了1億用戶,彰顯了巨大的影響力。
要將這些模型的潛力轉化為實際應用,需要特定的工具,LangChain和LangFlow正是為此而生。
1 LangChain:構建智能應用的強大框架
LangChain是一個開源的Python工具,為開發者提供了強大的平臺,可以將大型語言模型(LLMs)與眾多工具和功能無縫對接。
LangChain不僅是一種工具,更是圍繞大型語言模型(LLMs)構建的全面框架。可以用于創建聊天機器人、生成問題的回答、總結文本等等。
通過LangChain,開發者能夠構建出理解和處理自然語言的復雜應用程序。其核心組件包括:
- 提示模板:提供多樣化的提示模板,支持聊天機器人或問答系統等多種交互方式。
- 大型語言模型(LLMs):集成了如GPT-3或BLOOM這樣的先進模型,為應用提供強大的語言處理能力。
- 智能體(Agents):這些智能體能夠利用LLMs來決定執行的操作,調用網絡搜索、計算器等工具,確保操作的連貫性。
- 記憶:包括短期記憶和長期記憶,使應用能夠記住并利用歷史信息。
2 LangFlow:LangChain的直觀界面
LangFlow是LangChain的直觀界面,極大地提升了用戶體驗。這個Web界面讓開發者能夠通過拖放組件的方式,直觀地設計LangChain的工作流程。
- 可視化設計:開發者可以在畫布上自由拖拽組件,輕松構建應用程序。
- 模塊支持:LangFlow支持LangChain的多種模塊,如鏈、智能體、提示、大型語言模型(LLMs)、記憶、工具、工具包和包裝器。
- 靈活編輯:用戶可以自由編輯提示、參數、鏈和代理,嘗試不同的配置。
- 導出功能:完成的流程可以導出為JSON文件,方便與LangChain集成使用。
LangFlow的無代碼解決方案不僅簡化了開發過程,還使大型語言模型的應用更加普及,無論是資深開發者還是初學者都能輕松上手。
3 使用LangFlow
使用LangFlow需按照以下步驟操作:
3.1 安裝
在終端并輸入以下命令:
pip install langflow
3.2 啟動
安裝完成后,通過輸入以下命令來啟動LangFlow:
langflow
這個命令會在瀏覽器中打開一個新網頁。
3.3 創建新項目
在網頁上,點擊“+New Project”按鈕。這個操作將打開一個空白畫布,你可以開始創建你的項目。
4 示例演示:構建PDF閱讀器機器人
讓我們使用LangFlow創建一個PDF閱讀器機器人的原型。以下是逐步指南:
a. 從左側面板將以下組件拖放到畫布上:
- 從“加載器”中拖放PyPDFLoader
- 從“文本分割器”中拖放CharacterTextSplitter
- 從“嵌入”中拖放OpenAIEmbeddings
- 從“向量存儲”中拖放FAISS
- 從“工具包”中拖放VectorStoreInfo
- 從“LLMs”中拖放OpenAI
- 從“代理”中拖放VectorStoreAgent
b. 點擊PyPDFLoader中的“文件路徑(File Path)”字段,并從本地驅動器上傳一個PDF文件。在這個演示中,上傳了一個名為“Introduction to AWS Security”的PDF文檔。
c. 在OpenAI和OpenAIEmbedding的“OpenAI API密鑰”字段中輸入你的OpenAI API密鑰。
d. 在VectorStoreInfo中提供一個名稱(PDF)和描述(PDF閱讀器)。
e. 將PyPDFLoader的輸出連接到CharacterTextSplitter的輸入。
f. 將CharacterTextSplitter和OpenAIEmbeddings的輸出連接到FAISS的輸入。
g. 將FAISS的輸出連接到VectorStoreInfo的輸入。
h. 將VectorStoreInfo和OpenAI的輸出連接到VectorStoreAgent的輸入。
現在應該看到一個圖表,顯示組件是如何鏈接在一起的。
接下來,點擊界面右下角的紅色閃電圖標,開始編譯并驗證設置。當所有組件的右上角都亮起小綠燈時,表示一切準備就緒。
現在會看到一個新出現的藍色按鈕。點擊它,就會打開一個類似ChatGPT的對話窗口。在這里,你可以提出問題,測試機器人是否真正理解了上傳的PDF文檔。
如果想要更深入地了解,可以導航到控制臺。那里,可以觀察到一些幕后進行的有趣過程,這些過程被形象地稱為“觀察”和“思考”,是整個系統運作的核心。
i. 最后,也可以將其導出為json文件并在其他應用程序中運行。
再次進入畫布,點擊左上角的保存按鈕,然后點擊導出按鈕。
點擊“下載流程”按鈕后,創建一個名為“Cocky Almeida.json”的文件并存儲在本地驅動器上。
為了驗證這個PDF閱讀器的操作,將執行一個本地Python應用程序。這里準備了一個名為“pdfreader.py”的Python文件,其中包含以下代碼:
from langflow import load_flow_from_json
flow = load_flow_from_json("Cocky Almeida.json")
flow("what is title of the document ?")
接下來,執行以下命令:
python3 pdfreader.py
從同一個控制臺可以看到這個輸出:
一切都按預期順利運行。
5 結語
大型語言模型正在重塑我們的應用開發。LangChain和LangFlow這樣的工具簡化了將這些模型融入實際應用的過程,其價值隨著AI技術的進步而日益增加。
無論是想構建一個復雜的人工智能應用,還是只想要探索大型語言模型的潛力,LangFlow都是一個非常值得考慮的資源。它不僅能夠助力開發旅程,還能讓你更深入地理解和利用這些前沿技術。
本文轉載自 ??AI科技論談??,作者: AI科技論談
