Loading...
    • Construir
    • Admin
    • Modelos e preços
    • SDKs do cliente
    • Referência da API
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Construindo com Claude
    Visão geral dos recursosUsando a Messages APIHabilidade Claude APITratando motivos de parada
    Capacidades do modelo
    Extended thinkingAdaptive thinkingEsforçoOrçamentos de tarefas (beta)Modo rápido (beta: visualização de pesquisa)Saídas estruturadasCitaçõesStreaming de mensagensProcessamento em loteResultados de pesquisaRecusas em streamingSuporte multilíngueEmbeddings
    Ferramentas
    Visão geralComo o uso de ferramentas funcionaFerramenta de pesquisa na webFerramenta de busca na webFerramenta de execução de códigoFerramenta de consultorFerramenta de memóriaFerramenta BashFerramenta de uso de computadorFerramenta de editor de texto
    Infraestrutura de ferramentas
    Referência de ferramentasPesquisa de ferramentasChamada de ferramentas programáticaStreaming de ferramentas granular
    Gerenciamento de contexto
    Janelas de contextoCompactaçãoEdição de contextoCache de promptContagem de tokens
    Trabalhando com arquivos
    Files APISuporte a PDFImagens e visão
    Habilidades
    Visão geralInício rápidoMelhores práticasHabilidades para empresasHabilidades na API
    MCP
    Servidores MCP remotosConector MCP
    Engenharia de prompt
    Visão geralMelhores práticas de promptFerramentas de prompt do Console
    Testar e avaliar
    Definir sucesso e construir avaliaçõesUsando a ferramenta de avaliação no ConsoleReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksReduzir vazamento de prompt
    Recursos
    Glossário
    Notas de lançamento
    Claude Platform
    Console
    Log in
    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
    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