Programing/AWS

[AWS Bedrock] Claude3.5와 Langchain 연동하기 (24년 10월 기준)

뇌님 2024. 10. 10. 21:46
반응형

 


 

올해 초에는 AWS Bedrock에서 제공하는 모델이 그렇게 많지는 않았는데 그 사이에 많이 늘었습니다.

 

기존에는 Claude 2.1을 사용하고 있었는데 이제 Claude 3.5를 사용해볼까 하고 요금을 확인해봤습니다.

내가 이걸 왜 이제야 확인했을까

 

2.1보다 3이 성능도 훨씬 좋은데 요금도 훨씬 싸다고?

 

당장 바꿔야겠습니다.

 

이슈발생

그런데 문제가 발생했습니다.

기존의 langchain - Bedrock 연동은 이전 3월달에 작성한 포스트에서와 같은 방식이였습니다.

# 기존 연결 방식
from langchain.llms.bedrock import Bedrock

chat_model_id = 'anthropic.claude-v2:1'
llm = Bedrock(model_id=chat_model_id, client=bedrock)

 

여기서 chat_model_id만 claude3.5의 모델 ID로 바꿨는데 에러가 발생했습니다.

"langchian.llms.bedrock 이제 쓰지 마"

 

기존의 방식으로는 신규모델을 지원하지 않습니다.

from  langchain.llms.bedrock  import  Bedrock은 이제 사용하지 못하게 되었습니다.

 

대신 langchain-aws 라는게 새로 또 생겼나봅니다.

공식문서를 보고 따라해봅시다.

 

1. 필요 라이브러리

pip install -U langchain-aws

 

2. LLM 설정

from langchain_aws import ChatBedrock

llm = ChatBedrock(
    model_id="anthropic.claude-3-5-sonnet-20240620-v1:0",
    model_kwargs=dict(temperature=0),
    region_name='us-east-1'
    # other params...
)

 

3. 테스트

messages = [
    (
        "system",
        "You are a helpful assistant that translates English to French. Translate the user sentence.",
    ),
    ("human", "I love programming."),
]
ai_msg = llm.invoke(messages)

print(ai_msg)
print(ai_msg.content)

정상적으로 작동합니다.

 


 

반응형