Loading...
  • Construir
  • Admin
  • Modelos e preços
  • SDKs do cliente
  • Referência da API
Search...
⌘K
Log in
Embeddings
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Construir/Capacidades do modelo

Embeddings

Embeddings de texto são representações numéricas de texto que permitem medir similaridade semântica. Este guia apresenta embeddings, suas aplicações e como usar modelos de embedding para tarefas como busca, recomendações e detecção de anomalias.

Antes de implementar embeddings

Ao selecionar um provedor de embeddings, há vários fatores que você pode considerar dependendo de suas necessidades e preferências:

  • Tamanho do conjunto de dados e especificidade do domínio: tamanho do conjunto de dados de treinamento do modelo e sua relevância para o domínio que você deseja incorporar. Dados maiores ou mais específicos do domínio geralmente produzem embeddings melhores no domínio
  • Desempenho de inferência: velocidade de busca de embedding e latência de ponta a ponta. Esta é uma consideração particularmente importante para implantações de produção em larga escala
  • Personalização: opções para treinamento contínuo em dados privados ou especialização de modelos para domínios muito específicos. Isso pode melhorar o desempenho em vocabulários únicos

Como obter embeddings com Anthropic

Anthropic não oferece seu próprio modelo de embedding. Um provedor de embeddings que possui uma ampla variedade de opções e capacidades abrangendo todas as considerações acima é Voyage AI.

Voyage AI cria modelos de embedding de última geração e oferece modelos personalizados para domínios industriais específicos, como finanças e saúde, ou modelos ajustados sob medida para clientes individuais.

O resto deste guia é para Voyage AI, mas você deve avaliar uma variedade de fornecedores de embeddings para encontrar o melhor ajuste para seu caso de uso específico.

Modelos Disponíveis

Voyage recomenda usar os seguintes modelos de embedding de texto:

ModeloComprimento do ContextoDimensão de EmbeddingDescrição
voyage-3-large32.0001024 (padrão), 256, 512, 2048A melhor qualidade de recuperação geral e multilíngue. Veja postagem do blog para detalhes.
voyage-3.532.0001024 (padrão), 256, 512, 2048Otimizado para qualidade de recuperação geral e multilíngue. Veja postagem do blog para detalhes.
voyage-3.5-lite32.0001024 (padrão), 256, 512, 2048Otimizado para latência e custo. Veja postagem do blog para detalhes.
voyage-code-332.0001024 (padrão), 256, 512, 2048Otimizado para recuperação de código. Veja postagem do blog para detalhes.
voyage-finance-232.0001024Otimizado para recuperação e RAG de finanças. Veja postagem do blog para detalhes.
voyage-law-216.0001024Otimizado para recuperação e RAG legal e de contexto longo. Também melhorou o desempenho em todos os domínios. Veja postagem do blog para detalhes.

Além disso, os seguintes modelos de embedding multimodal são recomendados:

ModeloComprimento do ContextoDimensão de EmbeddingDescrição
voyage-multimodal-3320001024Modelo de embedding multimodal rico que pode vetorizar texto intercalado e imagens ricas em conteúdo, como capturas de tela de PDFs, slides, tabelas, figuras e muito mais. Veja postagem do blog para detalhes.

Precisa de ajuda para decidir qual modelo de embedding de texto usar? Confira as Perguntas Frequentes.

Começando com Voyage AI

Para acessar embeddings do Voyage:

  1. Inscreva-se no site do Voyage AI
  2. Obtenha uma chave de API
  3. Defina a chave de API como uma variável de ambiente para conveniência:
export VOYAGE_API_KEY="<your secret key>"

Você pode obter os embeddings usando o pacote Python oficial voyageai ou solicitações HTTP, conforme descrito abaixo.

Biblioteca Python do Voyage

O pacote voyageai pode ser instalado usando o seguinte comando:

pip install -U voyageai

Então, você pode criar um objeto cliente e começar a usá-lo para incorporar seus textos:

import voyageai

vo = voyageai.Client()
# This will automatically use the environment variable VOYAGE_API_KEY.
# Alternatively, you can use vo = voyageai.Client(api_key="<your secret key>")

texts = ["Sample text 1", "Sample text 2"]

result = vo.embed(texts, model="voyage-3.5", input_type="document")
print(result.embeddings[0])
print(result.embeddings[1])

result.embeddings será uma lista de dois vetores de embedding, cada um contendo 1024 números de ponto flutuante. Após executar o código acima, os dois embeddings serão impressos na tela:

[-0.013131560757756233, 0.019828535616397858, ...]   # embedding for "Sample text 1"
[-0.0069352793507277966, 0.020878976210951805, ...]  # embedding for "Sample text 2"

Ao criar os embeddings, você pode especificar alguns outros argumentos para a função embed().

Para mais informações sobre o pacote Python do Voyage, consulte a documentação do Voyage.

API HTTP do Voyage

Você também pode obter embeddings solicitando a API HTTP do Voyage. Por exemplo, você pode enviar uma solicitação HTTP através do comando curl em um terminal:

curl https://api.voyageai.com/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $VOYAGE_API_KEY" \
  -d '{
    "input": ["Sample text 1", "Sample text 2"],
    "model": "voyage-3.5"
  }'

A resposta que você receberia é um objeto JSON contendo os embeddings e o uso de tokens:

{
  "object": "list",
  "data": [
    {
      "embedding": [-0.013131560757756233, 0.019828535616397858 /* ... */],
      "index": 0
    },
    {
      "embedding": [-0.0069352793507277966, 0.020878976210951805 /* ... */],
      "index": 1
    }
  ],
  "model": "voyage-3.5",
  "usage": {
    "total_tokens": 10
  }
}

Para mais informações sobre a API HTTP do Voyage, consulte a documentação do Voyage.

AWS Marketplace

Os embeddings do Voyage estão disponíveis no AWS Marketplace. As instruções para acessar o Voyage no AWS estão disponíveis na documentação do Voyage AWS Marketplace.

Exemplo de Início Rápido

O seguinte exemplo breve mostra como usar embeddings.

Suponha que você tenha um pequeno corpus de seis documentos para recuperar

documents = [
    "The Mediterranean diet emphasizes fish, olive oil, and vegetables, believed to reduce chronic diseases.",
    "Photosynthesis in plants converts light energy into glucose and produces essential oxygen.",
    "20th-century innovations, from radios to smartphones, centered on electronic advancements.",
    "Rivers provide water, irrigation, and habitat for aquatic species, vital for ecosystems.",
    "Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.",
    "Shakespeare's works, like 'Hamlet' and 'A Midsummer Night's Dream,' endure in literature.",
]

Primeiro, use o Voyage para converter cada documento em um vetor de embedding

import voyageai

vo = voyageai.Client()

# Embed the documents
doc_embds = vo.embed(documents, model="voyage-3.5", input_type="document").embeddings

Os embeddings permitem que você faça busca semântica / recuperação no espaço vetorial. Dado um exemplo de consulta,

query = "When is Apple's conference call scheduled?"

Em seguida, converta-o em um embedding e conduza uma busca de vizinho mais próximo para encontrar o documento mais relevante com base na distância no espaço de embedding.

import numpy as np

# Embed the query
query_embd = vo.embed([query], model="voyage-3.5", input_type="query").embeddings[0]

# Compute the similarity
# Voyage embeddings are normalized to length 1, therefore dot-product
# and cosine similarity are the same.
similarities = np.dot(doc_embds, query_embd)

retrieved_id = np.argmax(similarities)
print(documents[retrieved_id])

Observe que input_type="document" e input_type="query" são usados para incorporar o documento e a consulta, respectivamente. Mais especificações podem ser encontradas na seção do pacote Python do Voyage.

A saída seria o 5º documento, que é de fato o mais relevante para a consulta:

Apple's conference call to discuss fourth fiscal quarter results and business updates is scheduled for Thursday, November 2, 2023 at 2:00 p.m. PT / 5:00 p.m. ET.

Se você está procurando um conjunto detalhado de cookbooks sobre como fazer RAG com embeddings, incluindo bancos de dados vetoriais, confira o cookbook de RAG.

Perguntas Frequentes

Preços

Visite a página de preços do Voyage para os detalhes de preços mais atualizados.

Was this page helpful?

  • Antes de implementar embeddings
  • Como obter embeddings com Anthropic
  • Modelos Disponíveis
  • Começando com Voyage AI
  • Biblioteca Python do Voyage
  • API HTTP do Voyage
  • AWS Marketplace
  • Exemplo de Início Rápido
  • Perguntas Frequentes
  • Preços