본문 바로가기
IT/aws

AWS - BEDROCK 샘플

by 가능성1g 2025. 4. 16.
반응형

환경구성은 각자 나름대로 하겠지만, 참고용으로 공유 합니다.

 

wsl 로 rocky linux 8.10 설치

miniconda 설치

환경 생성

conda create env -n aws

환경 active

conda actiave aws

필요 패키지 설치

pip install boto3

( aws cli 를 설치해야 정상동작 합니다. )

aws-cli 설치 하기

https://taisou.tistory.com/1011

 

AWS 가입하기

* 루트권한이메일로 로그인해서 얻을 수 있는 권한. 최고의 권한으로 무엇이든 할 수 있으나 위험성 높음!아래 IAM 권한 사용자를 추가해서 해당 사용자로 제한된 권한을 이용해서 관리 하자. * IA

taisou.tistory.com

 

import boto3
import json

client = boto3.client("bedrock-runtime", region_name="ap-northeast-2")

model_id = "anthropic.claude-3-haiku-20240307-v1:0"
prompt = "광주은행의 장점을 한문장으로 적어줘"

native_request = {
    "anthropic_version" : "bedrock-2023-05-31",
    "max_tokens" : 512,
    "temperature": 0.5,
    "messages": [
        {
            "role": "user",
            "content": [{"type": "text", "text": prompt}],
        }
    ],
}

request = json.dumps(native_request)

response = client.invoke_model(modelId=model_id, body=request)
model_response = json.loads(response["body"].read())

response_text = model_response["content"][0]["text"]
print(response_text)

 

출력 결과가 깨진다면 wsl 의 기본 locale 설정이 euckr 로 되어 있으니 아래를 실행해서 수정 한다.

locale 로 확인 -> euckr 이면,

 

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

 

앞으로도 계속 설정 하기 위해서

echo 'export LANG=en_US.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc
source ~/.bashrc

 

결과가 잘나옴!

 

langchain 이용 샘플

 

langchain 패키지 설치

pip install langchain langchain-community langchain-aws boto3

 

책에서는 sonnet 을 이용하는데, 그대로 실행하면 실행 되지 않음. model_id 와 리전 지정 필요

sonnet 쓰려면 inference profile ( 프로비저닝된 처리량 ) 즉 결재 해야 된다.. 그래서 haiku 모델로 ㄱㄱ 

from langchain_aws import ChatBedrock

llm = ChatBedrock(
    model_id="anthropic.claude-3-haiku-20240307-v1:0",
    region_name="ap-northeast-2"
)

response = llm.invoke("랭체인으로 LLM 활용하기 참 쉽죠?")
print(response.content)

 

반응형