LangChain:安裝與環(huán)境配置
共 2207字,需瀏覽 5分鐘
·
2024-04-19 08:32
使用以下命令安裝 LangChain:
pip install langchain
或者:
conda install langchain -c conda-forge
環(huán)境設(shè)定
使用LangChain通常需要與一個或多個模型提供程序、數(shù)據(jù)存儲、 API 等集成。對于這個例子,我們將使用OpenAI的API,所以我們首先需要安裝OpenAI的SDK:
pip install openai
然后我們需要在終端設(shè)置環(huán)境變量:
export OPENAI_API_KEY="..."
或者,我們也可以在Jupyter Notebook或Python腳本內(nèi)完成:
import os
os.environ["OPENAI_API_KEY"] = "..."
如果想動態(tài)設(shè)置API密鑰,我們還可以在初始化OpenAI類時使用openai_api_key參數(shù):
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="OPENAI_API_KEY")
構(gòu)建語言模型應(yīng)用程序: LLM
現(xiàn)在我們已經(jīng)安裝了LangChain并設(shè)置了我們的環(huán)境,我們可以開始構(gòu)建我們的語言模型應(yīng)用程序了。LangChain提供了許多可用于構(gòu)建語言模型應(yīng)用程序的模塊。模塊可以組合起來創(chuàng)建更復(fù)雜的應(yīng)用程序,或者單獨用于簡單的應(yīng)用程序。
LLM:從語言模型中獲取預(yù)測
LangChain最基本的構(gòu)建塊是對某些輸入調(diào)用LLM。假設(shè)我們正在構(gòu)建一個基于公司產(chǎn)品生成公司名稱的服務(wù)。為此,我們首先需要導(dǎo)入LLM包裝器:
from langchain.llms import OpenAI
LLM初始化和調(diào)用
然后我們可以用任何參數(shù)初始化包裝器。在這個例子中,我們可能希望輸出更加隨機,所以我們將以溫度(Temperature)為0.9來初始化它。
llm = OpenAI(temperature=0.9)
我們現(xiàn)在可以根據(jù)一些輸入調(diào)用它:
text = "What would be a good company name for a company that makes colorful socks?"
print(llm(text))
輸出:
Feetful of Fun
關(guān)于如何在LangChain中使用LLM,《》系列的后續(xù)文章會有詳細的闡述。
提示模板(PromptTemplate): 管理 LLM 的提示
調(diào)用LLM是第一步,但這僅僅是個開始。通常在應(yīng)用程序中使用LLM時,不會將用戶輸入直接發(fā)送到LLM。相反,我們更可能的是接受用戶輸入并構(gòu)造一個提示符,然后將其發(fā)送給LLM。例如,在前一個示例中,我們傳入的文本被硬編碼為詢問一家生產(chǎn)彩色襪子的公司的名稱。在這個虛構(gòu)的服務(wù)中,我們希望只獲取描述公司業(yè)務(wù)的用戶輸入,然后用這些信息格式化提示符。如果使用LangChain,這個事情將會變得很簡單。首先讓我們定義提示模板:
from langchain.prompts import PromptTemplate
prompt = PromptTemplate(
input_variables=["product"],
template="What is a good name for a company that makes {product}?",
)
我們可以調(diào)用.format方法來格式化它。
print(prompt.format(product="colorful socks"))
輸出:
What is a good name for a company that makes colorful socks?
參考文獻:
[1] LangChain ????? 中文網(wǎng),跟著LangChain一起學(xué)LLM/GPT開發(fā):https://www.langchain.com.cn/
[2] LangChain中文網(wǎng) - LangChain 是一個用于開發(fā)由語言模型驅(qū)動的應(yīng)用程序的框架:http://www.cnlangchain.com/
