# AWS Bedrock Embeddings

AWS Bedrock Embeddings 노드는 Amazon Titan 또는 Cohere 모델을 활용해 입력 텍스트를 벡터로 변환하는 노드입니다. 변환된 임베딩은 벡터 검색, 분류, 클러스터링 등 다양한 용도로 활용될 수 있으며, AWS Bedrock API를 통해 직접 임베딩을 생성합니다.

***

### 주요 기능

* AWS Bedrock 기반 임베딩 생성 (Titan 및 Cohere 모델 지원)
* `search`, `classification`, `clustering` 등 다양한 용도에 따른 입력 타입 지정 가능
* 벡터 차원 수는 선택한 모델에 따라 자동 설정됨
* Batch 처리 및 AWS 재시도 횟수 설정으로 안정성 확보
* 벡터 스토어 구축, 검색 파이프라인, 분석용 벡터 추출 등에 활용

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-033435163398ffe29eae630e8460c6eab0d45d39%2Fimage%20(3).png?alt=media" alt=""><figcaption><p>WindyFlo AWS Bedrock Embeddings</p></figcaption></figure>

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-f2811e407dc5dc9132c8f8a1834caad7d3be9057%2Fimage%20(4).png?alt=media" alt=""><figcaption><p>WindyFlo AWS Bedrock Embeddings Parameters</p></figcaption></figure>

### 입력값 (Inputs)

| 항목                | 설명                                                                    | 필수 여부 |
| ----------------- | --------------------------------------------------------------------- | ----- |
| AWS Credential    | AWS Bedrock API 접근을 위한 인증 정보 (Credential에 등록)                         | 필수    |
| Region            | 사용할 AWS 리전 (예: us-east-1)                                             | 필수    |
| Model Name        | 사용할 임베딩 모델 이름 (예: amazon.titan-embed-text-v1 등)                       | 필수    |
| Custom Model Name | 사용자 지정 모델 이름 (선택 시 해당 모델로 요청)                                         | 선택    |
| Cohere Input Type | Cohere 모델의 사용 목적에 따른 입력 타입 설정 (예: search\_document, classification 등) | 선택    |

***

### 파라미터 (Parameters)

| 항목                  | 설명                           |
| ------------------- | ---------------------------- |
| Batch Size          | 한 번에 처리할 임베딩 텍스트 수 (기본값: 50) |
| Max AWS API retries | 실패 시 최대 재시도 횟수 (기본값: 5)      |

***

### 출력값 (Outputs)

| 출력 항목                | 설명                      |
| -------------------- | ----------------------- |
| AWSBedrockEmbeddings | 입력 텍스트에 대한 임베딩 벡터 결과 배열 |

***

### 활용 예시

* Amazon Titan 모델을 사용해 대용량 문서를 벡터화하여 Faiss, Pinecone 등에 저장
* 사용자 질문을 `search_query` 타입으로 임베딩하여 관련 문서를 검색하는 Retrieval 시스템 구축
* 특정 카테고리 분류를 위해 `classification`용 임베딩 추출 후 ML 모델에 입력
* `clustering` 목적의 데이터 분석을 위해 고차원 벡터 생성 후 클러스터링 적용

***

### 사용 팁

* Amazon Titan 모델은 `v1`이 1536차원, `v2`는 1024차원으로 제공되므로 용도에 따라 선택하세요.
* **Cohere 모델을 사용할 경우**, `Cohere Input Type`을 반드시 목적에 맞게 설정해야 합니다.
  * `search_document`: 벡터 DB에 저장할 문서 텍스트용
  * `search_query`: 검색용 사용자 질의 텍스트용
  * `classification`: 분류 모델 입력용
  * `clustering`: 군집 분석용\
    → `search_document`와 `search_query`는 **RAG 파이프라인에서 반드시 짝으로 사용**해야 검색 품질이 유지됩니다.
* `Batch Size`는 너무 크게 설정하면 속도는 빨라지지만, 오류가 발생할 가능성도 증가합니다.
* Titan 모델은 다국어 지원이 제한적이며, 영어 문서에 최적화되어 있습니다.

***

### 주의사항

* AWS Bedrock API 사용량에 따라 비용이 발생하므로 주의가 필요합니다.
* Region 설정이 올바르지 않거나 Credential이 등록되지 않은 경우 호출이 실패합니다.
* Titan과 Cohere 모델은 임베딩 차원 수가 상이하므로 혼용 시 주의가 필요합니다.
* Cohere Input Type은 Cohere 모델 사용 시에만 의미 있으며 Titan에는 적용되지 않습니다.
