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