본문 바로가기
Programming/Python

[Python] GPT & 구글 검색으로 보고서 쓰기

by 코딩하는 금융인 2023. 2. 25.

안녕하세요.

오늘은 파이썬으로 GPT3와 구글 검색을 활용하여 자동으로 보고서를 작성해보겠습니다.

 

 GPT & 구글 검색으로 보고서 작성하기 in Python

▣ 프로젝트 내용

- 어떤 주제에 대해서 우리가 모를 때 보통 구글로 검색해서 찾습니다. ChatGPT는 다양한 기능을 갖고 있는데 그중 URL을 요약 및 정리해주는 기능이 있습니다. (아래 참조)

- 이렇게 URL에 대해 간략하게 요약정리해주는 Chatgpt의 기능에 감탄하여 구글의 상위 검색과 연계하여 자동으로 보고서를 작성해주는 코드를 작성해보고자 포스팅하게 되었습니다.

 

▣ 파이썬 코드

: 구글 상위 검색 URL

import requests
from bs4 import BeautifulSoup
import urllib.parse

topic = input()
url = f"https://www.google.com/search?q={topic}"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"
}
response = requests.get(url, headers=headers)

# 구글 상위 검색 페이지 parsing하기
soup = BeautifulSoup(response.text, "html.parser")

# 상위 검색 n개의 페이지 가져오기
urls = []
for i in soup.find_all("div", class_="yuRUbf")[:3]:
    urls.append(i.find("a")["href"])
url_ = urls[0]

- query_word에 키워드를 넣어 구글에서 검색된 상위 3개의 url을 뽑음.

- 여러 가지 검색어를 뽑아서 gpt를 돌렸을 때 에러가 많이 나와 가장 상위의 검색 url을 예시로 삼음.

 

: Chatgpt 보고서 작성

import openai
openai.api_key = "OpenAI API Key"

# 링크 요약 및 보고서 작성하기
summaries = []
keywords = {}
prompt = f"Summarizes the following article:{url_} and make a report"
response = openai.Completion.create(
      engine="text-davinci-003",
      prompt=prompt,
      temperature=0.5,
      max_tokens=256,
      top_p=1.0,
      frequency_penalty=0.0,
      presence_penalty=0.0
    )
summary = response['choices'][0]['text']

# 한국어로 번역하기
print(get_translate_to_ko(summary))

- Openai에서 받은 API Key를 바탕으로 위에서 뽑은 상위 url에 대한 요약정리 보고서 작성에 대한 prompt를 구성함.

- 답변은 기본적으로 영어이기 때문에 파파고 api를 활용하여 한국어로 번역함.

 

: 결과 보기

input keyword : fpga semiconducter
이 문서에서는 FPGA(Field Programmable Gate Array)에 대한 개요를 제공합니다. FPGA는 제조 후 프로그래밍이 가능한 집적 회로이며, 거의 모든 디지털 논리 회로를 구현하는 데 사용할 수 있다. 이들은 논리 블록, 메모리 블록, 입출력 블록으로 구성된다. 논리 블록은 조합 논리 함수를 만드는 데 사용되고 메모리 블록은 데이터를 저장하는 데 사용됩니다. 입력/출력 블록은 외부 장치와 인터페이스하는 데 사용됩니다. FPGA는 디지털 신호 처리, 이미지 처리 및 기타 복잡한 알고리즘을 구현하는 데 사용될 수 있습니다.
이 보고서는 FPGA(Field Programmable Gate Arrays)의 개요를 제공합니다. FPGA는 제조 후 프로그래밍이 가능한 집적 회로이며, 거의 모든 디지털 논리 회로를 구현하는 데 사용할 수 있다. 이들은 논리 블록, 메모리 블록, 입출력 블록으로 구성된다. 논리 블록은 조합 논리 함수를 만드는 데 사용되고 메모리 블록은 데이터를 저장하는 데 사용됩니다. 입력/출력 블록은 외부 장치와 인터페이스하는 데 사용됩니다. FPGA는 디지털 신호 처리, 이미지 처리 및 기타 복잡한 알고리즘을 구현하는 데 사용될 수 있습니다. FPGA는 광범위한 응용 분야에서 사용할 수 있는 다목적이고 강력한 기술입니다.

 

※ 과거 파이썬 Openai와 파파고 API KEY에 대해 포스팅한 글이 있으니 참고하시기 바랍니다.

2023.02.06 - [Programming/AI] - [AI] 파이썬으로 GPT 사용하기

2023.02.07 - [Programming/Websites & API] - 파파고 API 발급 및 파이썬 코드 예제

반응형

댓글