Gemini API의 임베딩 서비스는 최신 임베딩을 생성합니다. 단어, 구문 및 문장을 검색할 수 있습니다 결과 임베딩은 자연어 처리(NLP) 태스크(예: 의미론적 검색, 텍스트) 분류 및 클러스터링입니다.
이 페이지에서는 임베딩에 대해 간단히 설명하고 임베딩 서비스를 사용하면 도움이 됩니다.
임베딩이 무엇인가요?
텍스트 임베딩은 텍스트, 이미지, 오디오, 텍스트를 나타냅니다. 이 접근 방식을 사용하면 텍스트 조각을 모델을 학습시킬 수 있습니다.
임베딩은 의미론적 의미와 컨텍스트를 캡처하여 비슷한 의미를 갖는다는 것입니다. 예를 들어, "나는 CANNOT TRANSLATE '고양이를 수의사에게 데려갔습니다.' 다음과 같은 임베딩을 갖는 것입니다. 둘 다 유사한 특성을 설명하기 때문에 있습니다.
임베딩을 사용하여 다양한 텍스트를 비교하고 공감합니다. 예를 들어 'cat'이라는 텍스트의 임베딩이 및 'dog' 가깝습니다. 함께 사용하면 이러한 단어들이 의미나 문맥에서 비슷하다고 추론하거나 있습니다 이 기능을 사용하면 다음 섹션에서 설명하는 다양한 사용 사례가 가능합니다.
사용 사례
텍스트 임베딩은 다음과 같은 다양한 NLP 사용 사례에 사용됩니다.
- 정보 검색: 임베딩을 사용하여 의미론적으로 검색할 수 있습니다.
유사한 텍스트를 생성합니다. 다양한 애플리케이션이
시맨틱 검색과 같은 정보 검색 시스템에서 지원하는
질문에 답하거나 요약하는 것입니다.
- 튜토리얼: 문서 검색
- 분류: 임베딩을 사용하여 모델을 학습시켜 모델을 분류할 수 있습니다.
분류할 수 있습니다 예를 들어 사용자를
임베딩 서비스를 사용하여
각 코멘트의 벡터 표현을 사용하여 분류자를 학습시킵니다.
- 튜토리얼: 텍스트 학습 분류 기준
- 클러스터링: 텍스트 벡터를 비교하면
있습니다. 이 기능은 그룹화된 클러스터링 모델을
데이터에서 이상치를 감지할 수 있습니다.
- 가이드: 클러스터링 학습 모델, 데이터 감지 이상치
- 벡터 데이터베이스: 생성한 임베딩을 벡터에 저장할 수 있습니다. NLP 애플리케이션의 정확성과 효율성을 높일 수 있습니다. 다음 튜토리얼을 참조하여 벡터 데이터베이스를 사용하여 텍스트 프롬프트를 숫자 벡터로 변환합니다.
Gemini 임베딩 모델
Gemini API는 텍스트 임베딩을 생성하는 두 가지 모델을 제공합니다. 텍스트 임베딩 및 임베딩. 텍스트 임베딩은 탄력적 임베딩 크기를 제공하는 임베딩 모델의 업데이트된 버전 768개의 측정기준입니다. 탄력적 임베딩은 더 작은 출력 차원을 생성하고 잠재적으로 약간의 성능 손실로 컴퓨팅 및 스토리지 비용을 절약할 수 있습니다.
새 프로젝트나 애플리케이션에 텍스트 임베딩을 사용합니다. 애플리케이션은 텍스트 임베딩을 사용하도록 이전할 수 없는 경우에만 임베딩 모델을 사용하세요.
Gemini API로 임베딩 생성
텍스트 임베딩을 생성하려면 embedContent
메서드를 사용합니다.
Python
result = genai.embed_content(
model="models/text-embedding-004",
content="What is the meaning of life?",
task_type="retrieval_document",
title="Embedding of single string")
# 1 input > 1 vector output
print(str(result['embedding'])[:50], '... TRIMMED]')
시작하기 튜토리얼 를 참조하세요.
Go
ctx := context.Background()
// Access your API key as an environment variable (see our Getting Started tutorial)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
// For embeddings, use the Text Embeddings model
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("The quick brown fox jumps over the lazy dog."))
if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)
시작하기 튜토리얼: 살펴봤습니다
Node.js
const { GoogleGenerativeAI } = require("@google/generative-ai");
// Access your API key as an environment variable (see our Getting Started tutorial)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
async function run() {
// For embeddings, use the Text Embeddings model
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});
const text = "The quick brown fox jumps over the lazy dog."
const result = await model.embedContent(text);
const embedding = result.embedding;
console.log(embedding.values);
}
run();
시작하기 튜토리얼 를 참조하세요.
Dart (Flutter)
final model = GenerativeModel(model: 'text-embedding-004', apiKey: apiKey);
final content = Content.text('The quick brown fox jumps over the lazy dog.');
final result = await model.embedContent(content);
print(result.embedding.values);
시작하기 튜토리얼 를 참조하세요.
curl
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
"content": {
"parts":[{
"text": "Hello world"}]}, }' 2> /dev/null | head
REST 설명서 삽입 빠른 시작 가이드: GitHub 를 참조하세요.
다음 단계
- 임베딩에 대해 자세히 알아보려면 데일 마르코비츠의 Google Cloud 블로그 를 참조하세요.
- 개발을 시작할 준비가 되었다면 Python의 빠른 시작 이동, Node.js, Dart (Flutter)