Streamlit과 Anthropic Claude Sonnet 3.5를 활용한 파일 기반 질문 앱 구현하기

조경민·2024년 7월 16일
0
post-thumbnail
post-custom-banner

Streamlit

Streamlit은 데이터 사이언티스트나 AI 엔지니어가 손쉽게 데이터 관련 웹 어플리케이션을 구성할 수 있도록 도와주는 Python 기반 오픈소스 프레임워크입니다. 프레임워크에 미리 구성된 차트, 테이터, 텍스트, 입력 필드, 레이아웃 등 다양한 요소를 활용하여 웹 페이지를 구성할 수 있으며, Python 데이터 라이브러리인 pandas와 numpy를 연동하여 데이터를 손쉽게 시각화 할 수 있다는 것이 큰 장점으로 꼽힙니다. 특히 차트의 경우 바 차트, 선 차트, 산점도 차트, 면적 차트 등 목적에 맞는 유형의 차트를 적재적소에 활용할 수 있도록 지원하고 있습니다.

Anthropic

Anthropic은 OpenAI 출신 인원이 모여 2021년 설립한 AI 플랫폼 기업입니다. 설립 당시 부터 AI 기술의 안정성 및 윤리적 책임을 각별히 중시하였고, 그러한 철학이 서비스에 반영되어 있습니다. 현재 제공하고 있는 서비스는 OpenAI와 마찬가지로 AI 채팅인 claude.ai 와 외부에서 활용할 수 있는 API인 Anthropic API로 나뉩니다.

Anthropic에서 2024년 7월 현재 기준으로 활용할 수 있는 최신 언어 모델은 Claude Sonnet 3.5 이며, 채팅 서비스와 API에서 모두 활용 가능합니다. 서비스를 활용하기 위해서는 각각의 계정을 별도로 생성하고 크레딧을 구입해야 합니다.

이번 실습은 Streamlit에서 Claude Sonnet 3.5 모델을 활용한 파일 기반 질문 어플리케이션을 다루어 보겠습니다.

실습

버전 정보

  • Python 3.11
  • Streamlit 1.36.0

준비 사항

GitHub 저장소

실습은 아래의 Python Streamlit 어플리케이션을 통해 진행됩니다. 저장소를 clone 하거나 fork 해주세요.

따라하기

Anthropic API Key 발급하기

  1. Anthropic API 대시보드에서 Get API keys 버튼을 클릭합니다.
  1. 우측 상단의 Create Key 버튼을 누르고 Key의 용도를 식별할 수 있는 이름을 입력합니다.

  2. Key는 생성 당시에 한하여 한 번만 확인할 수 있으므로 표시된 Key를 안전한 곳에 보관합니다.

Streamlit 앱 배포하기

  1. 클라우드타입의 프로젝트 페이지에서 ➕ 버튼을 누르고 Python Streamlit 을 선택한 후, 미리 fork 해놓은 streamlit-claude-sonnet 를 선택합니다. 기타 설정은 아래를 참고하여 입력한 후 배포하기 버튼을 클릭합니다.

    • Python 버전: 3.11
    • Port: 8501
    • Start Command: streamlit run app.py --server.port=8501 --server.address=0.0.0.0
  2. 배포가 완료되면 접속하기 버튼을 눌러 정상적으로 Streamlit 앱이 구동되는지 확인합니다.

Streamlit 앱 사용하기

  1. 브라우저에서 배포된 Streamlit 앱에 접속하고 Anthropic API Key를 필드에 입력합니다. 이어서 엔터 키를 누릅니다.

  2. Browse files 버튼을 누르고 질문의 바탕이 되는 문서 파일을 업로드합니다.

  3. 하단의 채팅창에 업로드 한 파일의 내용에 대한 질문을 입력하고 엔터 키를 누릅니다. 이어서 출력되는 답변을 확인합니다.

Reference

profile
Live And Let Live!
post-custom-banner

0개의 댓글