Skip to content

Latest commit

 

History

History
152 lines (85 loc) · 6.94 KB

deployment.md

File metadata and controls

152 lines (85 loc) · 6.94 KB

인프라 설치하기

Bedrock 사용 권한 설정하기

LLM으로 Anthropic의 Claude3을 사용하기 위하여, Amazon Bedrock의 us-west-2 리전을 사용합니다. Model access에 접속해서 [Edit]를 선택하여 "Titan Text Embeddings V2"와 "Anthropic Claude3 Sonnet"을 Vector Embedding과 LLM을 위해 enable 합니다.

image

image

설치하기

Cloud9이 Deprecated될 예정이므로 EC2를 사용하여 설치하는것을 추천 드립니다. 기존 계정의 경우에 Cloud9을 계속 사용할 수 있습니다.

EC2를 사용하여 설치 환경 구성하기

여기서는 편의상 us-west-2 (Oregon) 리전을 사용합니다.

EC2 생성

EC2 - LaunchInstances에 접속하여 Name으로 "chatbot"이라고 입력합니다.

noname

OS로 기본값인 "Amazon Linux"를 유지하고, Amazon Machine Image (AMI)도 기본값을 그대로 사용합니다.

Instance Type은 "m5.large"를 선택하고, Key pair는 "Proceeding without a key pair"를 선택합니다.

[Configure storage]는 편의상 80G로 변경하고 [Launch instance]를 선택하여 EC2를 설치합니다.

noname

이후 아래와 같이 instance를 선택하여 EC2 instance 화면으로 이동하거나, console에서 EC-Instances로 접속합니다.

noname

아래와 같이 instance에서 [Connect]를 선택하여 [Session Manager]로 접속합니다.

관련 패키지 설치

편의상 C-Shell로 변경후 필요한 패키지로 git, node.js, npm, docker를 설치하고 환경을 설절정합니다.

csh
cd && sudo yum install git nodejs npm docker -y
sudo usermod -a -G docker $USER
newgrp docker
sudo service docker start
sudo npm install -g aws-cdk --prefix /usr/local

소스 다운로드 및 설치

  1. 소스를 다운로드합니다.
git clone https://github.com/kyopark2014/langgraph-agent
  1. cdk 폴더로 이동하여 필요한 라이브러리를 설치합니다.
cd langgraph-agent/cdk-langgraph-agent/ && npm install
  1. CDK 사용을 위해 Boostraping을 수행합니다.

아래 명령어로 Account ID를 확인합니다.

aws sts get-caller-identity --query Account --output text

아래와 같이 bootstrap을 수행합니다. 여기서 "account-id"는 상기 명령어로 확인한 12자리의 Account ID입니다. bootstrap 1회만 수행하면 되므로, 기존에 cdk를 사용하고 있었다면 bootstrap은 건너뛰어도 됩니다.

cdk bootstrap aws://[account-id]/us-west-2
  1. 아래 명령어로 인프라를 설치합니다.
cdk deploy --require-approval never --all

인프라가 설치가 되면 아래와 같은 Output을 확인할 수 있습니다.

noname

  1. Output의 HtmlUpdateCommend을 아래와 같이 복사하여 실행합니다.

noname

  1. Hybrid 검색을 위한 Nori Plug-in 설치

OpenSearch Console에서 "langgraph-agent"로 들어가서 [Packages] - [Associate package]을 선택한 후에, 아래와 같이 "analysis-nori"을 설치합니다.

image

  1. API에 대한 Credential을 획득하고 입력합니다.
  • 일반 검색을 위하여 Tavily Search에 접속하여 가입 후 API Key를 발급합니다. 이것은 tvly-로 시작합니다.

Tavily의 경우 1000건/월을 허용하므로 여러 건의 credential을 사용하면 편리합니다. 따라서, 아래와 같이 array형태로 입력합니다.

["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","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"]

Secret manger에 접속하여, openweathermap-langgraph-agent, tavilyapikey-langgraph-agent, langsmithapikey-langgraph-agent에 접속하여, [Retrieve secret value]를 선택 후, api key를 입력합니다.

  1. Output의 WebUrlforstreamchatbot의 URL로 접속합니다. 만약 Credential을 입력 전에 URL을 접속을 했다면, Lambda를 재배포하거나 일정 시간후에 Lamba가 내려갈때까지 기다렸다가 재접속하여야 하므로, Credential들을 입력 후에 URL로 접속하는것이 좋습니다.