임베딩 가이드

Gemini API의 임베딩 서비스는 단어, 구문, 문장에 대한 최첨단 임베딩을 생성합니다. 이렇게 생성된 임베딩은 시맨틱 검색, 텍스트 분류, 클러스터링과 같은 여러 개의 NLP 작업에 사용할 수 있습니다. 이 페이지에서는 임베딩에 대해 설명하고 시작하는 데 도움이 되는 임베딩 서비스의 주요 사용 사례를 소개합니다.

임베딩이란 무엇인가요?

텍스트 임베딩은 텍스트를 숫자 벡터로 변환하는 자연어 처리 (NLP) 기술입니다. 임베딩은 의미론적 의미와 컨텍스트를 캡처하므로 의미가 비슷한 텍스트가 더 가까운 임베딩을 갖습니다. 예를 들어 '내 강아지를 수의사에게 데려갔습니다'와 '내 고양이를 수의사에게 데려갔습니다'라는 문장은 비슷한 컨텍스트를 설명하므로 벡터 공간에서 서로 가까운 임베딩을 갖게 됩니다.

이것이 중요한 이유는 텍스트에서 직접 작동할 수 없지만 벡터에서는 작동할 수 있는 많은 알고리즘을 잠금 해제하기 때문입니다.

이러한 임베딩 또는 벡터를 사용하여 서로 다른 텍스트를 비교하고 어떻게 연관되는지 파악할 수 있습니다. 예를 들어 'cat'과 'dog'라는 텍스트의 임베딩이 서로 가까이 있으면 두 단어의 의미나 문맥 또는 둘 다 유사하다고 추론할 수 있습니다. 이 기능을 사용하면 다음 섹션에서 설명하는 다양한 사용 사례를 사용할 수 있습니다.

사용 사례

텍스트 임베딩은 다양한 NLP 사용 사례를 지원합니다. 예를 들면 다음과 같습니다.

  • 정보 검색: 목표는 입력 텍스트에서 의미론적으로 유사한 텍스트를 검색하는 것입니다. 시맨틱 검색, 질문 답변, 요약과 같은 정보 검색 시스템에서 다양한 애플리케이션을 지원할 수 있습니다. 예시는 문서 검색 노트북을 참조하세요.
  • 분류: 임베딩을 사용하면 문서를 카테고리로 분류하도록 모델을 학습시킬 수 있습니다. 예를 들어 사용자 댓글을 음성 또는 양성으로 분류하려면 임베딩 서비스를 사용해 각 댓글의 벡터 표현을 가져와 분류기를 학습시킬 수 있습니다. 자세한 내용은 Gemini 분류기 예를 참고하세요.
  • 클러스터링: 텍스트 벡터를 비교하면 텍스트 벡터가 얼마나 비슷하거나 다른지 보여줄 수 있습니다. 이 기능은 유사한 텍스트 또는 문서를 함께 그룹화하는 클러스터링 모델을 학습시키고 데이터의 이상을 감지하는 데 사용할 수 있습니다.
  • 벡터 DB: 생성된 임베딩을 벡터 DB에 저장하여 NLP 애플리케이션의 정확성과 효율성을 개선할 수 있습니다. 벡터 DB를 사용하여 텍스트 프롬프트를 숫자 벡터로 변환하는 방법을 알아보려면 이 페이지를 참조하세요.

탄력적 임베딩

text-embedding-004로 시작하는 Gemini 텍스트 임베딩 모델은 768 미만의 탄력적 임베딩 크기를 제공합니다. 탄력적 임베딩을 사용하면 출력 차원을 더 작게 생성하고, 약간의 성능 손실로 컴퓨팅 및 스토리지 비용을 절감할 수 있습니다.

다음 단계

  • 개발을 시작할 준비가 되었다면 Python, Go, Node.js, Dart (Flutter)의 빠른 시작에서 완전한 실행 가능한 코드를 찾을 수 있습니다.