【手把手教学】博查API+LangChain+DeepSeek:三步实现你的AI智能搜索!


前言

大家好,我是BigNorthBear。 为了避免传统搜索引擎的那些推荐算法与SEO优化带来的信息偏差问题,本文将介绍如何通过博查Web Search APILangChain与最近爆火的DeepSeek,打造一个精准、高效的AI智能搜索工具。通过详细的技术讲解、代码示例以及数据分析,我们将探讨如何获取更可靠的搜索结果。


一、传统搜索引擎的局限性

在当前的互联网环境中,搜索引擎的排序机制受到广告投放、SEO优化以及个性化推荐等多重因素的影响。这导致用户在检索信息时往往无法获得最真实、最新的内容。例如,搜索“python教程”时,传统搜索引擎可能返回的全是过时的文章或者铺天盖地的广告。

相较之下,博查API采用去中心化的数据抓取策略,直接从原始网页提取信息,并通过语义分析对内容进行重新排序,从而确保搜索结果的准确性与时效性。在相同搜索条件下,博查API提供的结果主要来自官网、权威媒体和最新报告。


二、博查API与LangChain简介

1. 博查API是什么?

博查API其实提到过很多次了,简单的说,它其实就是一个智能搜索工具,它跟我们平时用的搜索引擎不太一样。

它的特别之处在于,它从多个不同的地方抓取信息,不是像传统搜索引擎那样只看网页的优化或者广告投放。 你可以想象,传统的搜索引擎就像一个广告商在操控的市场,往往给你推荐的都是被推销过的内容,很多时候甚至是已经过时的或不太靠谱的信息。而博查API则更多地从专业平台、学术网站和技术社区获取数据,这样搜索的结果就显得更精准,也能保证信息的时效性。

博查API的另一个大亮点是,它会根据内容的语义来排序搜索结果,而不是简单地按照关键词匹配。 就是说,它能理解你搜索的意图,给你最相关、最有价值的内容。就比如你搜索一篇技术文章,它不会只是看文章里面有没有关键词“Python”,而是看文章的内容是否真正符合你的需求。

而且,博查API返回的数据是结构化的,像是标题、摘要、发布时间等等,全部都非常清楚,开发者可以直接拿来处理。这对于需要快速获取高质量信息的开发者来说,真的是一个非常棒的工具。

2. LangChain是什么?

LangChain是一个帮助开发者和大语言模型(像是GPT-4)进行更高效互动的工具。 说白了,它就像是一个大模型的助手,能够让你用简单的方式调用大模型来处理复杂的任务。

你可以把LangChain想象成一个“自动化工作流”。比如你可以让它帮你处理搜索结果,提炼出最重要的信息,甚至判断内容是不是最新的。它不仅能帮助你分析文本,还能通过设定好的流程来自动化这些任务,让你不必每次都手动去做。这样一来,开发者就能更高效地完成数据处理,节省很多时间。

LangChain的另一个优势是,它可以跟很多不同的数据源和API打交道。你不仅可以用它来分析博查API返回的搜索结果,还可以把它和其他系统、工具结合起来,扩展功能。简而言之,LangChain让大语言模型变得更易用,也能帮助开发者快速构建智能化的应用。


三、前置准备

3.1 获取博查API Key

3.2 安装依赖

pip install requests
pip install langchain_openai
pip install langchain

四、技术实现:集成博查API与LangChain

4.1 获取搜索结果

首先,我们调用博查API获取结构化的搜索数据。以下代码展示了如何使用博查API进行搜索,并返回相关结果。

import requests
import json

API_KEY = "sk-你的密钥"
url = "https://api.bochaai.com/v1/web-search"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

def fetch_search_results(query, count=5):
    payload = {
        "query": query,
        "summary": True,
        "count": count,
        "freshness": "noLimit"
    }
    response = requests.post(url, headers=headers, data=json.dumps(payload))
    if response.status_code == 200:
        return response.json()["data"]["webPages"]["value"]
    else:
        raise Exception(f"API调用失败:{response.text}")

results = fetch_search_results("大模型推理优化")
print("首条结果标题:", results[0]["name"])
print("链接:", results[0]["url"])
print("摘要:", results[0]["snippet"])
print("时间:", results[0]["dateLastCrawled"])

此代码成功执行后,将返回包含标题、链接、摘要及发布时间等信息的结构化数据。

首条结果
标题: 2024年大模型推理优化论文精选
链接: https://www.cnblogs.com/ExMan/p/18720701
摘要: OSDI (USENIX Symposium on Operating Systems Design and Implementation) 和SOSP (ACM Symposium on Operating Systems Principles) 是计算机操作系统领域最重要的两大国 际会议,在国际上享有极高的学术声誉,也是 CCF 推荐的 A 类会议。本文整理了 OSDI 2024 和 SOSP 20…
时间: 2025-02-17T20:17:00Z

4.2 解析搜索结果

借助LangChain,我们可以对搜索数据进行智能分析,例如提炼核心观点、关键词,并判断其时效性。

from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import StrOutputParser

llm = ChatOpenAI(
    model="deepseek-chat",
    base_url="https://api.deepseek.com/v1",  # DeepSeek API 地址
    api_key= "your_deepseek_api_key"  # 你的 DeepSeek API Key
)

prompt = ChatPromptTemplate.from_template("""
基于以下内容:
{content}
执行任务:
1. 用一句话总结核心内容;
2. 提取3个技术关键词;
3. 判断是否为最新进展(是/否)。
""")

chain = prompt | llm | StrOutputParser()

for result in results:
    content = f"{result['name']}\n{result['snippet']}"
    analysis = chain.invoke({"content": content})
    print(f"标题:{result['name']}")
    print(f"分析:{analysis}\n")

执行上述代码后,每条搜索结果都会被LangChain自动处理,输出关键信息,以便快速筛选出有价值的内容。

标题:大模型领域进展不断 多场景应用未来可期
分析结果:

  1. 核心观点:大模型技术正从研发阶段加速进入多场景应用阶段,赋能百业千家并推动科学研究。
  2. 关键技术关键词:
    • 大模型(如通义千问、文心一言等)
    • 算力设施(随取随用的基础设施支撑)
    • 多场景应用(手机、供应链、教育、城市管理等)
  3. 是否与“最新进展”相关:(提及技术从“上新品”到“强应用”的阶段性转变及行业动态)。

五、项目完整代码

import requests
import json
from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import StrOutputParser

# 配置博查API(记得替换成你的API Key)
API_KEY = "你的API Key"
url = "https://api.bochaai.com/v1/web-search"
DEEPSEEK_API_KEY = "你的 DeepSeek API Key"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

def bocha_search(query, count=5):
    payload = {
        "query": query,
        "summary": True,
        "count": count,
        "freshness": "noLimit"
    }
    response = requests.post(url, headers=headers, data=json.dumps(payload))
    if response.status_code == 200:
        return response.json()["data"]["webPages"]["value"]
    else:
        raise Exception(f"API调用失败:{response.text}")


# 测试搜索“大模型技术进展”
results = bocha_search("大模型技术进展")
# 初始化LangChain的LLM(这里用 DeepSeek,你也能换其他模型)
llm = ChatOpenAI(
    model="deepseek-chat",
    base_url="https://api.deepseek.com/v1",  # DeepSeek API 地址
    api_key= DEEPSEEK_API_KEY  # 你的 DeepSeek API Key
)

# 定义处理流程:输入搜索内容 → 提取摘要 → 分析技术点
prompt = ChatPromptTemplate.from_template("""
你是一个技术分析师,请根据以下搜索内容:
{content}
完成以下任务:
1. 用一句话总结核心观点;
2. 提取3个关键技术关键词;
3. 判断内容是否与“最新进展”相关(是/否)。
""")

chain = prompt | llm | StrOutputParser()

# 批量处理博查API的结果
for result in results:
    content = f"{result['name']}\n{result['snippet']}"
    analysis = chain.invoke({"content": content})
    print(f"标题:{result['name']}")
    print(f"分析结果:\n{analysis}\n")


六、博查API的技术优势

我们可以通过代码实战看到,博查API相比于传统搜索引擎来说,有以下几个优点:

  • 更真实的搜索结果:屏蔽SEO优化站点,优先展示权威来源。
  • 最新信息优先:确保搜索结果涵盖最新动态,而非过时内容。
  • 语义分析能力:通过NLP技术理解搜索意图,减少无关内容的干扰。

例如,在搜索“Python学习路径”时,博查API优先返回CSDN高赞文章,知乎高赞回答以及GitHub上的最新教程,而不会受到培训机构广告的干扰。


总结

博查API + LangChain + DeepSeek 这种自定义的智能化搜索链条,为开发者提供了一种更高效的搜索解决方案。通过去中心化爬取和智能分析,用户可以更快速地获取精准的技术和学术信息。

相比于传统的搜索引擎的种种局限性,智能化搜索工具无疑是一种新的高效的解决方案!大家可以手动实现一个自己的智能搜索工具,来提高自己的搜索效率!

扩展阅读

🔗 系列文章推荐:

【搜索引擎不想告诉你的事(一):你的搜索姿势可能全错了】

【搜索引擎不想告诉你的事(二):你看到的内容只是他们想让你看到的!】

【搜索引擎不想告诉你的事(三):SEO与搜索引擎的相爱相杀】

【搜索引擎不想告诉你的事(四):个性化推荐让搜索变成了信息茧房?】

【搜索引擎不想告诉你的事(五):广告在幕后操纵你的搜索】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值