안녕하세요 Ben입니다. 

오늘은 Amazon Bedrock을 활용하여 간단한 Chatbot을 만들어 보도록 하겠습니다.

 

Amazon Bedrock이란? - 2024년 10월 서울 출시

Amazon Bedrock은 다양한 파운데이션 모델(FM)을 단일 API를 통해 제공하여 

생성형 AI 애플리케이션 구축을 돕습니다. 

이를 통해 개발자는 여러 모델을 손쉽게 활용할 수 있습니다.

 

 

그럼 본격적으로 Amazon Bedrock을 활용하여 간단한 Chatbot을 만들어 보겠습니다.

저는 MAC 환경에서 진행하여 터미널을 사용하지만

Window 환경에서는 cmd창을 사용하시면 됩니다.

 

 

준비물 : Python, Visual Studio

 

 

1.  터미널에서 python 패키지 설치하기

우선 streamlit, langchain, awscli를 설치하도록 하겠습니다.

  • streamlit이란?
    Streamlit은 파이썬을 사용해 웹 애플리케이션을 빠르고 쉽게 만들 수 있는 오픈소스 라이브러리입니다.
  • Langchain이란?
    LangChain은 대규모 언어 모델(LLM)을 사용한 애플리케이션을 더 쉽게 개발하고 운영할 수 있도록 도와주는 파이썬 및 자바스크립트용 프레임워크입니다. 

2. Amazon Bedrock을 사용하기 위해 보안 자격 증명 생성(Access Key, Secret Access Key)

 

 

AWS Console - IAM - 사용자 - 보안 자격 증명 - 액세스 키로 가셔서 액세스 키를 생성해주시면 됩니다.

 

 

 

3. 생성된 보안 자격증명(Access Key, Secret Access Key)를 터미널에서 AWS Configure에 등록

터미널에서 aws configure를 입력하신 후 생성된 Access Key와 Secret Access Key를 입력해주시고

Default region name은 서울 리전인 ap-northeast-2를 입력해 주도록 하겠습니다.

저는 Default output format 따로 지정하지 않았기에 엔터 치고 넘어갔습니다.

 

 

 

4. Amazon Bedrock에서 Claude 모델 엑세스

 

 

 

 

AWS Console - Amazon Bedrock - 모델 액세스로 가셔서 모델 액세스 권한 수정을 눌러주시고 - Claude 3.5 Sonnet 모델 권한을 액세스 해주시면 됩니다.

 

Claude 3.5 Sonnet 모델 권한이 액세스 되었다면

콘솔 좌측의 파운데이션 모델 - 기반 모델로 가셔서 Claude 3.5 Sonnet의 Model ID를 확인해주시면 됩니다.

 

 

 

5. Amazon Bedrock 호출

Backend

bedrock.py라는 파일을 만들고

다음과 같이 OS상에 저장된 AWS_PROFILE(Access Key, Secret Access Key, ap-northeast-2)을 받고

4번에서 확인한 Claude 3.5 Sonnet의 model_id를 입력해줍니다.

 

Frontend

app.py라는 파일을 만들고

Amazon Bedrock을 이용한 Chatbot을 웹에서 구동 시키기 위해 streamlit을 사용하겠습니다.

 

ps.

USER_ICON = "images/user-icon.png"

AI_ICON = "images/ai-icon.png"

USER_ICON과 AI_ICON은 bedrock.py와 app.py 파일의 같은 경로 상에 images 폴더를 만들고

원하는 이미지 파일 이름을 user-icong.png와 ai-icon.png로 바꿔서 넣어주시면 됩니다.

 

 

 

6. streamlit을 이용해 APP 가동하기

터미널에서 cd 명령어를 사용하여 bedrock.py와 app.py 파일이 있는 경로로 이동 후

streamlit run 명령어를 사용해 APP을 가동하도록 하겠습니다.

처음 streamlit을 구동하면 이메일을 입력하라는 메시지나 나오는데 그냥 엔터치시고 넘어가셔도 됩니다.

 

 

 

7. Chatbot 작동 확인

이와 같이 챗봇이 정상적으로 작동하는 모습을 확인하실 수 있습니다.

 

 

ps. 다음 시간에는 이러한 방식으로 만든 Chatbot을 AWS EC2 Instance에 구축해 24/7 구동하는 방법을 알아보겠습니다.

 

 

 

참고: https://medium.com/aws-specialists/how-to-build-chatbots-with-amazon-bedrock-langchain-a37a6196cbb1

사이트를 참고하여 작성하였습니다.

+ Recent posts