Bedrock을 사용하면 항상 새로운 버전이 제공되는 다양한 대규모 언어 모델(예: Claude, Mistral, Llama 및 Amazon Titan)에 액세스할 수 있습니다.
선택할 수 있다는 것은 좋지만, 모델마다 요청을 다르게 코딩해야 한다는 것은 번거로운 일입니다.
다양한 기초 모델의 출력을 비교할 때 Amazon Bedrock Converse API를 사용하면 많은 시간과 노력을 절약할 수 있는 이유는 다음과 같습니다.
Converse API는 메시지/시스템 프롬프트를 지원하는 모든 모델에서 작동하는 일관된 인터페이스입니다. 즉, 코드를 한 번만 작성하면 이를 사용하여 다양한 모델을 실험할 수 있습니다.
다음은 작동 방식에 대한 예입니다. 이 연습에는 < $1.
시작하기 전에 사용하려는 모델이 해당 지역에서 사용 가능한지, 해당 모델에 대한 액세스를 활성화했는지 확인하세요. 제가 사용하고 있는 모델은 다음과 같습니다. 이러한 모델을 선택하거나 직접 선택할 수 있습니다. :
anthropic.claude-v2
anthropic.claude-3-haiku
클로드 3.5 소네트
미스트랄 스몰
1) AWS 콘솔에서 CloudShell을 사용하여 모든 작업을 수행할 수 있습니다.
2) CloudShell이 준비되면 Python용 AWS SDK인 boto3를 설치합니다
pip install boto3
3) GitHub에서 converse_demo.py라는 파일을 다운로드합니다. wget을 사용하고 파일에 대한 원시 경로를 제공하면 이 작업을 수행할 수 있습니다.
wget https://raw.githubusercontent.com/fayekins/demos/refs/heads/main/converse_demo.py
#first we import boto3 and json import boto3, json #create a boto3 session - stores config state and allows you to create service clients session = boto3.Session() #create a Bedrock Runtime Client instance - used to send API calls to AI models in Bedrock bedrock = session.client(service_name='bedrock-runtime') #here's our prompt telling the model what we want it to do, we can change this later system_prompts = [{"text": "You are an app that creates reading lists for book groups."}] #define an empty message list - to be used to pass the messages to the model message_list = [] #here’s the message that I want to send to the model, we can change this later if we want initial_message = { "role": "user", "content": [{"text": "Create a list of five novels suitable for a book group who are interested in classic novels."}], } #the message above is appended to the message_list message_list.append(initial_message) #make an API call to the Bedrock Converse API, we define the model to use, the message, and inference parameters to use as well response = bedrock.converse( modelId="anthropic.claude-v2", messages=message_list, system=system_prompts, inferenceConfig={ "maxTokens": 2048, "temperature": 0, "topP": 1 }, ) #invoke converse with all the parameters we provided above and after that, print the result response_message = response['output']['message'] print(json.dumps(response_message, indent=4))
4) 다음과 같이 Python 코드를 실행합니다.
python converse_demo.py
다음과 유사한 출력이 제공됩니다.
5) 코드의 모델 ID를 다음과 같이 바꾸면 다른 모델을 사용하여 동일한 코드를 실행할 수도 있습니다.
anthropic.claude-3-haiku-20240307-v1:0
두 번째 모델의 출력을 비교하면 약간 다릅니다.
6) 다른 버전으로 다시 테스트할 수 있습니다:
anthropic.claude-3-5-sonnet-20240620-v1:0
Claude의 새 버전이 출시되면 액세스를 요청한 다음 코드에서 모델 이름을 바꾸면 됩니다!
이와 유사한 오류가 표시된다면 아직 액세스할 수 없는 모델을 사용하려고 한다는 의미입니다. 해당 모델에 대한 액세스를 요청하고 액세스 권한이 부여된 후 다시 시도하세요.
7) 모델 ID를 다음으로 변경하여 다른 모델 제공업체에서도 시도해 보았습니다.
mistral.mistral-small-2402-v1:0
따라서 Converse API는 메시지를 지원하는 모든 Amazon Bedrock 모델에서 작동하는 간단하고 일관된 API를 제공합니다. 즉, 코드를 한 번 작성하고 이를 다른 모델과 함께 사용하여 결과를 비교할 수 있습니다!
다음 번에 Bedrock으로 작업하게 된다면 Converse API를 사용해 보시고 나중에 감사 인사를 전하세요!
위 내용은 Amazon Bedrock Converse API로 시간을 절약하세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!