본문 바로가기

Tech

ChatGPT와 Bard의 간단한 비교

안녕하세요. 카이랏입니다.

 

드디어 바드(Bard)가 런칭되어 실험중이란 표시와 함께 공개되었습니다. 이 말을 지금 당장 사용해 볼 수 있다는 말이기도 합니다.

그래서 가입을 하고 당장 사용을 시작해 봤습니다.

 

오른쪽 아래의 "Join waitlist" 를 클릭하면 그 다음에 "Bard"에서 내 메일 계정으로 메일을 보내옵니다.

그 이후에는 메일을 열고 계속 진행을 하면 쉽게 서비스를 이용할 수 있습니다.

 

 

서비스의 시작 화면입니다. 그래서 당장 한글로 질문을 던졌습니다.

 

"저는 현재 일부 언어로 응답하도록 교육받은 LLM이므로 도움을 드릴 수 없습니다. 현재 지원되는 언어 목록은 Bard 도움말 센터를 참조하십시오." 이렇게 답변을 보냈습니다. 그래서 한글을 사용할 수 없었습니다.

 

그래도 필요한 것은 파이썬 코드를 얻기 위함이기에 구글 번역기를 이용하여 간단하게 코드를 확인해 보겠습니다.

 

"내가 구글 트랜드에 BTS 키워드를 입력하고 5년 간의 검색어 수위를 그래프로 보고 싶다. 이것을 파이썬 코드로 보여줘." 라는 질문을 동일하게 던졌습니다. Bard가 알아들을 수 있고 ChatGPT도 알아들을 수 있게 영어로 바꿔서 테스트 하겠습니다.

 

"I want to enter the BTS keyword into Google Trends and see a graph of the search term level for 5 years. Show this in Python code."

 

먼저 ChatGPT는 아래와 같이 코드를 보여줬습니다. 테스트를 해보겠습니다.

from pytrends.request import TrendReq
import pandas as pd
import matplotlib.pyplot as plt

# Create pytrends object
pytrends = TrendReq()

# Define search term and time frame
keyword = 'BTS'
start_date = '2018-04-24'
end_date = '2023-04-24'

# Build the payload
pytrends.build_payload(kw_list=[keyword], timeframe=f'{start_date} {end_date}')

# Get interest over time data
interest_over_time_df = pytrends.interest_over_time()

# Plot the data
plt.plot(interest_over_time_df.index, interest_over_time_df[keyword])
plt.title(f'Google Trends Search Volume for "{keyword}" ({start_date} - {end_date})')
plt.xlabel('Year')
plt.ylabel('Search Volume')
plt.show()

에러가 발생했습니다. 

이것은 구글에서 너무 잦은 요청을 할 때 등의 경우에 나오는 에러입니다. 일단 다시 시도했습니다. 하지만 동일한 에러가 계속 나왔습니다. 그래서 해당 코드의 문제를 수정하려고 시도했습니다. 이미 제가 이 코드는 알고 있는 상황이라 어느 정도 유사한 지를 볼 수 있었습니다.

많이 유사했고 코드의 흐름도 거의 많이 다르지 않았습니다. 수정해야 할 곳은 

 
pytrends.build_payload(kw_list=[keyword], timeframe=f'{start_date} {end_date}')

이 부분을 

pytrends.build_payload(kw_list=[keyword], timeframe='today 5-y')

이렇게만 고치면 됩니다. 위 코드의 의미는 오늘로부터 5년 전의 기록을 가져온다는 의미입니다.

 

아래 결과가 나왔습니다.

 

그리고 나서 Bard를 통해서 검색한 코드를 확인해 봤습니다. 결과는 아래와 같습니다.

import requests
import pandas as pd

# Set the start and end dates
start_date = "2017-01-01"
end_date = "2022-12-31"

# Get the search term data from Google Trends
url = "https://trends.google.com/trends/explore?date=" + start_date + "&q=BTS"
response = requests.get(url)

# Parse the JSON response
data = response.json()

# Create a DataFrame from the data
df = pd.DataFrame(data["default"]["trend"])

# Set the index to the date
df.index = df["date"]

# Plot the data
df.plot(figsize=(10, 6))

plt.show()

그런데 많이 미흡함이 보였습니다.  일단 기본적인 변수의 설정도 없이 변수를 호출하는 모습도 보였습니다.

plt.show()

위의 코드는 plt 라는 변수가 선언되지 않았는데도 호출하여 이미 에러가 예상되어 있는 것이었습니다. 또한 pytrends를 이용하여 코드를 구성한 것이 아니라 request 를 이용하여 직접 크롤링을 시도하는 모습을 보였습니다. 또한 코드가 잘 동작하지 않았습니다.

 

결론은 아직 Bard가 ChatGPT에 비해서는 미흡한 점이 있다.

 

1. 언어 지원  - 한글이 지원되지 않는다. 오히려 번역기는 구글의 품질이 더 나을 것이라 생각되는데 연동이 안되었는지 궁금하네요.

 

2. 코드의 품질 - 동일한 문의에 ChatGPT가 나은 코드의 품질을 보였다. 의도한 것들을 순서대로 잘 표현했다.

 

그러나 이제 베타 테스트이고 아직 개발 중이므로 Bard의 개선도 기대가 됩니다.