?LangChain 是一個強大的開源框架,專為構(gòu)建與大語言模型(LLMs)相關(guān)的應(yīng)用而設(shè)計。通過將多個 API、數(shù)據(jù)源和外部工具無縫集成,LangChain 能幫助開發(fā)者更高效地構(gòu)建智能應(yīng)用。
一、環(huán)境準(zhǔn)備
? ?安裝LangChain,langChain-core等庫,我安裝時LangChain版本是:0.3.21,langChain-core版本是當(dāng)時最新版本:0.3.48。因為一些常用的大模型都遵循 OpenAI API 規(guī)范,還需要安裝OPENAI相關(guān)庫。如果使用國內(nèi)的大模型也要安裝相應(yīng)的庫如:DeepSeek庫。如以下相關(guān)截圖:

二、編寫代碼接入開源大模型并輸出結(jié)果
因相關(guān)原因,訪問國外開源大模型有限制。我通過對比和實踐,選擇了國內(nèi)的開源大模型Qwen并使用國內(nèi)的一個平臺API來實現(xiàn)接入大模型并輸出結(jié)果。
1.導(dǎo)入必要的庫和類
fromlangchain.chat_modelsimportChatOpenAI
fromlangchain.schemaimportHumanMessage,SystemMessage
2.配置ChatOpenAI實例
chat_model = ChatOpenAI(
? ? #model="deepseek-chat",
? ? #model = "Pro/deepseek-ai/DeepSeek-R1",
? ? #model = "Qwen/Qwen2.5-72B-Instruct",
? ? model = "Qwen/Qwen2.5-7B-Instruct",
? ? openai_api_key=DEEPSEEK_API_KEY,
? ? openai_api_base=DEEPSEEK_API_BASE,
? ? temperature=0.7,
? ? max_tokens=500,
? ? stream=False
? ? )
3.構(gòu)建消息列表
messages= [SystemMessage(content="你是一個知識淵博的助手,能回答各種問題。"),HumanMessage(content="介紹一下長城")]
4.調(diào)用大模型并獲取返回結(jié)果
# 調(diào)用大模型response = chat_model.invoke(messages)
# 輸出模型的響應(yīng)結(jié)果print(response.content)
5.ChatOpenAI類的自定義配置參數(shù)說明
model_name:指定要使用的具體模型名稱,例如ChatOpenAI中可以指定model_name="gpt - 3.5 - turbo"
temperature:控制生成文本的隨機(jī)性,取值范圍在 0 到 1 之間,值越大生成的文本越隨機(jī)
max_tokens:限制生成文本的最大 token 數(shù)量
stream:如果設(shè)置為True(默認(rèn)值是False),模型將以流式輸出的方式返回結(jié)果,即邊生成邊返回,而不是等整個生成過程結(jié)束后再返回,適用于需要實時獲取生成結(jié)果的場景。
6.運行代碼輸出結(jié)果

三、總結(jié)
? ? ?LangChain 提供了豐富的接口用于和不同的大模型集成和交互,可幫助開發(fā)者輕松地構(gòu)建出功能強大的對話式智能應(yīng)用。