어제부터 bard 가 한국어 서비스를 제공하고 있다. GPT를 사용할 때는 느려서 다양한 것을 테스트하기 좀 어려웠서 접속을 안했왔는데, bard 는 아직 사용자가 적어서 그런지 속도가 빠르다.

여러가지를 테스트 해보고 있는데, 꽤 성능이 좋은 것 같다. 뭔가 나랑 대화가 되는 것 같다. 

다음은 내 질문과 그에 대한 답변이다. 

=====
2023년 한국의 기준금리는 어떻게 될까?
=====
2023년 한국의 기준금리는 현재 3.50%로 유지될 것으로 예상됩니다. 한국은행은 2022년 8월부터 5차례에 걸쳐 기준금리를 인상해 왔으며, 현재는 기준금리를 3.50%로 유지하고 있습니다. 한국은행은 앞으로도 물가 안정을 위해 긴축 기조를 유지할 것으로 예상되며, 기준금리는 2023년에도 현재 수준에서 유지될 것으로 예상됩니다.

그러나 한국 경제는 글로벌 경기 둔화와 고물가 등으로 성장세가 둔화될 것으로 예상됩니다. 한국은행은 2023년 국내 경제 성장률을 1.6%로 전망하고 있습니다. 이로 인해 한국은행은 2023년에도 기준금리를 인상할 필요성이 줄어들 것으로 예상됩니다.

그러나 글로벌 경기 둔화 속도가 예상보다 빨라지거나, 국내에서 인플레이션이 더 가파르게 상승할 경우, 한국은행은 기준금리를 인상할 수도 있습니다.
=====


====
한국의 2023년 여름 날씨는 어떻게 될까? 작년보다 더 더울까?
====
한국의 2023년 여름 날씨는 평년보다 더울 것으로 예상됩니다. 기상청에 따르면, 2023년 6월, 7월, 8월의 월평균 기온은 평년보다 0.5~1.0도 높을 것으로 예상됩니다. 특히 7월과 8월은 평년보다 더 더울 것으로 예상되며, 일부 지역에서는 폭염이 발생할 가능성이 있습니다.

기상청은 2023년 여름 날씨가 평년보다 더울 것으로 예상되는 이유로 라니냐가 지속되고 있고, 북태평양고기압이 강하게 발달할 것으로 예상되기 때문이라고 설명했습니다. 라니냐는 적도 무역풍이 강해지면서 서태평양의 해수 온도가 상승하고 동태평양 수온이 평년보다 차가워지는 현상입니다. 북태평양고기압은 북태평양에서 형성된 고기압으로 한국에 영향을 미치는 고기압입니다. 북태평양고기압이 강하게 발달하면 한국은 고온다습한 날씨가 나타납니다.

기상청은 2023년 여름 날씨에 대비하여 수분을 충분히 섭취하고, 더위에 취약한 노인, 어린이, 만성질환자는 외출을 자제할 것을 당부했습니다. 또한, 폭염 특보가 발효되면 실내에서 활동하고, 가급적 외출을 자제할 것을 당부했습니다.
====
해당 정보는 최신 정보인 것 같은데 너는 어떻게 알고 있니?
====
저는 방대한 양의 텍스트 데이터에 대해 교육을 받았으며, 그 중에는 뉴스 기사, 블로그 게시물, 책이 포함되어 있습니다. 이러한 데이터를 통해 현재 시사에 대한 최신 정보를 얻을 수 있습니다. 또한 Google 검색을 통해 실제 세계의 정보에 액세스하고 처리할 수 있습니다. 따라서 귀하의 질문에 최신 정보를 제공할 수 있습니다.
====

뭔지 모르겠으나 최신정보를 검색해서 취합할 수 있는 것 같다. 




 전에 외부 서비스를 이용하는데 버그가 있다.(https://yiunsr.tistory.com/895 ) 이런 글을 올리면서 외국 업체라서 뭔가 지원이 이상하다고 생각했다. 이번에는 국내 업체인데, 나름 꽤나 큰 회사 였다. 물론 해당 사업부는 좀 작은 곳일 수는 있지만 모기업은 나름 국내 100대 기업은 되는 곳이다. 그런데 버그가 있어 확인을 요청했다. 

 답변을 보낸 사람이 사원이었다. 그래서 그런지 일 처리가 매끄럽지 못했다. 여러차례 메일을 주고 받으면서 이야기 하다 내가 알 수 없는  parameter 로 request 를 보냈다고 했다.  상대방이 로그를 보내 주었다. 
 그 로그를 보니 어떤 restful API 의 로그가 보였다. 그런데 remote address 가 내부 IP 주소였다. 🤔, 간혹 load balancing 때문에 이런 현상이 발생하기는 하지만 해당 업체에서 remote address 라고 하면서 저런식으로 자기 네트워크 내부 IP 를 찍을 것 같지는 않았다. 다시 보니 user agnet 도 java 였다. 나와는 다른 language 이다. 결국 서비스업체의 버그가 맞았다. 

아무리 그래도, 로그에 내부 IP 가 찍혀 있으면 확인 좀 해주지. 여기에 적지는 않았지만 내가 꽤 자세히 버그 리포팅 했고, 버그의 원인도 추정해 보냈다. 경험이 적은 신입이면 선임들이 작업을 확인 해 줬어야 하는 것 아닌가?? 

처음부터 기술지원 받기도 힘들었고(voc 단에서 1차적으로 의미없는 시간 소모를 많이했다.)  작은회사에서 버그 리포팅해서 무시를 당했다는 느낌을 지울 수 없었다. 

 파이썬으로  parquet 파일을 읽어오면서 일정크기마다 텍스트로 저장하는 프로그램을 작성하였다. 그러면서

body += row.text + "\n"


같은 구문을 사용하였다. 나는 서버 개발자라서 이런 식의 구문을 사용했을 때 엄청 많이 반복적으로 사용하는 경우는 없었다. 그런데 이것은 집에서 하는 개인프로젝트로 엄청 큰 parquet 파일을 읽는 작업이라서 매우 큰 row.text 에 대해 반복적으로 하는 작업이었다. 
그런데 프로그램을 동작시키자 매우 느리게 동작했다.  내 개인적인 느낌으로는 이게 그렇게 느린 만한 작업이 아니다고 생각해서 break 를 잡아가면서 테스트 해 보았다. body 가 커질 수록 느려지는 느낌이었다. 찾아보니 이런 case 는 

items = []
for key, row in df.iterrows():
    items.append(row.text)
"'\n'.join(items)


이런것을 추천하는 것으로 보았다. 

자바에서의 StringBuffer 가 아닌 String 같은 느낌인 것 같다. 그러다보니 덧셈 연산이 발생할 때마다 메모리 공간 할당이 발생하는 것 같다. (정확한 것을 찾아 봐야한다. )

어째든 내 경우 StringIO 을 이용했다. 

io_file = StringIO()
for key, row in df.iterrows():
    io_file.write(row.text)
    io_file.write("\n\n")
io_file.getvalue()

같이 수정해 보니 꽤 쓸만한 속도로 동작했다.