LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | 아마존 웹 서비스

LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | 아마존 웹 서비스

제너레이티브 AI 모델은 기업 운영을 혁신할 수 있는 잠재력을 가지고 있지만, 기업은 데이터 보호 및 AI 생성 콘텐츠의 품질 보장과 같은 문제를 극복하면서 모델의 힘을 활용하는 방법을 신중하게 고려해야 합니다.

RAG(Retrieval-Augmented Generation) 프레임워크는 문서 저장소, 데이터베이스 또는 API와 같은 여러 소스의 외부 데이터로 프롬프트를 강화하여 도메인별 작업에 효과적인 기반 모델을 만듭니다. 이 게시물에서는 RAG 모델의 기능을 소개하고 벡터 검색 기능을 통해 MongoDB Atlas의 혁신적인 잠재력을 강조합니다.

몽고 DB 아틀라스 데이터 기반 애플리케이션의 개발을 가속화하고 단순화하는 통합 데이터 서비스 제품군입니다. 벡터 데이터 저장소는 운영 데이터 저장소와 원활하게 통합되므로 별도의 데이터베이스가 필요하지 않습니다. 이 통합을 통해 강력한 의미 검색 기능을 사용할 수 있습니다. 벡터 검색, 의미 체계 검색 및 AI 기반 애플리케이션을 구축하는 빠른 방법입니다.

아마존 세이지 메이커 기업이 기계 학습(ML) 모델을 구축, 교육 및 배포할 수 있도록 지원합니다. Amazon SageMaker 점프스타트 ML을 시작하는 데 도움이 되는 사전 학습된 모델과 데이터를 제공합니다. 다음의 SageMaker JumpStart 랜딩 페이지를 통해 사전 훈련된 모델과 데이터에 액세스하고, 사용자 정의하고, 배포할 수 있습니다. 아마존 세이지 메이커 스튜디오 단 몇 번의 클릭만으로

아마존 렉스 기업이 자연스럽고 생생한 상호 작용에 참여하는 챗봇과 음성 봇을 만드는 데 도움이 되는 대화형 인터페이스입니다. Amazon Lex를 생성 AI와 통합함으로써 기업은 사용자 입력이 일관되고 상황에 맞는 응답으로 원활하게 전환되는 전체적인 생태계를 구축할 수 있습니다.

솔루션 개요

다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

솔루션 개요

다음 섹션에서는 이 솔루션과 해당 구성 요소를 구현하는 단계를 안내합니다.

MongoDB 클러스터 설정

무료 등급 MongoDB Atlas 클러스터를 생성하려면 다음 지침을 따르세요. 클러스터 생성. 데이터베이스 설정 ACCESS 및 네트워크 ACCESS.

SageMaker 임베딩 모델 배포

다음에서 임베딩 모델(모든 MiniLM L6 v2)을 선택할 수 있습니다. SageMaker JumpStart 모델, 노트북, 솔루션 페이지.

SageMaker JumpStart 모델, 노트북, 솔루션

왼쪽 메뉴에서 배포 모델을 배포합니다.

모델이 성공적으로 배포되었는지 확인하고 엔드포인트가 생성되었는지 확인합니다.

모델이 성공적으로 배포되었습니다.

벡터 임베딩

벡터 임베딩 텍스트나 이미지를 벡터 표현으로 변환하는 프로세스입니다. 다음 코드를 사용하면 SageMaker JumpStart로 벡터 임베딩을 생성하고 모든 문서에 대해 생성된 벡터로 컬렉션을 업데이트할 수 있습니다.

payload = {"text_inputs": [document[field_name_to_be_vectorized]]}
query_response = query_endpoint_with_json_payload(json.dumps(payload).encode('utf-8'))
embeddings = parse_response_multiple_texts(query_response) # update the document
update = {'$set': {vector_field_name :  embeddings[0]}}
collection.update_one(query, update)

위의 코드는 컬렉션의 단일 개체를 업데이트하는 방법을 보여줍니다. 모든 객체를 업데이트하려면 다음을 따르십시오. 명령.

MongoDB 벡터 데이터 저장소

MongoDB 아틀라스 벡터 검색 MongoDB에 벡터 데이터를 저장하고 검색할 수 있는 새로운 기능입니다. 벡터 데이터는 고차원 공간의 한 점을 표현하는 데이터 종류입니다. 이러한 유형의 데이터는 ML 및 인공 지능 애플리케이션에서 자주 사용됩니다. MongoDB Atlas 벡터 검색은 다음과 같은 기술을 사용합니다. k-최근접 이웃 (k-NN)을 사용하여 유사한 벡터를 검색합니다. k-NN은 주어진 벡터와 가장 유사한 k개의 벡터를 찾는 방식으로 작동합니다. 가장 유사한 벡터는 유클리드 거리 측면에서 주어진 벡터에 가장 가까운 벡터입니다.

운영 데이터 옆에 벡터 데이터를 저장하면 서로 다른 스토리지 시스템 간에 데이터를 이동할 필요성이 줄어들어 성능이 향상될 수 있습니다. 이는 벡터 데이터에 대한 실시간 액세스가 필요한 애플리케이션에 특히 유용합니다.

벡터 검색 색인 생성

다음 단계는 MongoDB 벡터 검색 색인 이전 단계에서 생성한 벡터장에 몽고DB는 knnVector 벡터 임베딩을 색인화하는 유형입니다. 벡터 필드는 숫자 배열로 표시되어야 합니다(BSON int32, int64 또는 double 데이터 유형만 해당).

인용하다 knnVector 유형 제한 사항 검토 제한 사항에 대한 자세한 내용은 knnVector 유형.

다음 코드는 샘플 인덱스 정의입니다.

{ "mappings": { "dynamic": true, "fields": { "egVector": { "dimensions": 384, "similarity": "euclidean", "type": "knnVector" } } }
}

차원은 임베딩 모델 차원과 일치해야 합니다.

벡터 데이터 저장소 쿼리

다음을 사용하여 벡터 데이터 저장소를 쿼리할 수 있습니다. 벡터 검색 집계 파이프라인. 벡터 검색 색인을 사용하고 다음을 수행합니다. 시맨틱 검색 벡터 데이터 저장소에 있습니다.

다음 코드는 샘플 검색 정의입니다.

{ $search: { "index": "<index name>", // optional, defaults to "default" "knnBeta": { "vector": [<array-of-numbers>], "path": "<field-to-search>", "filter": {<filter-specification>}, "k": <number>, "score": {<options>} } }
}

SageMaker 대규모 언어 모델 배포

SageMaker JumpStart 기반 모델 텍스트 요약, 질문 응답, 자연어 추론과 같은 다양한 자연어 처리(NLP) 작업을 해결하는 데 사용되는 사전 훈련된 대형 언어 모델(LLM)입니다. 다양한 크기와 구성으로 제공됩니다. 이 솔루션에서는 포옹하는 얼굴 FLAN-T5-XL 모델.

SageMaker JumpStart에서 FLAN-T5-XL 모델을 검색합니다.

FLAN-T5-XL 검색

왼쪽 메뉴에서 배포 FLAN-T5-XL 모델을 설정하려면

배포

모델이 성공적으로 배포되었고 엔드포인트가 활성화되었는지 확인합니다.

LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Amazon Lex 봇 생성

Amazon Lex 봇을 생성하려면 다음 단계를 완료하십시오.

  1. Amazon Lex 콘솔에서 봇 만들기.

봇 만들기

  1. 럭셔리 봇 이름이름을 입력하십시오.
  2. 럭셔리 런타임 역할, 고르다 기본 Amazon Lex 권한이 있는 역할 생성.
    LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.
  3. 언어 설정을 지정한 다음 선택하세요. 선택한다.
    LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.
  4. 샘플 발화를 추가하세요. NewIntent UI 및 선택 의도 저장.
    LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.
  5. 로 이동 FallbackIntent 기본적으로 생성되었으며 전환됩니다. 최근활동 FBI 증오 범죄 보고서 이행 안내
    토글 활성
  6. 왼쪽 메뉴에서 짓다 빌드가 성공하면 다음을 선택하세요. Test .
    빌드 및 테스트
  7. 테스트하기 전에 기어 아이콘을 선택하세요.
    LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.
  8. 지정 AWS 람다 MongoDB Atlas 및 LLM과 상호 작용하여 응답을 제공하는 함수입니다. 람다 함수를 만들려면 다음을 따르세요. 이 단계들.
    9. AWS Lambda 함수 지정
  9. 이제 LLM과 상호 작용할 수 있습니다.

정리

자원을 정리하려면 다음 단계를 완료하십시오.

  1. Amazon Lex 봇을 삭제합니다.
  2. Lambda 함수를 삭제합니다.
  3. LLM SageMaker 엔드포인트를 삭제합니다.
  4. 임베딩 모델 SageMaker 엔드포인트를 삭제합니다.
  5. MongoDB Atlas 클러스터를 삭제합니다.

결론

게시물에서 우리는 MongoDB Atlas 의미 체계 검색을 사용하고 SageMaker JumpStart의 모델과 통합하는 간단한 봇을 만드는 방법을 보여주었습니다. 이 봇을 사용하면 SageMaker Jumpstart의 다양한 LLM과 사용자 상호 작용을 빠르게 프로토타입화하는 동시에 MongoDB Atlas에서 발생하는 컨텍스트와 쌍을 이룰 수 있습니다.

언제나 그렇듯이 AWS는 피드백을 환영합니다. 의견 섹션에 피드백과 질문을 남겨주세요.


저자 소개

LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이고르 알렉세예프 데이터 및 분석 도메인에서 AWS의 선임 파트너 솔루션 설계자입니다. Igor는 자신의 역할에서 전략적 파트너와 협력하여 그들이 복잡하고 AWS에 최적화된 아키텍처를 구축하는 데 도움을 주고 있습니다. AWS에 합류하기 전에는 데이터/솔루션 설계자로 Hadoop 에코시스템의 여러 데이터 레이크를 포함하여 빅 데이터 도메인에서 많은 프로젝트를 구현했습니다. 데이터 엔지니어로서 사기 탐지 및 사무 자동화에 AI/ML을 적용하는 일에 참여했습니다.


LangChain, Amazon SageMaker JumpStart 및 MongoDB Atlas 의미 체계 검색을 사용한 검색 증강 생성 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.바부 스 리니 바산
MongoDB의 선임 파트너 솔루션 아키텍트입니다. 현재 역할에서 그는 AWS와 협력하여 AWS 및 MongoDB 솔루션을 위한 기술 통합 및 참조 아키텍처를 구축하고 있습니다. 그는 데이터베이스 및 클라우드 기술 분야에서 XNUMX년 이상의 경험을 가지고 있습니다. 그는 여러 지역에 걸쳐 여러 글로벌 시스템 통합업체(GSI)와 협력하는 고객에게 기술 솔루션을 제공하는 데 열정적입니다.

타임 스탬프 :

더보기 AWS 기계 학습