이 문서에서는 Vertex AI 텍스트 임베딩 API를 사용하여 텍스트 임베딩을 만드는 방법을 설명합니다.
텍스트 임베딩은 텍스트의 밀집 벡터 표현입니다. 예를 들어 gemini-embedding-001 모델은 주어진 텍스트에 대해 3072차원 벡터를 생성합니다. 이러한 고밀도 벡터 임베딩은 대규모 언어 모델에서 사용하는 것과 유사한 심층 학습 방법을 사용하여 생성됩니다.
단어를 숫자에 매핑하는 희소 벡터와 달리 밀집 벡터는 텍스트의 시맨틱 의미를 나타내도록 설계되었습니다. 밀집 벡터 임베딩을 사용하는 주요 이점은 시맨틱 검색을 실행할 수 있다는 것입니다. 직접 단어 또는 문법 일치를 검색하는 대신 문구의 언어가 다른 경우에도 쿼리의 의미와 일치하는 텍스트 문구를 검색할 수 있습니다.
임베딩 벡터가 정규화되므로 코사인 유사성, 내적 또는 유클리드 거리를 사용하여 동일한 유사성 순위를 얻을 수 있습니다.
- 임베딩에 관한 자세한 내용은 임베딩 API 개요를 참조하세요.
- 텍스트 임베딩 모델에 대한 자세한 내용은 텍스트 임베딩을 참조하세요.
- 각 임베딩 모델에서 지원하는 언어에 대한 자세한 내용은 지원되는 텍스트 언어를 참조하세요.

시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Vertex AI API.
- 임베딩 작업의 태스크 유형을 선택합니다.
- 비율 제한에 대한 자세한 내용은 Vertex AI의 생성형 AI 비율 제한을 참조하세요.
- 임베딩을 일괄 예측하려면 일괄 텍스트 임베딩 예측 가져오기를 참조하세요.
- 멀티모달 임베딩에 대한 자세한 내용은 멀티모달 임베딩 가져오기를 참조하세요.
- 임베딩을 조정하려면 텍스트 임베딩 조정을 참조하세요.
text-embedding-005
및text-multilingual-embedding-002
에 대한 관련 연구에 대해 자세히 알아보려면 연구 논문 Gecko: 대규모 언어 모델에서 추출한 다목적 텍스트 임베딩을 참조하세요.
지원되는 모델
다음 모델을 사용하여 텍스트 임베딩을 가져올 수 있습니다.
모델 이름 | 설명 | 출력 측정기준 | 최대 시퀀스 길이 | 지원되는 텍스트 언어 |
---|---|---|---|---|
gemini-embedding-001 |
영어, 다국어, 코드 작업에서 최첨단 성능을 제공합니다. 이전의 전문 모델(예: text-embedding-005 , text-multilingual-embedding-002 )을 통합하고 각 도메인에서 더 나은 성능을 달성합니다. 자세한 내용은 기술 보고서를 참고하세요. |
최대 3,072개 | 토큰 2048개 | 지원되는 텍스트 언어 |
text-embedding-005 |
영어 및 코드 작업에 특화되어 있습니다. | 최대 768 | 토큰 2048개 | 영어 |
text-multilingual-embedding-002 |
다국어 작업에 특화되어 있습니다. | 최대 768 | 토큰 2048개 | 지원되는 텍스트 언어 |
우수한 임베딩 품질을 위해 gemini-embedding-001
은 최고의 성능을 제공하도록 설계된 대규모 모델입니다. gemini-embedding-001
는 요청당 하나의 인스턴스를 지원합니다.
텍스트 스니펫의 텍스트 임베딩 가져오기
Vertex AI API 또는 Python용 Vertex AI SDK를 사용하여 텍스트 스니펫의 텍스트 임베딩을 가져올 수 있습니다.
API 한도
요청마다 입력 텍스트가 250개로 제한됩니다.
API의 최대 입력 토큰 한도는 20,000개입니다.
이 한도를 초과하는 입력은 400 오류가 발생합니다. 각 개별 입력 텍스트는 토큰 2,048개로 제한되며 초과하는 부분은 자동으로 잘립니다. autoTruncate
를 false
로 설정하여 자동 잘림을 사용 중지할 수도 있습니다.
자세한 내용은 텍스트 임베딩 한도를 참고하세요.
임베딩 차원 선택
모든 모델은 기본적으로 전체 길이 임베딩 벡터를 생성합니다. gemini-embedding-001
의 경우 이 벡터는 3,072차원이고 다른 모델은 768차원 벡터를 생성합니다. 하지만 output_dimensionality
매개변수를 사용하면 사용자가 출력 삽입 벡터의 크기를 제어할 수 있습니다.
더 작은 출력 크기를 선택하면 저장용량을 절약하고 다운스트림 애플리케이션의 계산 효율성을 높일 수 있으며 품질 면에서는 거의 손실이 없습니다.
다음 예시에서는 gemini-embedding-001
모델을 사용합니다.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 Gen AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
벡터 데이터베이스에 임베딩 추가
임베딩을 생성한 후 벡터 검색과 같은 벡터 데이터베이스에 임베딩을 추가할 수 있습니다. 이렇게 하면 지연 시간이 짧은 검색이 가능하며, 데이터 크기가 커질수록 매우 중요합니다.
벡터 검색에 대한 자세한 내용은 벡터 검색 개요를 참조하세요.