Amazon Bedrock은 단일 API를 통해 AI21 Labs, Anthropic, Cohere, Stability AI 및 Amazon과 같은 주요 AI 회사의 고성능 FM(기본 모델)을 선택할 수 있는 완전관리형 서비스입니다. 운영 관점에서 단일 통합 API를 사용하면 보안, 확장성, 모니터링과 같은 측면이 표준화되므로 개발 및 배포 속도가 향상됩니다.
그러나 FM과 상호 작용하기 위한 코드를 작성하려면 개발자가 각 FM의 API 특성을 수동으로 처리해야 합니다. 이는 각 FM의 스키마가 고유하고 API 요청을 수행하려면 올바른 본문 페이로드를 제공해야 하기 때문에 발생합니다.
➡️ 예를 들어, 다음 프롬프트를 고려하십시오: When Christmas is celebrated?
AI21Labs Jurassic-2 Mid
FM을 사용하여 Amazon Bedrock에 이 질문을 하려면 다음 API 요청이 필요합니다.
{
"modelId" : " ai21.j2-mid-v1 " ,
"contentType" : " application/json " ,
"accept" : " */* " ,
"body" : " { " prompt " : " When Christmas is celebrated? " , " maxTokens " :200, " temperature " :0.7, " topP " :1, " stopSequences " :[], " countPenalty " :{ " scale " :0}, " presencePenalty " :{ " scale " :0}, " frequencyPenalty " :{ " scale " :0}} "
}
Anthropic Claude V2
FM을 사용하여 Amazon Bedrock에 똑같은 질문을 하려면 다른 API 요청이 필요합니다.
{
"modelId" : " anthropic.claude-v2 " ,
"contentType" : " application/json " ,
"accept" : " */* " ,
"body" : " { " prompt " : " Human: \ n \ nHuman: When Christmas is celebrated? \ n \ nAssistant: " , " max_tokens_to_sample " :300, " temperature " :1, " top_k " :250, " top_p " :0.999, " stop_sequences " :[ "\ n \ nHuman: " ], " anthropic_version " : " bedrock-2023-05-31 " } "
}
불협화음을 줄이기 위해 이 프로젝트에서는 각 FM의 각 스키마를 추상화하는 간단하면서도 강력한 구현을 도입합니다. 이는 복잡한 객체의 구성과 표현을 분리하는 Builder 디자인 패턴의 사용 덕분에 가능합니다. 이 경우 복합 객체는 Amazon Bedrock으로 전송되어야 하는 요청 본문입니다. 다양한 FM의 사용을 허용하기 위해 Command 디자인 패턴도 사용되었습니다. 각 FM에는 명령이 구현되어 있습니다. 이러한 방식으로 각 FM은 고유한 매개변수를 고유한 방식으로 처리할 수 있습니다.
실습 튜토리얼을 통해 이 코드를 사용하는 방법을 배우고 싶다면 아래 YouTube 동영상을 시청하세요.
BedrockRequestBody 구현을 사용하려면 클래스에서 builder()
정적 메소드를 호출하고 각각 modeId
및 prompt
인 필수 매개변수 제공을 시작하십시오. When Christmas is celebrated?
메시지를 고려해 보세요. AI21Labs Jurassic-2 Mid
사용하여 작업하는 방법은 다음과 같습니다.
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "ai21.j2-mid-v1" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
마찬가지로 Anthropic Claude V2
FM을 사용하려는 경우 다음과 같이 작동합니다.
String bedrockBody = BedrockRequestBody . builder ()
. withModelId ( "anthropic.claude-v2" )
. withPrompt ( "When Christmas is celebrated?" )
. build ();
훨씬 간단하죠? ?
자세한 내용은 기여를 참조하세요.
이 프로젝트는 MIT-0 라이선스에 따라 라이선스가 부여됩니다. 라이센스 파일을 참조하십시오.