윤누리
윤누리
Admin
🖊️ 노트 찐친
🎻 루키 파트너
🏅 AI 마스터

[7기 API 스터디] 압구정 와인바 1위 탈환 대작전 2탄 - 자동 답글 프로그램 만들기

지난주에 네이버 리뷰를 크롤링해오는 것까지 진행했습니다. 당시에도 굉장히 삽질을 했었죠… (링크)

그리고 크롤링한 리뷰에 자동으로 답글이 달리게 하면 좋겠습니다. 공부도 할 겸 정정민님이 발표해주신 streamlit으로 답글 생성 서비스를 만들어보겠습니다.

완성된 화면입니다. (아름다워… 내 눈에만 🥰)


다짜고짜 ChatGPT에게 물어보기

이제는 꽤 익숙해진 VS Code에 들어가서 코드를 짜야합니다.

우선 해당 라이브러리들을 사용하기 위해 다음과 같은 명령어를 통해 필요한 패키지들을 설치해야 합니다:

  1. streamlit: 웹 애플리케이션을 만들기 위한 라이브러리

  2. pandas: 데이터 처리 및 분석을 위한 라이브러리

  3. openai: OpenAI API를 사용하기 위한 라이브러리


코드 : pip install streamlit pandas openai


설치한 패키지들은 ‘requirements.txt’라는 파일을 따로 만들어서 저장해줘야 하는데요, 이를 깃헙에 업로드해두면 streamlit에서 읽어올 때 자동으로 패키지들을 설치해서 로컬이 아닌 환경에서도 동작하게 해준다고 합니다.


그리고 ChatGPT가 코드를 짜줬습니다.


역시나 잘 읽지 못해서 제가 첨부할 csv파일을 ADA로 입력해서, 데이터 형식을 파악한 후 코드를 개선해달라고 했습니다. 그런데 데이터가 없다는군요?! 생각해보니 제가 크롤링으로 데이터를 추출할 때 데이터가 첫 번째 시트가 아닌 두 번째 시트에 저장이 되어서 데이터가 없는 것으로 인식을 하더군요. 그래서 두 번째 시트를 읽어달라고 요청했습니다. (이것 때문에 한 시간 넘게 씨름한 나는 바보…)

그런데 화면에 답글이 추출되지 않아서 답글이 보이게 만들어달라고 요청했습니다. 그랬더니 캐싱? 기능을 이용해서 호출을 해준다고 합니다.

이렇게 저렇게 코드를 수정하길 수백번.

터미널에서 ‘streamlit run 파이썬 파일명’ 을 입력해서 로컬 환경으로 드디어 답글 시스템이 돌아가는 것을 확인했습니다! 감동의 눈물 펑펑


사이드바 추가

그렇게 만들었는데 조금 UI가 심심하다는 느낌이 듭니다. 정정민님은 사이드바를 추가해서 조금 더 전문적으로 보이는 서비스를 구현하셨더군요. 그래서 정민님의 github를 보고 사이드바를 추가해보았습니다. (정민님의 깃헙 주소 )

천재 정민님이 작성해주신 다른 API툴들은 뭔지 모르겠어서 1번 항목 Open API 링크만 남겨두었습니다.


github _ streamlit 연결하기

깃헙에 파이썬 코드를 업로드해두고 streamlit과 연동을 해두면 깃헙에서 코드를 바로 받아와서 사이트를 만들어줍니다. 수정 사항이 발생하면 깃헙의 코드를 수정하고 커밋하면 streamlit 페이지도 자동으로 수정이 됩니다.

  1. 우선 스트림릿에 가입을 하시고요 (링크 : https://streamlit.io/)

  1. 깃허브도 가입을 합니다. 그리고 New repository 등록을 합니다. 녹색 New 버튼을 누르면 됩니다.

  1. 파이썬 파일과 requirements 파일을 업로드합니다.

  1. 다시 스트림릿으로 돌아갑니다. 그리고 new app을 누릅니다.

  1. 그럼 제가 깃헙에 저장해두었던 repository가 목록에 노출됩니다.

  1. 파이썬 파일명과 원하는 url을 입력해줍니다.

  1. 그리고 Openai API키를 바로 세팅해둘 수 있는데요, Advanced Settings 들어간 다음에 Secrets에서 OPENAI_API_KEY="##### api키를 입력” 해두면 바로 API를 잘 호출해옵니다.

  2. 드디어 클라우드에서 공개된 링크 생성 완료!!! https://winebar.streamlit.app/

완성된 결과를 볼까요?

꽤 마음에 듭니다. 하지만 아직 갈 길이 많이 남았습니다. 매일 특정 시간에 답글이 달리지 않은 리뷰를 크롤링해서 > 네이버 플레이스에 자동으로 달리도록 해야 하는데요, 이건 다음 과제로 진행해보겠습니다. 수고했다 내 자신…

12
10개의 답글

👉 이 게시글도 읽어보세요!

📚 AI 활용 사례 더 보기