智能體(AI Agent)開發(fā)實戰(zhàn)之【LangChain】(一)接入大模型輸出結(jié)果

?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é)果圖示

三、總結(jié)

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容