LangChain系列文章
- LangChain 50 深入理解LangChain 表達(dá)式語(yǔ)言十三 自定義pipeline函數(shù) LangChain Expression Language (LCEL)
- LangChain 51 深入理解LangChain 表達(dá)式語(yǔ)言十四 自動(dòng)修復(fù)配置RunnableConfig LangChain Expression Language (LCEL)
- LangChain 52 深入理解LangChain 表達(dá)式語(yǔ)言十五 Bind runtime args綁定運(yùn)行時(shí)參數(shù) LangChain Expression Language (LCEL)
- LangChain 53 深入理解LangChain 表達(dá)式語(yǔ)言十六 Dynamically route動(dòng)態(tài)路由 LangChain Expression Language (LCEL)
- LangChain 54 深入理解LangChain 表達(dá)式語(yǔ)言十七 Chains Route動(dòng)態(tài)路由 LangChain Expression Language (LCEL)
- LangChain 55 深入理解LangChain 表達(dá)式語(yǔ)言十八 function Route自定義動(dòng)態(tài)路由 LangChain Expression Language (LCEL)
- LangChain 56 深入理解LangChain 表達(dá)式語(yǔ)言十九 config運(yùn)行時(shí)選擇大模型LLM LangChain Expression Language (LCEL)
- LangChain 57 深入理解LangChain 表達(dá)式語(yǔ)言二十 LLM Fallbacks速率限制備份大模型 LangChain Expression Language (LCEL)
- LangChain 58 深入理解LangChain 表達(dá)式語(yǔ)言21 Memory消息歷史 LangChain Expression Language (LCEL)
- LangChain 59 深入理解LangChain 表達(dá)式語(yǔ)言22 multiple chains多個(gè)鏈交互 LangChain Expression Language (LCEL)
- LangChain 60 深入理解LangChain 表達(dá)式語(yǔ)言23 multiple chains鏈透?jìng)鲄?shù) LangChain Expression Language (LCEL)
- LangChain 61 深入理解LangChain 表達(dá)式語(yǔ)言24 multiple chains鏈透?jìng)鲄?shù) LangChain Expression Language (LCEL)
- LangChain 62 深入理解LangChain 表達(dá)式語(yǔ)言25 agents代理 LangChain Expression Language (LCEL)
- LangChain 63 深入理解LangChain 表達(dá)式語(yǔ)言26 生成代碼code并執(zhí)行 LangChain Expression Language (LCEL)
- LangChain 64 深入理解LangChain 表達(dá)式語(yǔ)言27 添加審查 Moderation LangChain Expression Language (LCEL)
- LangChain 65 深入理解LangChain 表達(dá)式語(yǔ)言28 余弦相似度Router Moderation LangChain Expression Language (LCEL)
- LangChain 66 深入理解LangChain 表達(dá)式語(yǔ)言29 管理prompt提示窗口大小 LangChain Expression Language (LCEL)
1. 使用工具tools
您可以輕松地使用任何可運(yùn)行的工具。下面的例子是調(diào)用duckduckgo
搜索
# !pip install langchain duckduckgo-search
from langchain.prompts import ChatPromptTemplate
from langchain.tools import DuckDuckGoSearchRun
from langchain_community.chat_models import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
from dotenv import load_dotenv # 導(dǎo)入從 .env 文件加載環(huán)境變量的函數(shù)
load_dotenv() # 調(diào)用函數(shù)實(shí)際加載環(huán)境變量
from langchain.globals import set_debug # 導(dǎo)入在 langchain 中設(shè)置調(diào)試模式的函數(shù)
set_debug(True) # 啟用 langchain 的調(diào)試模式
search = DuckDuckGoSearchRun()
template = """將以下用戶(hù)輸入轉(zhuǎn)換為搜索引擎的搜索查詢(xún)::
{input}"""
prompt = ChatPromptTemplate.from_template(template)
model = ChatOpenAI()
chain = prompt | model | StrOutputParser() | search
response = chain.invoke({"input": "我想弄清楚今晚有什么體育運(yùn)動(dòng)可以看"})
print('response >> ', response)
輸出
(.venv) zgpeace@zgpeaces-MacBook-Pro git:(develop) ?% python LCEL/tools.py ~/Workspace/LLM/langchain-llm-app
[chain/start] [1:chain:RunnableSequence] Entering Chain run with input:
{
"input": "我想弄清楚今晚有什么體育運(yùn)動(dòng)可以看"
}
[chain/start] [1:chain:RunnableSequence > 2:prompt:ChatPromptTemplate] Entering Prompt run with input:
{
"input": "我想弄清楚今晚有什么體育運(yùn)動(dòng)可以看"
}
[chain/end] [1:chain:RunnableSequence > 2:prompt:ChatPromptTemplate] [7ms] Exiting Prompt run with output:
{
"lc": 1,
"type": "constructor",
"id": [
"langchain",
"prompts",
"chat",
"ChatPromptValue"
],
"kwargs": {
"messages": [
{
"lc": 1,
"type": "constructor",
"id": [
"langchain",
"schema",
"messages",
"HumanMessage"
],
"kwargs": {
"content": "將以下用戶(hù)輸入轉(zhuǎn)換為搜索引擎的搜索查詢(xún)::\n\n我想弄清楚今晚有什么體育運(yùn)動(dòng)可以看",
"additional_kwargs": {}
}
}
]
}
}
[llm/start] [1:chain:RunnableSequence > 3:llm:ChatOpenAI] Entering LLM run with input:
{
"prompts": [
"Human: 將以下用戶(hù)輸入轉(zhuǎn)換為搜索引擎的搜索查詢(xún)::\n\n我想弄清楚今晚有什么體育運(yùn)動(dòng)可以看"
]
}
[llm/end] [1:chain:RunnableSequence > 3:llm:ChatOpenAI] [2.06s] Exiting LLM run with output:
{
"generations": [
[
{
"text": "今晚有什么體育賽事直播?",
"generation_info": {
"finish_reason": "stop",
"logprobs": null
},
"type": "ChatGeneration",
"message": {
"lc": 1,
"type": "constructor",
"id": [
"langchain",
"schema",
"messages",
"AIMessage"
],
"kwargs": {
"content": "今晚有什么體育賽事直播?",
"additional_kwargs": {}
}
}
}
]
],
"llm_output": {
"token_usage": {
"completion_tokens": 16,
"prompt_tokens": 46,
"total_tokens": 62
},
"model_name": "gpt-3.5-turbo",
"system_fingerprint": null
},
"run": null
}
[chain/start] [1:chain:RunnableSequence > 4:parser:StrOutputParser] Entering Parser run with input:
[inputs]
[chain/end] [1:chain:RunnableSequence > 4:parser:StrOutputParser] [1ms] Exiting Parser run with output:
{
"output": "今晚有什么體育賽事直播?"
}
[tool/start] [1:chain:RunnableSequence > 5:tool:duckduckgo_search] Entering Tool run with input:
"今晚有什么體育賽事直播?"
[tool/end] [1:chain:RunnableSequence > 5:tool:duckduckgo_search] [2.98s] Exiting Tool run with output:
"中央電視臺(tái)體育頻道(cctv-5)是中國(guó)開(kāi)播最早、規(guī)模最大、擁有世界眾多頂級(jí)賽事獨(dú)家報(bào)道權(quán)的專(zhuān)業(yè)體育頻道。于1995年1月1日正式開(kāi)播,全天24小時(shí)播出,是中國(guó)觀眾收看體育賽事的首選頻道 咪咕體育和抖音視頻成為了兩個(gè)備選的觀賽平臺(tái),球迷們可以通過(guò)這些渠道在線觀看其他精彩的比賽。 咪咕直播籃球時(shí)間表(圖) 咪咕直播籃球時(shí)間表(圖) cctv5一直以來(lái)是體育賽事的權(quán)威直播平臺(tái),為球迷們提供了高質(zhì)量的觀賽體驗(yàn)。 這場(chǎng)比賽將看到中國(guó)男足迎戰(zhàn)緬甸男足,比賽的開(kāi)球時(shí)間定在了9月21日晚上7點(diǎn)25分。對(duì)于中國(guó)男足來(lái)說(shuō),這將是一場(chǎng)重要的較量,他們將努力爭(zhēng)取2連勝,取得小組賽的出色開(kāi)局。 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有足球直播) 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有 ... _騰訊新聞 今晚7點(diǎn)現(xiàn)場(chǎng)直播:世預(yù)賽中韓男足,決戰(zhàn)深圳! 深圳特區(qū)報(bào) 2023-11-21 16:59:23 發(fā)布于 廣東 深圳特區(qū)報(bào)官方賬號(hào) + 關(guān)注 11月21日晚8點(diǎn) 國(guó)足將在深圳龍崗大運(yùn)中心體育場(chǎng) 迎來(lái)世界杯預(yù)選賽36強(qiáng)賽的首個(gè)主場(chǎng) 時(shí)隔6年 中國(guó)男足與韓國(guó)隊(duì) 再次相遇在世預(yù)賽的賽場(chǎng)上 成為了近年來(lái)最受關(guān)注的比賽之一 球票一天內(nèi)售罄 預(yù)計(jì)有超4萬(wàn)球迷現(xiàn)場(chǎng)為國(guó)足加油 主場(chǎng)對(duì)決 直播帶你場(chǎng)內(nèi)外圍觀 今晚(11月21日)7點(diǎn) 讀特融媒體記者將"兵分兩路" 在大運(yùn)中心體育場(chǎng)進(jìn)行現(xiàn)場(chǎng)直播 場(chǎng)外記者帶你感受球迷熱情 場(chǎng)內(nèi)記者為你探秘賽場(chǎng)風(fēng)云 現(xiàn)場(chǎng)氛圍有多燃? 有多少球迷前來(lái)觀賽? 哪些應(yīng)援口號(hào)戳中你的心? 鎖定 讀特客戶(hù)端、讀特新聞直播間 ! 球迷互動(dòng) 一起來(lái)當(dāng)"預(yù)言家" 直播期間 央視體育頻道(CCTV5)直播國(guó)乒,體育賽事頻道(CCTV5+)直播斯諾克世錦賽,中超被迫讓路, 上海申花客場(chǎng)挑戰(zhàn)梅州客家的比賽被安排在央視奧林匹克頻道(CCTV16) 進(jìn)行直播,當(dāng)然,央視沒(méi)有像以往一樣在兩大電視端平臺(tái)直播中超,也是考慮到前國(guó)足主帥李鐵、陳戌源等眾多體育局和中國(guó)足協(xié)高管正在接受調(diào)查! 上海五星體育和廣州市廣播電視臺(tái)南國(guó)都市頻道也將進(jìn)行直播。 首輪比賽中,上海申花主場(chǎng)1比0力挫山東泰山,梅州客家客場(chǎng)1比1戰(zhàn)平北京國(guó)安。 得到巨資注入的老牌球隊(duì)上海申花若能在客場(chǎng)擊敗球王李惠堂的家鄉(xiāng)球隊(duì)梅州客家,將暫時(shí)獨(dú)占領(lǐng)頭羊位置。"
[chain/end] [1:chain:RunnableSequence] [5.06s] Exiting Chain run with output:
{
"output": "中央電視臺(tái)體育頻道(cctv-5)是中國(guó)開(kāi)播最早、規(guī)模最大、擁有世界眾多頂級(jí)賽事獨(dú)家報(bào)道權(quán)的專(zhuān)業(yè)體育頻道。于1995年1月1日正式開(kāi)播,全天24小時(shí)播出,是中國(guó)觀眾收看體育賽事的首選頻道 咪咕體育和抖音視頻成為了兩個(gè)備選的觀賽平臺(tái),球迷們可以通過(guò)這些渠道在線觀看其他精彩的比賽。 咪咕直播籃球時(shí)間表(圖) 咪咕直播籃球時(shí)間表(圖) cctv5一直以來(lái)是體育賽事的權(quán)威直播平臺(tái),為球迷們提供了高質(zhì)量的觀賽體驗(yàn)。 這場(chǎng)比賽將看到中國(guó)男足迎戰(zhàn)緬甸男足,比賽的開(kāi)球時(shí)間定在了9月21日晚上7點(diǎn)25分。對(duì)于中國(guó)男足來(lái)說(shuō),這將是一場(chǎng)重要的較量,他們將努力爭(zhēng)取2連勝,取得小組賽的出色開(kāi)局。 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有足球直播) 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有 ... _騰訊新聞 今晚7點(diǎn)現(xiàn)場(chǎng)直播:世預(yù)賽中韓男足,決戰(zhàn)深圳! 深圳特區(qū)報(bào) 2023-11-21 16:59:23 發(fā)布于 廣東 深圳特區(qū)報(bào)官方賬號(hào) + 關(guān)注 11月21日晚8點(diǎn) 國(guó)足將在深圳龍崗大運(yùn)中心體育場(chǎng) 迎來(lái)世界杯預(yù)選賽36強(qiáng)賽的首個(gè)主場(chǎng) 時(shí)隔6年 中國(guó)男足與韓國(guó)隊(duì) 再次相遇在世預(yù)賽的賽場(chǎng)上 成為了近年來(lái)最受關(guān)注的比賽之一 球票一天內(nèi)售罄 預(yù)計(jì)有超4萬(wàn)球迷現(xiàn)場(chǎng)為國(guó)足加油 主場(chǎng)對(duì)決 直播帶你場(chǎng)內(nèi)外圍觀 今晚(11月21日)7點(diǎn) 讀特融媒體記者將\"兵分兩路\" 在大運(yùn)中心體育場(chǎng)進(jìn)行現(xiàn)場(chǎng)直播 場(chǎng)外記者帶你感受球迷熱情 場(chǎng)內(nèi)記者為你探秘賽場(chǎng)風(fēng)云 現(xiàn)場(chǎng)氛圍有多燃? 有多少球迷前來(lái)觀賽? 哪些應(yīng)援口號(hào)戳中你的心? 鎖定 讀特客戶(hù)端、讀特新聞直播間 ! 球迷互動(dòng) 一起來(lái)當(dāng)\"預(yù)言家\" 直播期間 央視體育頻道(CCTV5)直播國(guó)乒,體育賽事頻道(CCTV5+)直播斯諾克世錦賽,中超被迫讓路, 上海申花客場(chǎng)挑戰(zhàn)梅州客家的比賽被安排在央視奧林匹克頻道(CCTV16) 進(jìn)行直播,當(dāng)然,央視沒(méi)有像以往一樣在兩大電視端平臺(tái)直播中超,也是考慮到前國(guó)足主帥李鐵、陳戌源等眾多體育局和中國(guó)足協(xié)高管正在接受調(diào)查! 上海五星體育和廣州市廣播電視臺(tái)南國(guó)都市頻道也將進(jìn)行直播。 首輪比賽中,上海申花主場(chǎng)1比0力挫山東泰山,梅州客家客場(chǎng)1比1戰(zhàn)平北京國(guó)安。 得到巨資注入的老牌球隊(duì)上海申花若能在客場(chǎng)擊敗球王李惠堂的家鄉(xiāng)球隊(duì)梅州客家,將暫時(shí)獨(dú)占領(lǐng)頭羊位置。"
}
response >> 中央電視臺(tái)體育頻道(cctv-5)是中國(guó)開(kāi)播最早、規(guī)模最大、擁有世界眾多頂級(jí)賽事獨(dú)家報(bào)道權(quán)的專(zhuān)業(yè)體育頻道。于1995年1月1日正式開(kāi)播,全天24小時(shí)播出,是中國(guó)觀眾收看體育賽事的首選頻道 咪咕體育和抖音視頻成為了兩個(gè)備選的觀賽平臺(tái),球迷們可以通過(guò)這些渠道在線觀看其他精彩的比賽。 咪咕直播籃球時(shí)間表(圖) 咪咕直播籃球時(shí)間表(圖) cctv5一直以來(lái)是體育賽事的權(quán)威直播平臺(tái),為球迷們提供了高質(zhì)量的觀賽體驗(yàn)。 這場(chǎng)比賽將看到中國(guó)男足迎戰(zhàn)緬甸男足,比賽的開(kāi)球時(shí)間定在了9月21日晚上7點(diǎn)25分。對(duì)于中國(guó)男足來(lái)說(shuō),這將是一場(chǎng)重要的較量,他們將努力爭(zhēng)取2連勝,取得小組賽的出色開(kāi)局。 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有足球直播) 中央5臺(tái)今日節(jié)目表(中央5臺(tái)今晚有 ... _騰訊新聞 今晚7點(diǎn)現(xiàn)場(chǎng)直播:世預(yù)賽中韓男足,決戰(zhàn)深圳! 深圳特區(qū)報(bào) 2023-11-21 16:59:23 發(fā)布于 廣東 深圳特區(qū)報(bào)官方賬號(hào) + 關(guān)注 11月21日晚8點(diǎn) 國(guó)足將在深圳龍崗大運(yùn)中心體育場(chǎng) 迎來(lái)世界杯預(yù)選賽36強(qiáng)賽的首個(gè)主場(chǎng) 時(shí)隔6年 中國(guó)男足與韓國(guó)隊(duì) 再次相遇在世預(yù)賽的賽場(chǎng)上 成為了近年來(lái)最受關(guān)注的比賽之一 球票一天內(nèi)售罄 預(yù)計(jì)有超4萬(wàn)球迷現(xiàn)場(chǎng)為國(guó)足加油 主場(chǎng)對(duì)決 直播帶你場(chǎng)內(nèi)外圍觀 今晚(11月21日)7點(diǎn) 讀特融媒體記者將"兵分兩路" 在大運(yùn)中心體育場(chǎng)進(jìn)行現(xiàn)場(chǎng)直播 場(chǎng)外記者帶你感受球迷熱情 場(chǎng)內(nèi)記者為你探秘賽場(chǎng)風(fēng)云 現(xiàn)場(chǎng)氛圍有多燃? 有多少球迷前來(lái)觀賽? 哪些應(yīng)援口號(hào)戳中你的心? 鎖定 讀特客戶(hù)端、讀特新聞直播間 ! 球迷互動(dòng) 一起來(lái)當(dāng)"預(yù)言家" 直播期間 央視體育頻道(CCTV5)直播國(guó)乒,體育賽事頻道(CCTV5+)直播斯諾克世錦賽,中超被迫讓路, 上海申花客場(chǎng)挑戰(zhàn)梅州客家的比賽被安排在央視奧林匹克頻道(CCTV16) 進(jìn)行直播,當(dāng)然,央視沒(méi)有像以往一樣在兩大電視端平臺(tái)直播中超,也是考慮到前國(guó)足主帥李鐵、陳戌源等眾多體育局和中國(guó)足協(xié)高管正在接受調(diào)查! 上海五星體育和廣州市廣播電視臺(tái)南國(guó)都市頻道也將進(jìn)行直播。 首輪比賽中,上海申花主場(chǎng)1比0力挫山東泰山,梅州客家客場(chǎng)1比1戰(zhàn)平北京國(guó)安。 得到巨資注入的老牌球隊(duì)上海申花若能在客場(chǎng)擊敗球王李惠堂的家鄉(xiāng)球隊(duì)梅州客家,將暫時(shí)獨(dú)占領(lǐng)頭羊位置。
代碼
https://github.com/zgpeace/pets-name-langchain/tree/develop文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-818175.html
參考
https://python.langchain.com/docs/expression_language/cookbook/tools文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-818175.html
到了這里,關(guān)于LangChain 67 深入理解LangChain 表達(dá)式語(yǔ)言30 調(diào)用tools搜索引擎 LangChain Expression Language (LCEL)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!