Skip to content

Latest commit

 

History

History
89 lines (57 loc) · 2.48 KB

GoogleSearchAPI.md

File metadata and controls

89 lines (57 loc) · 2.48 KB

Google Search API

API 준비

API Key 발급

api_key에서 키 가져오기를 선택합니다.

검색엔진 ID 만들기

새 검색엔진 만들기에서 검색엔진을 설정합니다.

가격

Google Search Console API는 모두 무료로 사용할 수 있습니다. 하지만 사용량 한도가 적용됩니다.

활용

라이브러리 설치

google-api-python-client을 설치합니다.

pip install google-api-python-client

요청

아래와 같이 googleapiclient을 이용하여 google search api로 요청할 수 있습니다.

from googleapiclient.discovery import build

api_key = 'YOUR_API_KEY'
cse_id = 'YOUR_SEARCH_ENGINE_ID'

service = build("customsearch", "v1", developerKey=api_key)

result = service.cse().list(q=question, cx=cse_id).execute()
print('google search result: ', result)

CLI로 동작확인

Custom Search JSON API

curl \
  'https://customsearch.googleapis.com/customsearch/v1?key=[YOUR_API_KEY]' \
  --header 'Accept: application/json' \
  --compressed

WebResearchRetriever

LangChain의 GoogleSearchAPIWrapper를 활용하는 방법에 대해 설명합니다.

아래는 WebResearchRetriever의 예제입니다.

# Initialize
from langchain.retrievers.web_research import WebResearchRetriever
from langchain.utilities.google_search import GoogleSearchAPIWrapper

search = GoogleSearchAPIWrapper()
web_research_retriever = WebResearchRetriever.from_llm(
    vectorstore=vectorstore,
    llm=llm,
    search=search,
)

docs = web_research_retriever.get_relevant_documents(user_input)

검색한 결과를 이용하여 Q&A 결과 얻는 방법입니다.

from langchain.chains import RetrievalQAWithSourcesChain
qa_chain = RetrievalQAWithSourcesChain.from_chain_type(
    llm, retriever=web_research_retriever
)
msg = qa_chain({"question": revised_question})

Reference

Public APIs Developers Can Use in Their Projects