GenAI의 마법을 풀어라: 사용자 정의 데이터로 기초 모델을 맞춤화하는 방법 | Mendix

메인 컨텐츠로 가기

GenAI Magic 잠금 해제: 사용자 정의 데이터로 기초 모델을 조정하는 방법

Gen AI 마법의 잠금 해제 사용자 정의 데이터로 기초 모델을 조정하는 방법

사용자 정의 데이터를 관리하지 않고도 최첨단 기초 모델을 사용할 수 있을지, 그리고 어떻게 사용할 수 있을지 궁금했던 적이 있습니까? 인프라?

이 게시물에서는 특정 도메인, 조직에 맞는 맞춤형 솔루션을 생성하기 위해 기초 모델을 사용자 정의하는 흥미로운 가능성을 살펴보겠습니다., 그리고 사용 사례, Amazon Bedrock의 힘을 활용하여 Mendix.

Amazon Bedrock과 사용자 정의 데이터 회의소

안에 이전 블로그, 우리는 스마트하고 직관적인 앱을 만드는 것이 얼마나 쉬운지 설명했습니다. Amazon Bedrock은 선도적인 AI 스타트업과 Amazon의 고성능 기반 모델(FM)을 제공하는 완전 관리형 서비스입니다.

2024년 XNUMX월 현재 Amazon Bedrock에는 다음과 같은 기초 모델이 포함되어 있습니다.

  • 아마존 타이탄
  • 인류학적 클로드
  • Cohere 명령 및 임베드
  • AI21 연구소 쥬라기
  • 메타 라마 2
  • 미스트랄 AI
  • 안정성 AI 안정적 확산 XL

이 목록은 새로운 모델과 개선된 모델로 정기적으로 업데이트됩니다.

AWS는 기초 모델 외에도 Bedrock '도구 상자'의 일부로 추가 개념으로 Amazon Bedrock을 강화했습니다..'. 최신 기능을 사용하면 지식 기반과 에이전트의 도움을 받아 기초 모델에 사용자 정의 데이터를 사용할 수 있습니다.

물론, Mendix 우리의 것을 유지하고 싶어 아마존 베드록 커넥터 모든 최신 기능을 최신 상태로 유지하고 새로운 Amazon Bedrock 기능을 활용하세요. 이것이 우리가 지식 기반 및 에이전트와 관련된 여러 가지 새로운 작업과 예를 포함하기 위해 커넥터의 2.3.0 버전을 출시한 이유입니다.

따라서 Mendix Amazon Bedrock 커넥터 및 새로운 작업 순서

다음 섹션에서는 사용자 정의 데이터를 사용하여 FM을 맞춤화하는 다양한 접근 방식을 보여드리겠습니다.

먼저, 다양한 데이터 소스에서 데이터를 페치하고 지식 기반을 사용하여 프롬프트를 풍부하게 하여 더욱 관련성 있고 정확한 응답을 제공하는 기술인 Retrieval Augmented Generation(RAG)에 대해 논의하겠습니다. FM과 함께 Amazon Bedrock 지식 기반을 사용하는 방법을 보여드리겠습니다. Amazon Bedrock Agent를 사용하거나 사용하지 않고도 가능합니다.

다음은 프롬프트 엔지니어링에 대한 소개입니다. 프롬프트 엔지니어링은 생성적 프로세스를 안내하는 고품질 프롬프트를 만드는 것을 포함합니다. AI 모델 의미 있고 일관된 응답을 생성합니다. 이것이 귀하의 내부에서 어떻게 사용될 수 있는지 알게 될 것입니다. Mendix 응용 프로그램.

지식베이스를 설정하고 사용하는 방법

지식 기반은 모두 데이터에 관한 것입니다. 새로운 데이터를 데이터 소스로 수집하는 방법과 임베딩 모델과 대상 벡터 데이터베이스를 사용하는 방법을 보여드리겠습니다.

과정을 따라가려면 다음 사항에 액세스할 수 있는지 확인하세요.

  • Amazon 콘솔
  • Amazon Bedrock(2024년 1월 현재 지식 기반 및 에이전트는 us-east-2 및 us-west-XNUMX 지역에서 사용 가능)
  • 아마존 S3

S3에 데이터 파일도 추가해야 합니다. 다음 형식이 지원됩니다.

  • 일반 텍스트(.txt)
  • 마크다운(.md)
  • 하이퍼텍스트 마크업 언어(.html)
  • Microsoft Word 문서(.doc/.docx)
  • 쉼표로 구분 된 값 (.csv)
  • Microsoft Excel 스프레드시트(.xls/.xlsx)
  • 휴대용 문서 형식(.pdf)
  1. 귀하의 계정에 로그인하십시오. AWS 콘솔 Amazon Bedrock으로 이동합니다.

기술 자료

2. 아래의 사이드 메뉴에서 오케스트레이션 섹션에서 선택 기술 자료, 다음을 클릭합니다 지식창고 만들기.

3. 위의 스크린샷에 표시된 대로 지식 기반의 이름을 지정한 다음 클릭하세요. 다음. 다른 필드는 기본값으로 둘 수 있습니다.  

4. S선출하다 S3 버킷과 a 데이터 파일, 아래 그림과 같이.

5. S선출 임베딩 모델 너는 사용하고 싶다 그리고n 새로운 벡터 데이터베이스 생성, 또는 기존 것을 사용. 

6. 새로운 데이터베이스를 검토하고 생성합니다.

지식 기반을 사용하는 방법을 보여드리려면 Mendix 앱에서 두 가지 예를 사용하겠습니다. 하나는 검색 작업, 다른 하나는 검색 및 생성 작업입니다. 따라하려면 다음이 필요합니다. Mendix 앱과 Mendix 아마존 베드록 커넥터.

대안으로 다음을 확인할 수도 있습니다. Amazon Bedrock 쇼케이스 앱, Amazon Bedrock Connector를 사용하여 다양한 기초 모델을 실험하고 Retrieval Augmented Generation(RAG)을 사용하여 데이터로 사용자 지정하는 방법을 보여줍니다. 이 앱은 또한 자체 데이터 소스를 사용하여 작업을 실행하는 에이전트를 빌드하는 방법도 보여줍니다.

검색 작업 설정

검색 작업을 설정하려면 다음 엔터티가 필요합니다.

검색 요청에는 지식 기반 ID, 쿼리 텍스트 및 구성 개체와의 연결이 필요합니다..

구성 객체에는 결과의 개수만 포함되어야 합니다. 

이 작업은 지식 기반에서 검색된 텍스트 청크를 포함하는 RetrievalResult 객체 목록을 포함하는 RetrieveResponse 유형의 객체를 반환합니다. 이 목록은 최대 결과의 수 항목 위치 결과의 수 Configuration 객체에서 지정한 숫자입니다.

검색 및 생성 테스트 조작

Amazon Bedrock Connector를 사용하면 아래에서 볼 수 있는 것과 유사한 마이크로플로를 설정하여 이전에 설정한 지식 기반을 검색 및 생성 작업으로 테스트할 수도 있습니다.

RetrieveAndGenerateRequest 객체와 RetrieveAndGenerateConfiguration 객체는 필수입니다. SessionConfiguration 객체는 세션을 암호화하는 키를 설명하는 KmsKeyArn을 추가해야 하는 경우 요청에 추가할 수 있는 선택적 객체입니다. 이제 필수 객체에 대한 세부 정보를 살펴보겠습니다.

RetrieveAndGenerateRequest 객체는 쿼리하려는 입력 텍스트와 진행 중인 세션을 계속하려는 경우 선택적으로 세션 ID를 포함해야 합니다. RetrieveAndGenerateConfiguration 객체는 지식 기반 ID, 사용하려는 모델의 ModelARN, RetrieveAndGenerateType이라는 매개변수를 포함해야 하며, 현재 객체 생성 중에 설정된 열거형 값 "KNOWLEDGE_BASE"만 가질 수 있습니다. 이러한 객체 간의 연결도 RetrieveAndGenerateConfiguration 객체에 설정해야 합니다.

RetrieveAndGenerateResponse 객체는 지식 기반 내의 정보를 사용하여 쿼리에 답하기 위해 생성된 출력 텍스트를 반환합니다. 응답 객체에는 연관된 Citation 객체 목록도 있으며, 여기에서 검색된 참조와 출력 생성 중에 사용된 부분에 대한 정보를 찾을 수 있습니다.

한 단계 더 나아가자

"검색 및 생성" 및 "모델 호출" 작업을 더욱 효과적으로 활용하려면 질의를 보다 자세히 구조화하여 질문에 대한 더 나은 응답을 얻으십시오. 프롬프트 엔지니어링은 더 나은 응답을 가져오는 프롬프트를 작성하는 기술입니다. 프롬프트 엔지니어링을 사용하면 제한하고 집중할 수 있습니다., 그리고 예상할 수 있는 응답을 조정합니다. 예를 들어, 모델에서 사용할 사용자 프롬프트에 추가 데이터를 추가할 수 있습니다. 이를 통해 지식 기반과 LLM에서 더 나은 쿼리를 만들어 사용 사례에 도움이 되는 스타일로 응답을 생성할 수 있습니다.

검색 및 생성 vs Amazon Bedrock 에이전트

애플리케이션에서 "검색 및 생성" 또는 "에이전트 호출"을 사용할지 궁금할 수 있습니다. 이 두 작업에 대한 포괄적인 개요를 제공하기 위해 이 두 작업에서 무슨 일이 일어나고 있는지 살펴보겠습니다.

문서를 지식 기반에 추가하고 동기화하면 문서가 먼저 청크로 분할됩니다(물론 청크화 방법을 구성한 경우). 그런 다음 이러한 청크는 임베딩 모델을 사용하여 변환되고 벡터 저장소에 기록됩니다. 이 프로세스 동안 주어진 벡터 인덱스가 각 청크에 매핑되므로 모델이 필요할 때 가장 관련성 있는 청크를 찾을 수 있습니다.

이러한 벡터 표현은 우리에게 의미가 없는 숫자 문자열(임베딩)이지만, 임베딩 모델에 많은 의미를 담고 있습니다. 그러니 그저 횡설수설이라고 생각하지 마세요. 이러한 임베딩이 저장된 벡터 데이터베이스는 지식 기반을 사용하는 모든 작업에서 중요한 구성 요소입니다. 아래 이미지를 보면 공식에서 찾은 벡터 데이터베이스의 데이터 사전 처리에 대한 그림을 볼 수 있습니다. Amazon Bedrock 문서.

아래 그림은 검색 및 검색 및 생성 작업을 보여줍니다. 검색 또는 검색 및 생성 작업을 사용하여 사용자 쿼리를 만들면 해당 쿼리는 지식 기반 생성과 동일한 임베딩 모델을 사용하여 벡터로 변환됩니다.

그런 다음, 사용자 쿼리에 할당된 벡터 표현을 벡터 데이터베이스의 벡터와 비교하여 의미적 유사성이 있는 청크를 찾습니다. 그런 다음 유사성이 있는 것으로 발견된 청크를 찾아 사용자에게 다시 제공합니다. 이 부분은 아래 이미지에서 볼 수 있는 빨간색 선까지 발생하는 프로세스이며 검색 작업을 설명합니다.

그 후, 변환된 텍스트는 사용자 쿼리와 함께 텍스트 모델에 제공되어 사용자에 대한 응답을 생성합니다. 이 전체는 검색 및 생성 작업을 설명합니다.

Amazon Bedrock에서 Retrieve and Generate 작업을 사용하고 싶을 때 모든 기초 모델이 해당 작업의 기능이 아닐 수 있습니다. 그러나 어느 시점에서 우리 대부분은 계획 A가 생각만큼 잘 진행되지 않았을 때 문제에 대한 해결책을 찾아야 했을 것입니다. 그래서 동료 개발자로서 우리는 Amazon Bedrock에서 사용 가능한 모든 기초 모델에서 유사한 기능을 사용할 수 있는 해결책을 생각해냈습니다.

위에서 설명한 대로, 검색 및 생성 작업은 지식 기반에서 관련 정보를 검색합니다. 그런 다음 이 정보는 사용자 쿼리와 함께 텍스트 모델에 제공되어 응답을 생성합니다. 이 기능은 두 개의 별도 단계로 복제 및 완료할 수 있습니다.

먼저, Retrieve 작업을 사용하여 지식 기반에서 관련 정보를 수신합니다. 그런 다음 Invoke Model 작업을 수신된 관련 정보와 초기 질문을 포함하는 후속 쿼리와 함께 사용합니다. 이 방법을 사용하면 Invoke Model 작업에 대한 JSON 요청 본문을 직접 만들어야 합니다. 그러나 Amazon Bedrock에서 제공하는 모든 기초 모델을 자유롭게 사용할 수 있습니다.

이제 아래의 정교한 그림을 보면서 에이전트를 호출하는 것이 어떻게 다른지 살펴보겠습니다. Amazon Bedrock Agents 문서.

작업은 사용자 입력으로 시작합니다. 무엇보다도 사전 처리, 오케스트레이션, 지식 기반 응답 생성 및 사후 처리 단계에서 사용될 증강 프롬프트가 프롬프트 스토어에서 페치됩니다.

이전에 invoke agent 작업을 사용한 적이 있다면 "프롬프트 저장소? 프롬프트를 만들지 않았지만 작업이 어떻게 작동하는 거지...?"라고 생각할 수 있습니다.\ 글쎄요, 이 경우 맞는 말인데, Amazon Bedrock에는 처음부터 구성된 이러한 단계에 사용되는 기본 프롬프트가 있기 때문입니다. 그러나 이러한 프롬프트는 애플리케이션의 요구 사항에 맞게 완전히 구성할 수 있으며, 이는 Amazon Bedrock의 에이전트의 유연성을 보여주는 기능 중 하나입니다. 그런 다음 쿼리에 대한 대화 기록을 염두에 두고 싶다면 검색된 정보와 쿼리로 채워진 전처리 프롬프트가 기초 모델에 만들어지기 전에 세션에 따라 기록을 가져옵니다. 쿼리가 유효한 입력으로 수락되면 그림에 표시된 루프가 시작됩니다.

작업은 루프로 진행되어 이전 정보를 사용하여 구성된 오케스트레이션 프롬프트를 작성하고 기초 모델을 호출합니다. 구문 분석된 응답에 따라 그림의 Invoke Action 섹션이 동작합니다. 이 작업이 무엇인지는 전적으로 사용자의 설정에 달려 있습니다.

Retrieve 및 Generate와 달리 에이전트는 여러 지식 기반을 사용하여 다양한 작업을 수행하고 Lambda 함수를 사용하여 작업을 조정할 수도 있습니다. 가능성은 무한하며 출력을 다시 받는 것에 국한되지 않습니다. Amazon Bedrock 에이전트의 기능을 사용하여 의도한 결과가 발견되거나 의도한 동작이 발생할 때까지 작업을 계속 반복하도록 설정할 수 있습니다. 이러한 동작이 정확히 무엇일 수 있을까요... 글쎄요, 그건 다음 블로그에 남겨두겠습니다!

Amazon Bedrock을 사용하여 AI 사용자 지정 탐색 Mendix

이 게시물에서는 Amazon Bedrock을 사용하여 사용자 정의 데이터로 기초 모델을 조정하는 흥미로운 영역을 살펴보았습니다. Mendix. AWS에서 도입한 새로운 기능을 통해 이제 사용자 정의 데이터를 기본 모델에 통합하여 프롬프트를 풍부하게 하고 더욱 관련성 있는 응답을 생성하는 것이 그 어느 때보다 쉬워졌습니다. 단계별 가이드를 통해 지식 기반을 설정하고 데이터를 수집하고 활용하는 방법을 보여주었습니다. Mendix Amazon Bedrock 커넥터를 사용하여 이러한 기술의 장점을 활용하는 응용 프로그램입니다.

또한, 우리는 Retrieve and Generate와 Invoke Agent 작업을 비교하여 차이점과 기능을 조명했습니다. Retrieve and Generate는 정보를 검색하고 응답을 생성하는 간소화된 접근 방식을 제공하는 반면, Invoke Agent는 더 큰 유연성을 제공하여 여러 지식 기반, 람다 함수 등을 사용하여 작업을 오케스트레이션할 수 있습니다.

확인 Amazon Bedrock 쇼케이스 앱, 현재 Amazon Bedrock Connector에서 가능한 모든 작업에 대한 개요를 얻으십시오. Amazon Bedrock 및 Mendix, 가능성은 무한합니다. 우리는 AI 사용자 정의 및 통합 영역에서 무엇을 달성할 수 있는지의 표면만 긁고 있을 뿐입니다.

이 블로그 게시물은 Agapi와 공동으로 작성되었습니다. 카라풀리두아이사 오네르.   

추가 리소스

Mendix Amazon Bedrock 커넥터 설명서

언어를 선택하세요