自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在LangChain中使用博查搜索API實(shí)現(xiàn)智能搜索 原創(chuàng)

發(fā)布于 2025-1-4 13:48
瀏覽
0收藏

本文將深入探討如何在LangChain框架中集成博查搜索API(Bocha Web Search API),以實(shí)現(xiàn)智能化的搜索功能。通過詳細(xì)的設(shè)置步驟、實(shí)用的代碼示例以及全面的解決方案,幫助開發(fā)者輕松獲取并利用實(shí)時搜索引擎信息,提升應(yīng)用的智能化水平。

引言

在當(dāng)今AI應(yīng)用迅猛發(fā)展的時代,搜索引擎成為眾多應(yīng)用程序和網(wǎng)站的重要組成部分。LangChain作為一個強(qiáng)大的語言模型集成框架,能夠通過與多種API接口的結(jié)合,顯著提升應(yīng)用的智能化和互動性。而博查搜索API(Bocha Web Search API)作為博查公司提供的企業(yè)級互聯(lián)網(wǎng)網(wǎng)頁搜索接口,賦予開發(fā)者通過編程方式訪問博查搜索引擎的豐富搜索結(jié)果和相關(guān)信息的能力。

博查搜索API支持近億級網(wǎng)頁內(nèi)容的搜索,涵蓋網(wǎng)頁、圖片、新聞、天氣、萬年歷、火車、星座屬相、貴金屬、匯率、油價、手機(jī)、汽車等多種內(nèi)容源。這使其不僅適用于各類AI應(yīng)用和檢索增強(qiáng)生成(RAG)應(yīng)用,還能為AI智能體的開發(fā)提供堅(jiān)實(shí)的數(shù)據(jù)支持。此外,博查搜索API在數(shù)據(jù)安全、成本控制和內(nèi)容合規(guī)性方面表現(xiàn)出色,解決了開發(fā)者在集成搜索功能時常見的諸多挑戰(zhàn)。

在LangChain中使用博查搜索API實(shí)現(xiàn)智能搜索-AI.x社區(qū)

實(shí)現(xiàn)步驟

為了在LangChain中成功集成博查搜索API,實(shí)現(xiàn)智能搜索功能,請按照以下步驟操作:

1. 獲取API Key

前往 博查AI開放平臺(https://open.bochaai.com) 注冊并登錄您的開發(fā)者賬戶,在控制臺導(dǎo)航到“API KEY管理”頁面,創(chuàng)建一個新的應(yīng)用以獲取您的專屬API Key。請妥善保管此密鑰,因?yàn)樗鼘⒂糜诤罄m(xù)的API調(diào)用授權(quán)。

2. 定義博查搜索API為 LangChain 的 Tool

使用以下示例代碼,將博查搜索API集成到LangChain中,定義為一個自定義的Tool。這將允許LangChain在處理請求時調(diào)用博查搜索API,實(shí)現(xiàn)實(shí)時的信息檢索。

示例代碼

詳細(xì)代碼:https://aq6ky2b8nql.feishu.cn/wiki/XXCsw2Dyjiny8OkJl0KcWjyOnDb

import requests
from langchain.agents import initialize_agent, Tool, AgentType
from langchain_openai import ChatOpenAI
from langchain.tools import tool

OPENAI = ""
BOCHA = ""

# 定義Bocha Web Search工具
@tool
def bocha_websearch_tool(query: str, count: int = 10) -> str:
    """
    使用Bocha Web Search API 進(jìn)行網(wǎng)頁搜索。

    參數(shù):
    - query: 搜索關(guān)鍵詞
    - count: 返回的搜索結(jié)果數(shù)量

    返回:
    - 搜索結(jié)果的詳細(xì)信息,包括網(wǎng)頁標(biāo)題、網(wǎng)頁URL、網(wǎng)頁摘要、網(wǎng)站名稱、網(wǎng)站Icon、網(wǎng)頁發(fā)布時間等。
    """
    
    url = 'https://api.bochaai.com/v1/web-search'
    headers = {
        'Authorization': f'Bearer {BOCHA}',  # 請?zhí)鎿Q為你的API密鑰
        'Content-Type': 'application/json'
    }
    data = {
        "query": query,
        "freshness": "noLimit", # 搜索的時間范圍,例如 "oneDay", "oneWeek", "oneMonth", "oneYear", "noLimit"
        "summary": True, # 是否返回長文本摘要總結(jié)
        "count": count
    }

    response = requests.post(url, headers=headers, json=data)

    if response.status_code == 200:
        json_response = response.json()
        try:
            if json_response["code"] != 200 or not json_response["data"]:
                return f"搜索API請求失敗,原因是: {response.msg or '未知錯誤'}"
            
            webpages = json_response["data"]["webPages"]["value"]
            if not webpages:
                return "未找到相關(guān)結(jié)果。"
            formatted_results = ""
            for idx, page in enumerate(webpages, start=1):
                formatted_results += (
                    f"引用: {idx}\n"
                    f"標(biāo)題: {page['name']}\n"
                    f"URL: {page['url']}\n"
                    f"摘要: {page['summary']}\n"
                    f"網(wǎng)站名稱: {page['siteName']}\n"
                    f"網(wǎng)站圖標(biāo): {page['siteIcon']}\n"
                    f"發(fā)布時間: {page['dateLastCrawled']}\n\n"
                )
            return formatted_results.strip()
        except Exception as e:
            return f"搜索API請求失敗,原因是:搜索結(jié)果解析失敗 {str(e)}"
    else:
        return f"搜索API請求失敗,狀態(tài)碼: {response.status_code}, 錯誤信息: {response.text}"

# 創(chuàng)建LangChain工具
bocha_tool = Tool(
    name="BochaWebSearch",
    func=bocha_websearch_tool,
    description="使用Bocha Web Search API 進(jìn)行搜索互聯(lián)網(wǎng)網(wǎng)頁,輸入應(yīng)為搜索查詢字符串,輸出將返回搜索結(jié)果的詳細(xì)信息,包括網(wǎng)頁標(biāo)題、網(wǎng)頁URL、網(wǎng)頁摘要、網(wǎng)頁內(nèi)容、網(wǎng)站名稱、網(wǎng)站Icon、網(wǎng)頁發(fā)布時間等。"
)

# 請改成您自己的語言模型
# llm = 

# 初始化代理,包含您的自定義工具
agent = initialize_agent(
    tools=[bocha_tool],
    llm=llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    verbose=True
)

# 使用代理進(jìn)行查詢
user_question = "請告訴我阿里巴巴2024年ESG報(bào)告中的亮點(diǎn)"
response = agent.run(user_question)
print(response)

響應(yīng)結(jié)果

阿里巴巴2024年ESG報(bào)告的亮點(diǎn)包括:1) 自身運(yùn)營減排量達(dá)到232萬噸,同比提升63.5%;2) 清潔電力使用比例提升至39%;3) 價值鏈排放強(qiáng)度下降7%至每百萬元營收8.1噸;4) 阿里云數(shù)據(jù)中心電力使用效率保持亞洲領(lǐng)先,清潔電力使用比例達(dá)到56%;5) 通過“數(shù)智循環(huán)物流”方案,菜鳥網(wǎng)絡(luò)在物流環(huán)節(jié)減排45.8萬噸;6) 平臺生態(tài)減排量達(dá)到3333.8萬噸,同比增長45.5%。此外,阿里巴巴還在醫(yī)療、助老、助殘等領(lǐng)域應(yīng)用AI技術(shù),推動社會責(zé)任和可持續(xù)發(fā)展。

完整思考鏈

> Entering new AgentExecutor chain...
我需要查找阿里巴巴2024年ESG報(bào)告的相關(guān)信息,以了解其中的亮點(diǎn)。  
Action: BochaWebSearch  
Action Input: "阿里巴巴 2024 ESG 報(bào)告 亮點(diǎn)"  
Observation:

此處省略10條詳細(xì)引用信息···

> Finished chain.
阿里巴巴2024年ESG報(bào)告的亮點(diǎn)包括:1) 自身運(yùn)營減排量達(dá)到232萬噸,同比提升63.5%;2) 清潔電力使用比例提升至39%;3) 價值鏈排放強(qiáng)度下降7%至每百萬元營收8.1噸;4) 阿里云數(shù)據(jù)中心電力使用效率保持亞洲領(lǐng)先,清潔電力使用比例達(dá)到56%;5) 通過“數(shù)智循環(huán)物流”方案,菜鳥網(wǎng)絡(luò)在物流環(huán)節(jié)減排45.8萬噸;6) 平臺生態(tài)減排量達(dá)到3333.8萬噸,同比增長45.5%。此外,阿里巴巴還在醫(yī)療、助老、助殘等領(lǐng)域應(yīng)用AI技術(shù),推動社會責(zé)任和可持續(xù)發(fā)展。

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
已于2025-1-4 13:52:55修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦