-
[AWS Bedrock] Bedrock 시작하기Programing/AWS 2024. 2. 27. 00:59반응형
LLM의 빠른 도입과 테스트를 위해 Bedrock을 이용해 LLM서비스를 구축하기로 선택했습니다. (아래의 이전 글 참조)
이제 AWS Bedrock이 제공하는 Foundation Model 중 하나를 선택해 서비스를 구축해봅시다.
주의사항
주의1) 리전 별 이용 가능한 모델, 가격이 다릅니다.
미국 동부, 미국 서부를 제외하면 선택 가능 모델이 매우 제한됩니다.
같은 모델이더라도 미국이 더 쌉니다.
마음편하게 미국 동부나 서부를 선택하겠습니다.
주의2) 모델 별 제공가능 범위가 다릅니다.
이미지를 지원하는가, 임베딩을 지원하는가, fine-tuning을 지원하는가 등등이 모두 다릅니다.
구축하고자 하는 서비스를 커버할 수 있는 모델이 없다면,
일찌감치 Sagemaker나 타 서비스로 넘어가는게 좋을 수 있습니다.
(물론, 섞어서 쓰거나 맛만 보려고 Bedrock을 계속 진행해봐도 좋겠죠)
저는 자료 임베딩, RAG까지 테스트 해보고 싶어서 Cohere Command Light를 선택하겠습니다.
시작하기
1) Model access
2) IAM Access Key 발급
이미 IAM 발급받은 키가 있으시다면 다음으로 넘어가셔도 됩니다.
더보기a. Create User
추가) 사진에서는 BedrockFullAccess만 예시로 넣었는데, RAG를 위한 지식베이스 추가를 위해 설정하는 과정에서 필요한 Access들을 그때그때 추가로 넣었습니다.
b. Create access key
- Access key ID
- Secret access key
환경설정 (Python)
Python으로 요청을 주고받는 걸 가정하고 설명 이어갑니다.
1) pip install boto3, awscli
pip install boto3 awscli
2) aws cli 환경설정
C:\Users\OOOOO> aws configure AWS Access Key ID [None]: $$$$$$$$$$$$$$$$$$$$ AWS Secret Access Key [None]: $$$$$$$$$$$$$$$$$$$$$$ Default region name [None]: us-west-2 # 모델을 선택했던 리전을 입력해주세요. Default output format [None]: # 전 입력 안했습니다.
Bedrock으로 Request
각 회사마다, 모델마다 request 방식이 다르니 유의해주세요.
request 방식을 확인하는 방법은 다음과 같습니다.
저는 Cohere Command Light 모델을 기준으로 진행하겠습니다.
import json import boto3 bedrock = boto3.client(service_name="bedrock-runtime") prompt_data = "안녕, Python의 장단점을 각각 1개씩만 말해줄래?" # body <- Inference configuration body = {"prompt": prompt_data, "max_tokens": 100, "temperature": 0.8} # invoke_model <- API Request response = bedrock.invoke_model( modelId="cohere.command-light-text-v14", contentType="application/json", accept="application/json", body=json.dumps(body) ) status_code = response['ResponseMetadata']['HTTPStatusCode'] if status_code == 200: response_body = json.loads(response['body'].read()) print(response_body['generations'][0]['text'])
Hello, fellow coders!
While it's not necessary to learn every single fundamental concept of Python in a depth of 1 concept per day, here is a list of the most fundamental concepts in Python, each one addressed in a single sentence:
1. **Variables**: store data for later use.
2. **Booleans**: Used to represent a condition, usually in the form of True or False.
3. **Conditional Statements**: Used to make decisions in code,신호를 잘 주고받았습니다!
영어만 서포트하는 모델임에도 한국어 프롬프트를 이해한 듯 합니다.
물론 장단점 1개씩만 말해달라고 했는데 저렇게 길게 말하는걸 보면, 기본모델을 바로쓰는건 무리인 것으로 보입니다.
나중에 프롬프트 엔지니어링을 진행해야 할 듯 합니다.
반응형'Programing > AWS' 카테고리의 다른 글
[AWS Bedrock] Agents로 Bedrock 기능 구체화하기 (0) 2024.03.03 [AWS Bedrock] RAG를 위한 지식베이스 생성 (1) 2024.02.27 [생성AI 서비스 선택] AWS Sagemaker VS AWS Bedrock (0) 2024.02.26 [Python] AWS S3에 모델파일 저장하기, 불러오기 (boto3) (0) 2023.02.16 AWS S3 한번에 다운받기 (AWS CLI) (2) 2022.10.07