探索Serper与LangChain的完美结合:高效利用Google Search API

190 阅读2分钟

探索Serper与LangChain的完美结合:高效利用Google Search API

引言

在现代应用开发中,集成搜索功能已成为一种常见需求,而Google Search API因其强大的功能而备受青睐。本文将带你深入了解如何利用Serper这款低成本的Google Search API,通过LangChain将其集成到你的应用中,实现回答框、知识图谱以及自然搜索结果的智能查询。

主要内容

1. 设置Serper API

  • 前往 serper.dev 注册免费账户。
  • 获取API密钥并将其设置为环境变量。
export SERPER_API_KEY='your_api_key_here'

2. 导入必要的工具

LangChain提供了一个便捷的GoogleSerperAPIWrapper工具。你可以通过以下方式导入:

from langchain_community.utilities import GoogleSerperAPIWrapper

3. 与LangChain结合

使用LangChain的Self Ask链功能,可以实现自动化的搜索问答:

from langchain_community.utilities import GoogleSerperAPIWrapper
from langchain_openai import OpenAI
from langchain.agents import initialize_agent, Tool
from langchain.agents import AgentType
import os

os.environ["SERPER_API_KEY"] = "your_serper_api_key"  # 使用API代理服务提高访问稳定性
os.environ['OPENAI_API_KEY'] = "your_openai_api_key"

llm = OpenAI(temperature=0)
search = GoogleSerperAPIWrapper()
tools = [
    Tool(
        name="Intermediate Answer",
        func=search.run,
        description="useful for when you need to ask with search"
    )
]

self_ask_with_search = initialize_agent(tools, llm, agent=AgentType.SELF_ASK_WITH_SEARCH, verbose=True)

result = self_ask_with_search.run("What is the hometown of the reigning men's U.S. Open champion?")
print(result)

4. 使用工具加载

你还可以将这个包装器作为工具加载:

from langchain.agents import load_tools
tools = load_tools(["google-serper"])

常见问题和解决方案

1. 网络访问限制

由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以确保稳定访问。

2. API密钥保护

确保API密钥安全存储,不要在代码库中直接暴露,可以使用环境变量管理。

总结和进一步学习资源

通过LangChain与Serper的结合,我们可以极大地提升应用的搜索能力。为了进一步深入学习这些工具,你可以参考以下资源:

参考资料


如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!