Skip to main content
本文档介绍如何使用 Google 搜索组件。 首先,您需要设置正确的 API 密钥和环境变量。具体步骤:在 Google Cloud 凭据控制台(console.cloud.google.com/apis/credentials)中创建 GOOGLE_API_KEY,并通过可编程搜索引擎(programmablesearchengine.google.com/controlpanel/create)创建 GOOGLE_CSE_ID。此外,建议参考此处的说明。 然后需要设置一些环境变量。
pip install -qU  langchain-google-community
import os

os.environ["GOOGLE_CSE_ID"] = ""
os.environ["GOOGLE_API_KEY"] = ""
from langchain.tools import tool
from langchain_google_community import GoogleSearchAPIWrapper

search = GoogleSearchAPIWrapper()


@tool
def google_search(query: str) -> str:
    """Search Google for recent results."""
    return search.run(query)
google_search.invoke("Obama's first name?")
"STATE OF HAWAII. 1 Child's First Name. (Type or print). 2. Sex. BARACK. 3. This Birth. CERTIFICATE OF LIVE BIRTH. FILE. NUMBER 151 le. lb. Middle Name. Barack Hussein Obama II is an American former politician who served as the 44th president of the United States from 2009 to 2017. A member of the Democratic\xa0... When Barack Obama was elected president in 2008, he became the first African American to hold ... The Middle East remained a key foreign policy challenge. Jan 19, 2017 ... Jordan Barack Treasure, New York City, born in 2008 ... Jordan Barack Treasure made national news when he was the focus of a New York newspaper\xa0... Portrait of George Washington, the 1st President of the United States ... Portrait of Barack Obama, the 44th President of the United States\xa0... His full name is Barack Hussein Obama II. Since the “II” is simply because he was named for his father, his last name is Obama. Mar 22, 2008 ... Barry Obama decided that he didn't like his nickname. A few of his friends at Occidental College had already begun to call him Barack (his\xa0... Aug 18, 2017 ... It took him several seconds and multiple clues to remember former President Barack Obama's first name. Miller knew that every answer had to\xa0... Feb 9, 2015 ... Michael Jordan misspelled Barack Obama's first name on 50th-birthday gift ... Knowing Obama is a Chicagoan and huge basketball fan,\xa0... 4 days ago ... Barack Obama, in full Barack Hussein Obama II, (born August 4, 1961, Honolulu, Hawaii, U.S.), 44th president of the United States (2009–17) and\xa0..."

结果数量

您可以使用 k 参数设置返回结果的数量
search = GoogleSearchAPIWrapper(k=1)


@tool
def im_feeling_lucky(query: str) -> str:
    """Search Google and return the first result."""
    return search.run(query)
im_feeling_lucky.invoke("python")
'The official home of the Python Programming Language.'
‘The official home of the Python Programming Language.‘

元数据结果

通过 GoogleSearch 运行查询,并返回摘要、标题和链接等元数据。
  • Snippet(摘要):结果的描述内容。
  • Title(标题):结果的标题。
  • Link(链接):结果的链接地址。
search = GoogleSearchAPIWrapper()


@tool
def google_search_snippets(query: str) -> str:
    """Search Google for recent results."""
    return search.results(query, 5)