api_key에서 키 가져오기를 선택합니다.
새 검색엔진 만들기에서 검색엔진을 설정합니다.
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)
curl \
'https://customsearch.googleapis.com/customsearch/v1?key=[YOUR_API_KEY]' \
--header 'Accept: application/json' \
--compressed
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})