Amazon Kendra 는 2026년 7월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. 서비스를 사용하려면 7월 30일 이전에 가입하세요. 와 유사한 기능을 알아보려면 Amazon Bedrock 지식 기반을 Amazon Kendra살펴보세요. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Kendra 가용성 변경
개요
신중하게 고려한 후 2026년 6월 30일부터 유지 관리 모드로 Amazon Kendra 전환하기로 결정했습니다. 이 날짜부터 서비스에 대한 새로운 기능 개발은 없으며, 2026년 7월 30일부터 서비스는 신규 고객 수락을 중단합니다.
유지 관리 모드에서는 서비스가 완전히 지원되며 기존 고객에게 버그 수정 및 보안 업데이트를 AWS 계속 제공하지만 새 기능 요청은 더 이상 고려되지 않습니다.
고객이 Kendra 애플리케이션을 마이그레이션하고 Amazon Bedrock Managed Knowledge Base(BMKB)에서 새로운 검색 애플리케이션을 구현하여 Kendra와 유사한 기능과 생성형 AI 및 에이전트 AI 사용 사례를 위한 고급 기능을 구현하는 것이 좋습니다. Bedrock Managed Knowledge Base는 응답을 생성하고(Retrieve 및 Generate API 사용) 여러 지식 기반에서 다단계 추론을 수행하는 기능( Agentic Retrieval API 사용)과 함께 내장 커넥터, 스마트 구문 분석, 하이브리드 검색이 포함된 관리형 벡터 스토어를 갖춘 완전 관리형 RAG 솔루션입니다. 또한 BMKB는 청킹 전략 및 임베딩 모델을 조정하여 특정 애플리케이션에 맞게 최적화하고 응답 생성을 위한 파운데이션 모델을 선택할 수 있는 기능도 제공합니다. 이 새로운 수준의 기능과 유연성은 수집된 지식 기반 크기, 수행된 쿼리 수 및 LLM 사용량에 따라 예측 가능한 비용과 함께 제공됩니다.
마이그레이션 지침
에서 Amazon Kendra Amazon Bedrock Managed Knowledge Base(BMKB)로 마이그레이션하는 것은 신중한 계획을 통해 대부분의 엔터프라이즈 검색 및 RAG 워크로드에서 달성할 수 있습니다. 모든 Kendra 기능을 Bedrock 관리형 지식 기반에서 직접 사용할 수 있는 것은 아니지만 여러 기능을 해결 방법을 통해 구현할 수 있습니다. 이 가이드는 아키텍처 매핑, API 번역, 코드 예제, 기능 격차 분석 및 권장 해결 방법을 포함하여 기존 Kendra 고객이 애플리케이션을 BMKB로 전환할 수 있는 포괄적인 step-by-step 마이그레이션 경로를 제공합니다.
Amazon Bedrock 관리형 지식 기반 기능
BMKB는 전체 RAG 파이프라인을 end-to-end 관리합니다. Amazon Titan Text Embeddings V2, Cohere Embed English v3, Cohere Embed Multilingual v3, Cohere Embed v4, Amazon Nova Multimodal Embeddings를 포함한 임베딩 모델을 지원하며, 모두 float32 벡터를 사용하여 1024차원으로 고정됩니다. 관리형 벡터 스토어는 Bedrock에서 완전히 운영되므로 OpenSearch, Aurora 또는 기타 벡터 데이터베이스를 프로비저닝하거나 관리할 필요가 없습니다. 청킹 전략에는 기본값(약 300개의 토큰으로 고정 크기), 고정 크기(구성 가능한 maxTokens 및 overlapPercentage), 계층적(레벨 구성이 있는 상위-하위) 및 청킹 없음이 포함되며, 관리형 지식 기반에는 의미 체계 청킹이 지원되지 않습니다.
BMKB는 현재 Amazon S3, Confluence, Microsoft SharePoint, Web Crawler, Google Drive, Microsoft OneDrive, 사용자 지정 커넥터 등 7개의 데이터 소스 커넥터를 지원합니다. 서비스는 항상 하이브리드 검색(키워드 및 의미 체계)을 수행하며 의미 체계 전용 검색 모드를 제공하지 않습니다.
| 기능 | Kendra | Bedrock 관리형 지식 기반 |
|---|---|---|
| 네이티브 커넥터 | 32개 이상의 커넥터 | 커넥터 7개 |
| 임베딩 | 내부적으로 관리됨 | 고객 선택 가능(Titan V2, Cohere, Nova) |
| 벡터 스토어 | 내부적으로 관리됨 | Bedrock에서 완전 관리 |
| 검색 유형 | 키워드, 의미 체계 또는 하이브리드 | 하이브리드(키워드 + 의미 체계) |
| RAG 지원 | 외부 LLM 통합 필요 | 기본 RetrieveAndGenerate API |
| 에이전트 검색 | 사용할 수 없음 | 기본 다중 반복 검색 |
| 최대 결과 | 100구절(API 검색) | 결과 100개(API 검색) |
마이그레이션 단계
Amazon Bedrock 관리형 지식 기반 설정
1단계: IAM 역할 구성
데이터 소스에 액세스하고 임베딩 모델을 호출할 수 있는 권한을 Bedrock에 부여하는 IAM 역할을 생성합니다. 신뢰 정책은 bedrock.amazonaws.com이 역할을 수임하도록 허용해야 하며, 권한 정책에는 S3 버킷 및 선택한 임베딩 모델에 대한 액세스가 포함되어야 합니다.
IAM 구성(Python 코드):
import boto3 import json iam = boto3.client('iam') trust_policy = { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock.amazonaws.com"}, "Action": "sts:AssumeRole" }] } iam.create_role( RoleName="BedrockKBRole", AssumeRolePolicyDocument=json.dumps(trust_policy), Description="Role for Bedrock Managed Knowledge Base" ) permissions_policy = { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] }, { "Effect": "Allow", "Action": ["bedrock:InvokeModel"], "Resource": ["arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0"] } ] } iam.put_role_policy( RoleName="BedrockKBRole", PolicyName="BedrockKBPermissions", PolicyDocument=json.dumps(permissions_policy) )
2단계: 관리형 지식 기반 생성
MANAGED 유형의 CreateKnowledgeBase API를 사용하여 지식 기반을 생성합니다.
import boto3 bedrock_agent = boto3.client("bedrock-agent", region_name="us-east-1") response = bedrock_agent.create_knowledge_base( name="my-managed-kb", description="Migrated from Kendra index", roleArn="arn:aws:iam::123456789012:role/BedrockKBRole", knowledgeBaseConfiguration={ "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "embeddingDataType": "FLOAT32" } } } } ) kb_id = response["knowledgeBase"]["knowledgeBaseId"] print(f"Created knowledge base: {kb_id}")
3단계: 데이터 소스 구성
관리형 커넥터 구성을 사용하여 S3 데이터 소스를 생성합니다.
response = bedrock_agent.create_data_source( knowledgeBaseId=kb_id, name="my-s3-data-source", description="Product documentation from S3", dataSourceConfiguration={ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "filterConfiguration": { "inclusionPrefixes": ["documents/"] } } } }, vectorIngestionConfiguration={ "parsingConfiguration": { "parsingStrategy": "SMART_PARSING" } } ) data_source_id = response["dataSource"]["dataSourceId"] print(f"Created data source: {data_source_id}")
참고
CreateDataSource는 관리형 지식 기반에 대해 비동기식입니다. 데이터 소스 상태는 일반적으로 2~5분 이내에 CREATING에서 AVAILABLE로 전환됩니다. 상태가 AVAILABLE이 될 때까지 수집을 진행하지 마십시오.
4단계: 수집 시작 및 모니터링
완료를 위해 문서 수집 및 폴링을 트리거합니다.
import time ingestion_response = bedrock_agent.start_ingestion_job( knowledgeBaseId=kb_id, dataSourceId=data_source_id, description="Initial ingestion" ) ingestion_job_id = ingestion_response["ingestionJob"]["ingestionJobId"] print(f"Started ingestion job: {ingestion_job_id}") while True: job_response = bedrock_agent.get_ingestion_job( knowledgeBaseId=kb_id, dataSourceId=data_source_id, ingestionJobId=ingestion_job_id ) job = job_response["ingestionJob"] status = job["status"] stats = job.get("statistics", {}) print(f"Status: {status} | Scanned: {stats.get('numberOfDocumentsScanned', 0)} | " f"Indexed: {stats.get('numberOfNewDocumentsIndexed', 0)} | " f"Failed: {stats.get('numberOfDocumentsFailed', 0)}") if status == "COMPLETE": print("Ingestion complete!") break elif status in ("FAILED", "STOPPED"): print(f"Ingestion {status}: {job.get('failureReasons', [])}") break time.sleep(30)
API 마이그레이션 매핑 및 코드 예제
API 작업 매핑
| 연산 | Kendra API | BMKB API | 클라이언트 |
|---|---|---|---|
| 인덱스/KB 생성 | kendra.create_index() | bedrock-agent.create_knowledge_base() | kendra → bedrock-agent |
| 데이터 소스 추가 | kendra.create_data_source(Type="S3") | bedrock-agent.create_data_source() | kendra → bedrock-agent |
| 문서 동기화/수집 | kendra.start_data_source_sync_job() | bedrock-agent.start_ingestion_job() | kendra → bedrock-agent |
| 문서 일괄 추가 | kendra.batch_put_document() | 직접 지원되지 않음(S3 업로드 + 수집 사용) | kendra → S3 + bedrock-agent |
| 구절 검색 | kendra.retrieve(QueryText=...) | bedrock-agent-runtime.retrieve() | kendra → bedrock-agent-runtime |
| 필터로 검색 | AttributeFilter: {"EqualsTo": {...}} | 필터: {"equals": {...}} | 동일한 패턴, 다른 구문 |
| RAG 생성 | 해당 사항 없음(외부 LLM 필요) | bedrock-agent-runtime.retrieve_and_generate() | 새로운 기능 |
검색 API 마이그레이션
이전(Kendra):
kendra_client = boto3.client("kendra") response = kendra_client.retrieve( IndexId="your-kendra-index-id", QueryText="How do I configure VPC endpoints?", AttributeFilter={ "EqualsTo": { "Key": "_category", "Value": {"StringValue": "networking"} } }, PageSize=10 ) for item in response["ResultItems"]: print(item["DocumentTitle"]) print(item["Content"])
이후(BMKB):
bedrock_runtime = boto3.client("bedrock-agent-runtime", region_name="us-east-1") response = bedrock_runtime.retrieve( knowledgeBaseId="your-kb-id", retrievalQuery={ "text": "How do I configure VPC endpoints?" }, retrievalConfiguration={ "managedSearchConfiguration": { "numberOfResults": 10, "filter": { "equals": { "key": "category", "value": "networking" } } } } ) for result in response["retrievalResults"]: print(f"Score: {result['score']}") print(f"Content: {result['content']['text']}") print(f"Source: {result['location']['s3Location']['uri']}")
주요 차이점은 쿼리 텍스트가 최상위 파라미터에서 중첩된 retrievalQuery.text 필드로 이동하고, AttributeFilter가 managedSearchConfiguration 내에서 필터링되며, 결과에 관련성 점수 필드가 포함된다는 것입니다.
RAG에 RetrieveAndGenerate 사용
BMKB는 검색 후 LLM을 별도로 호출할 필요가 없는 네이티브 RAG 기능을 제공합니다.
response = bedrock_runtime.retrieve_and_generate( input={ "text": "Explain how to configure VPC endpoints for S3 access" }, retrieveAndGenerateConfiguration={ "type": "KNOWLEDGE_BASE", "knowledgeBaseConfiguration": { "knowledgeBaseId": "your-kb-id", "modelArn": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0", "retrievalConfiguration": { "managedSearchConfiguration": { "numberOfResults": 5 } } } } ) # Generated answer with citations print(response["output"]["text"]) # Source citations for citation in response.get("citations", []): for ref in citation.get("retrievedReferences", []): print(f"Source: {ref['location']['s3Location']['uri']}")
이 API는 생성된 자연어 응답을 소스 문서를 가리키는 인용과 함께 반환하여 Kendra가 기본적으로 제공하지 않는 내장 RAG를 제공합니다.
메타데이터 필터 구문 변환
| Kendra AttributeFilter | BMKB 필터 | 참고 |
|---|---|---|
| EqualsTo | 같음 | 직접 매핑 |
| ContainsAll | 의(부분) | BMKB에서 설정된 멤버십 사용 |
| ContainsAny | in | 직접 매핑 |
| GreaterThan | greaterThan | 직접 매핑 |
| LessThan | lessThan | 직접 매핑 |
| GreaterThanOrEquals | greaterThanOrEquals | 직접 매핑 |
| LessThanOrEquals | lessThanOrEquals | 직접 매핑 |
| NotFilter | notIn/notEquals | 적절한 부정 사용 |
| AndAllFilters | andAll | 직접 매핑 |
| OrAllFilters | orAll | 직접 매핑 |
참고
BMKB는 startsWith 또는 stringContains 연산자를 지원하지 않습니다. Kendra 애플리케이션이 필터에서 와일드카드 또는 하위 문자열 일치를 사용하는 경우 메타데이터 스키마를 재구성하여 정확히 일치하거나 설정된 멤버십 패턴을 대신 사용해야 합니다.
기능 격차 및 해결 방법
일부 Kendra 기능은 BMKB에서 사용할 수 없습니다. 쿼리 제안, 패싯된 검색, 사용자 지정 동의어, 맞춤법 검사, 증분 학습 및 문서 보강은 BMKB에서 해결 방법이 필요한 기능입니다. 이 섹션에서는 이러한 해결 방법을 설명합니다.
- 쿼리 제안(자동 완성)
-
Kendra는 인덱싱된 문서 어휘를 기반으로 자동 완성 제안을 반환하는 GetQuerySuggestions API를 제공합니다. BMKB는 현재이 기능을 제공하지 않습니다.
해결 방법: 기본 제공 제안자 기능과 함께 Amazon OpenSearch Service를 사용하여 사용자 지정 자동 완성 계층을 구현하거나 LLM 기반 쿼리 완료 서비스를 사용합니다. 또한 Bedrock Agents를 활용하여 검색 전에 부분 쿼리를 재구성할 수 있습니다. 실제 접근 방식은 BMKB 검색을 호출하기 전에 문서 코퍼스에서 추출한 일반적인 쿼리 용어의 별도의 OpenSearch 인덱스를 유지하고 프런트엔드에서 제안 API를 호출하는 것입니다.
- 패싯된 검색
-
Kendra는 쿼리 API의 패싯 파라미터를 통해 문서 속성 패싯을 지원하며 문서 수와 함께 패싯당 최대 10개의 패싯 값을 표시합니다. BMKB의 아키텍처는 패싯 검색을 지원하지 않습니다.
해결 방법: 메타데이터 필터링을 사용하여 패싯된 탐색을 시뮬레이션합니다. .metadata.json 사이드카 파일에서 구조화된 메타데이터 속성(부서, 작성자, 문서 유형, 날짜 범위)으로 문서에 태그를 지정합니다. 알려진 메타데이터 스키마를 기반으로 애플리케이션 UI에 필터 옵션을 제공하고 쿼리 시 해당 필터 연산자를 적용합니다. 이렇게 하면 동적 패싯 수가 제공되지는 않지만 사용자가 범주별로 결과를 좁힐 수 있습니다.
# Simulating faceted search with metadata filters response = bedrock_runtime.retrieve( knowledgeBaseId="your-kb-id", retrievalQuery={"text": "security best practices"}, retrievalConfiguration={ "managedSearchConfiguration": { "numberOfResults": 10, "filter": { "andAll": [ {"equals": {"key": "department", "value": "engineering"}}, {"equals": {"key": "doc_type", "value": "policy"}} ] } } } ) - 사용자 지정 동의어
-
Kendra를 사용하면 사전 파일을 통해 검색 결과를 일치시키기 위해 다른 용어에 매핑되는 비즈니스별 용어의 사용자 지정 매핑을 구축할 수 있습니다. BMKB는 현재 사용자 지정 동의어를 지원하지 않습니다.
해결 방법: BMKB 쿼리 앞에 간단한 동의어 확장 서비스를 구축합니다.
-
기존 Kendra 사전 파일(또는 DynamoDB/S3의 동의어 사전) 유지 관리
-
BMKB Retrieve 또는 RetrieveAndGenerate API를 호출하기 전에 일치하는 동의어를 추가하여 사용자의 쿼리를 확장합니다.
-
예: 사용자가 "DNS 문제"를 쿼리하면 앱이 BMKB로 전송하기 전에 "DNS Route53 문제"에 다시 씁니다.
이는 BMKB가 항상 하이브리드 검색(키워드 + 의미 체계)을 사용하므로 쿼리 텍스트에 동의어 용어를 추가하면 키워드 및 의미 체계 차원 모두에서 일치하므로 특히 효과적입니다.
-
- 맞춤법 검사
-
Kendra는 SpellCorrectionConfiguration을 통해 인덱싱된 문서 어휘를 기반으로 자동 맞춤법 수정을 제공합니다. BMKB는 현재 맞춤법 검사를 지원하지 않습니다.
해결 방법: BMKB로 쿼리를 보내기 전에 사전 처리 계층을 추가합니다. 맞춤법 수정 라이브러리(예: SymSpell 또는 TextBlob)를 호출하거나 쿼리 수정을 위해 LLM을 호출하는 AWS Lambda 함수를 사용합니다.
import boto3 lambda_client = boto3.client("lambda") def correct_and_retrieve(query_text, kb_id): # Step 1: Spell-correct the query using a Lambda function correction_response = lambda_client.invoke( FunctionName="spell-correction-function", Payload=json.dumps({"query": query_text}) ) corrected_query = json.loads(correction_response["Payload"].read())["corrected"] # Step 2: Query BMKB with corrected text bedrock_runtime = boto3.client("bedrock-agent-runtime") return bedrock_runtime.retrieve( knowledgeBaseId=kb_id, retrievalQuery={"text": corrected_query}, retrievalConfiguration={"managedSearchConfiguration": {"numberOfResults": 5}} ) - 증분 학습
-
Kendra는 클릭 신호 및 관련성 피드백을 위한 SubmitFeedback API를 지원하여 시간 경과에 따른 순위를 개선합니다. BMKB는이 기능을 제공하지 않습니다.
해결 방법: BMKB의 순위 조정 모델을 사용하여 쿼리 시 관련성을 개선합니다. 사용자 클릭 및 등급 신호를 외부 데이터 스토어(예: DynamoDB)에 저장하는 사용자 지정 피드백 루프를 구축하고 이러한 신호를 사용하여 메타데이터 부스트 가중치 또는 순위 조정 파라미터를 조정합니다. 장기적인 개선을 위해 수집된 관련성 피드백을 기반으로 임베딩 모델을 주기적으로 미세 조정하는 것이 좋습니다.
- 사용자 지정 문서 보강
-
Kendra는 수집 중에 문서 콘텐츠 및 메타데이터를 조작하는 추출 전 및 추출 후 Lambda 후크를 지원합니다. BMKB는 문서 처리에 스마트 구문 분석을 사용하지만 동등한 Lambda 후크는 제공하지 않습니다.
해결 방법: Step AWS Functions 또는 Lambda를 사용하여 문서를 BMKB 수집을 위해 S3에 배치하기 전에 변환하는 사전 처리 파이프라인을 구현합니다. 이 파이프라인은 문서가 BMKB 데이터 소스 버킷에 도달하기 전에 콘텐츠 추출, 메타데이터 보강, PII 수정 또는 형식 변환을 수행할 수 있습니다.
데이터 소스 마이그레이션 전략
커넥터 적용 범위 간격
Kendra는 32개의 네이티브 커넥터를 지원하는 반면 BMKB는 7개를 지원합니다. BMKB에서 직접 지원하지 않는 데이터 소스의 경우 권장 접근 방식은 콘텐츠를 Amazon S3로 내보내고 BMKB에서 S3 데이터 소스를 구성하는 것입니다.
지원되지 않는 커넥터의 마이그레이션 패턴: API를 통해 소스 시스템에서 콘텐츠를 주기적으로 추출하고, 적절한 메타데이터 JSON 사이드카 파일을 사용하여 S3 버킷에 문서를 작성하고, BMKB 수집 작업을 트리거하는 자동화된 파이프라인( AWS Lambda, Step Functions 또는 Amazon EventBridge 스케줄러 사용)을 생성합니다. 이렇게 하면 Kendra 커넥터의 주기적 동기화 동작이 복제됩니다.
메타데이터 마이그레이션
Kendra 문서 속성은 BMKB 메타데이터 형식으로 변환해야 합니다. Kendra에서 속성은 인덱스 수준에서 정의되며 수집 중에 문서에 연결됩니다. BMKB에서 메타데이터는 S3의 소스 문서와 함께 저장된 .metadata.json 사이드카 파일을 통해 정의되며 파일당 최대 크기는 10KB입니다. 각 속성은 STRING, NUMBER 또는 BOOLEAN으로 입력해야 합니다.
청킹 전략 선택
Kendra(내부적으로 청킹 처리)에서 마이그레이션할 때는 BMKB에 대한 청킹 전략을 명시적으로 선택해야 합니다. 대부분의 마이그레이션 시나리오에서 토큰이 200개이고 중복이 30%인 고정 크기 전략은 좋은 출발점을 제공합니다. 문서에 명확한 계층 구조(채터, 섹션, 하위 섹션)가 있는 경우 광범위한 컨텍스트와 특정 세부 정보의 검색을 개선하려면 계층적 청킹을 고려하세요.
테스트 및 검증
성능을 평가하려면 Kendra와 BMKB를 모두 병렬로 실행합니다. 관련성 품질(NDCG 또는 MRR로 측정된 골든 테스트 세트), 지연 시간(p50, p95, p99 응답 시간), 처리량(하중 시 초당 쿼리 수), 완전성(검색된 예상 문서의 백분율) 차원을 사용하여 두 서비스에 동일한 쿼리를 보내고 결과를 비교합니다.
검색 품질을 평가하는 테스트 하네스를 생성합니다.
def compare_retrieval(query, kendra_index_id, bmkb_kb_id): # Query Kendra kendra_results = kendra_client.retrieve( IndexId=kendra_index_id, QueryText=query, PageSize=10 ) # Query BMKB bmkb_results = bedrock_runtime.retrieve( knowledgeBaseId=bmkb_kb_id, retrievalQuery={"text": query}, retrievalConfiguration={ "managedSearchConfiguration": {"numberOfResults": 10} } ) # Compare overlap in top-10 results kendra_docs = {r["DocumentId"] for r in kendra_results["ResultItems"]} bmkb_docs = {r["location"]["s3Location"]["uri"] for r in bmkb_results["retrievalResults"]} overlap = len(kendra_docs.intersection(bmkb_docs)) print(f"Query: {query}") print(f"Result overlap: {overlap}/10 documents in common") return overlap
프로덕션 트래픽을 BMKB로 전환하기 전에 다음을 확인합니다. 모든 데이터 소스가 수집되고 문서가 실패하지 않고 up-to-date임, 메타데이터 필터가 모든 애플리케이션 필터 패턴에 대해 예상 결과를 생성함, 액세스 제어 해결 방법이 무단 액세스를 올바르게 제한함, 관련성 벤치마크가 Kendra 기준 품질을 충족하거나 초과함, 애플리케이션 오류 처리가 BMKB 응답 형식을 올바르게 처리함, BMKB API 오류 및 지연 시간에 대해 모니터링 및 알림이 구성됨.
요약
에서 Bedrock 관리형 지식 기반으로 마이그레이션 Amazon Kendra 하려면 데이터 소스를 BMKB로 다시 수집하고 BMKB APIs를 사용하도록 애플리케이션 코드를 다시 작성하는 두 가지 주요 작업이 필요합니다. BMKB는 RetrieveAndGenerate 및 에이전트 검색을 비롯한 강력한 RAG 네이티브 기능을 도입하지만 패싯, 쿼리 제안, 사용자 지정 동의어 및 증분 학습과 같은 엔터프라이즈 검색 기능을 사용하는 고객은이 가이드에 설명된 대로 해결 방법을 구현해야 합니다.
추가 질문이 있는 경우 AWS Support