博主原文鏈接:https://www.yourmetaverse.cn/nlp/511/
LangChain的簡單使用介紹
歡迎來到LangChain的世界!今天,我們將一起探索LangChain的基本使用方法,以便您能快速上手這個強大的工具。
初步設置
首先,您需要安裝LangChain。可以通過Pip或Conda進行安裝:
- 使用Pip:
pip install langchain
- 使用Conda:
conda install langchain -c conda-forge
LangChain的使用通常需要與模型提供商、數據存儲、API等進行集成。例如,我們將使用OpenAI的模型API。首先需要安裝OpenAI的Python包:pip install openai
。然后,獲取API密鑰并將其設置為環境變量:export OPENAI_API_KEY="..."
。
基礎組件
LangChain提供了多個模塊,用于構建語言模型應用。這些模塊可單獨使用,也可組合使用以實現更復雜的用例。基本組件包括:
- LLM/聊天模型:語言模型是這里的核心推理引擎。
- 提示模板:向語言模型提供指令,控制其輸出。
- 輸出解析器:將語言模型的原始響應轉換為更易使用的格式。
組合使用LCEL
LangChain表達式語言(LCEL)允許您將這些組件合并成一個鏈。例如,可以創建一個鏈來接收輸入變量,通過提示模板生成提示,將提示傳遞給語言模型,然后通過(可選的)輸出解析器處理輸出。使用|
語法將這些組件連接起來,如下示例所示:
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import BaseOutputParserclass CommaSeparatedListOutputParser(BaseOutputParser[List[str]]):"""Parse the output of an LLM call to a comma-separated list."""def parse(self, text: str) -> List[str]:"""Parse the output of an LLM call."""return text.strip().split(", ")# 示例模板
template = "..."
chat_prompt = ChatPromptTemplate.from_messages([...])
chain = chat_prompt | ChatOpenAI() | CommaSeparatedListOutputParser()
chain.invoke({"text": "colors"})
這種方法便于將模塊化邏輯打包。
使用LangSmith進行跟蹤
一旦設置了環境變量,所有的模型和鏈調用都會自動記錄到LangSmith中。您可以使用LangSmith來調試和注釋應用程序跟蹤,然后將它們轉換為評估應用程序未來迭代的數據集。
使用LangServe進行服務
最后,您可能需要將構建的應用程序提供服務。LangServe可幫助開發者將LCEL鏈作為REST API部署。您需要創建一個包含鏈定義、FastAPI應用程序和路由定義的serve.py
文件。然后執行此文件,即可看到鏈在本地服務器上提供服務。LangServe還提供了一個簡單的內置UI,用于配置和調用應用程序,以及查看中間步驟的輸出。