Pular para o conteúdo principal
InicioTutoriaisInteligência Artificial (IA)

Primeiros passos com o Claude 3 e a API do Claude 3

Saiba mais sobre os modelos Claude 3, benchmarks de desempenho detalhados e como acessá-los. Além disso, descubra a nova API Python do Claude 3 para geração de texto, acesso a recursos de visão e streaming.
abr. de 2024

A guerra da IA continua acirrada, com o Gemini e o Gemma do Google fazendo barulho recentemente, mas agora o Claude 3 da Anthropic surgiu como um concorrente poderoso, superando o GPT-4 e o Gemini Ultra em todos os benchmarks.

Neste tutorial, exploraremos os modelos do Claude 3, os benchmarks de desempenho e como acessá-los. Também compararemos o Claude 3 com seu antecessor, o Claude 2.1, e o ChatGPT. Por fim, aprenderemos sobre a API Python do Claude 3 para gerar texto, acessar recursos de visão, transmitir respostas e usá-la de forma assíncrona.

O que é o Claude 3?

A Anthropic lançou recentemente uma nova família de modelos de IA chamada Claude 3. Esses modelos estabelecem padrões de referência do setor em várias tarefas cognitivas. Os modelos Claude 3 incluem três modelos de última geração: Haiku, Sonnet e Opus. Esses modelos podem potencializar os bate-papos com clientes em tempo real, os preenchimentos automáticos e as tarefas de extração de dados.

Atualmente, o Opus e o Sonnet estão disponíveis para o claude.ai e a API do Claude, enquanto o modelo menor Haiku será lançado em breve. Os modelos Claude 3 são melhores para seguir instruções complexas de várias etapas, aderir às diretrizes de voz e resposta da marca e gerar resultados estruturados em formatos como JSON.

Em comparação com os modelos Claude anteriores, esses novos modelos mostram uma melhor compreensão contextual, resultando em menos recusas desnecessárias.

Eles oferecem uma janela de contexto de 200 mil, mas podem processar entradas que excedam 1 milhão de tokens. Especificamente, o Claude 3 Opus obteve uma recuperação quase perfeita, ultrapassando 99% de precisão.

Para garantir a confiabilidade dos modelos, a Anthropic tem equipes dedicadas a rastrear e mitigar um amplo espectro de riscos.

Detalhes do modelo

A Claude 3 oferece três modelos com um equilíbrio de inteligência, velocidade e custo para várias aplicações.

Claude 3 Opus

O Opus foi projetado para tarefas complexas e de alta inteligência, destacando-se na solução de problemas abertos e na análise estratégica, com uma janela de contexto significativa e um custo mais alto que reflete seus recursos avançados.

Preço: Tokens de entrada a US$ 15 por milhão e tokens de saída a US$ 75 por milhão.

Soneto de Claude 3

O Sonnet oferece um equilíbrio ideal entre desempenho e custo, ideal para cargas de trabalho corporativas que envolvem processamento de dados, otimização de vendas e implementações de IA dimensionáveis. Ele é econômico e vem com uma grande janela de contexto.

Preço: Tokens de entrada a US$ 3 por milhão e tokens de saída a US$ 15 por milhão.

Claude 3 Haiku

O Haiku se destaca por sua velocidade e eficiência, atendendo às necessidades de resposta em tempo real no atendimento ao cliente, moderação de conteúdo e tarefas de redução de custos, o que o torna o modelo mais acessível e ágil da suíte.

Preço: Tokens de entrada a US$ 0,25 por milhão e tokens de saída a US$ 1,25 por milhão.

Como acessar o Claude 3

Há três maneiras de acessar os modelos do Claude 3.

Chat do Claude

Se estiver procurando uma maneira simples e gratuita de experimentar os modelos de IA do Claude, você pode se inscrever no claude.ai/chats, que é semelhante ao ChatGPT. A interface de bate-papo é interativa e fácil de usar.

Atualmente, eles estão oferecendo o Claude 3 Sonnet gratuitamente, mas para acessar o Claude 3 Opus, você precisará adquirir uma assinatura mensal do Claude Pro.

Chat do Claude

Chat do Claude

Bancada de trabalho

Para acessar o Claude 3 Opus gratuitamente, você precisa se inscrever na API do Anthropic: console.anthropic.com.

Siga as etapas simples para se inscrever gratuitamente e começar a usar o modelo Opus clicando na guia Workbench e selecionando o modelo "claude-3-opus-20240229".

Bancada de trabalho antrópica

Bancada de trabalho antrópica

API e SDK

A terceira maneira de acessar os modelos do Claude 3 é por meio da API. A Antropic oferece kits de desenvolvimento de software (SDKs) para clientes em Python e Typescript. Você também pode acessar o modelo por meio da API REST usando o comando curl no terminal.

curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-3-opus-20240229",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "How many moons does Jupiter have?"}
    ]
}'

Um mergulho nos benchmarks

Os modelos Claude 3 foram comparados com os modelos de linguagem grande (LLMs) de melhor desempenho e mostraram melhorias significativas em vários testes.

O Claude 3 Opus, em particular, superou o GPT-4 e o Gemini Ultra em alguns dos benchmarks de avaliação mais comuns, incluindo MMLU, GPQA e GSM8K. Ele apresenta níveis quase humanos de compreensão e fluência em tarefas complexas, o que o torna o primeiro passo para alcançar a inteligência geral.

Descubra o LLM de última geração da OpenAI lendo o artigo da DataCamp sobre O que é o GPT-4 e por que ele é importante? Além disso, saiba mais sobre o rival do ChatGPT do Google, o Google Gemini, lendo . O que é o Google Gemini? Tudo o que você precisa saber sobre ele.

Os modelos Claude 3 ficaram melhores em análise e previsão, geração de código e geração de respostas em idiomas diferentes do inglês, conforme observado nos dados de referência abaixo:

Benchmarks do Claude 3

Fonte da imagem

Os recursos visuais do modelo Claude 3 melhoraram significativamente, permitindo que ele compreenda fotos, diagramas e gráficos complexos. Esse avanço beneficia as empresas com bases de conhecimento em vários formatos, como PDFs, fluxogramas e slides de apresentações.

Referenciais de visão do Claude 3

Fonte da imagem

Os modelos Claude 3 também melhoraram significativamente a redução de recusas desnecessárias e a precisão em comparação com as gerações anteriores de modelos.

Comparação de recusas incorretas da Claude 3

Fonte da imagem

Por fim, podemos ver que os modelos do Claude 3 apresentam uma melhoria de duas vezes na precisão das perguntas abertas em comparação com o Claude 2.1. Além disso, os novos modelos mostram níveis reduzidos de respostas incorretas.

Claude 3 Opus vs Claude 2.1

Nesta seção, compararemos as respostas do Claude 3 Opus e do Claude 2.1 em três tarefas comuns para entender seus respectivos desempenhos.

PERGUNTAS E RESPOSTAS

Prompt: Falo sem boca e ouço sem ouvidos. Não tenho corpo, mas ganho vida com o vento. O que eu sou?

Perguntas e respostas sobre o Claude 3

O Claude 2.1 se recusou a responder à pergunta, alegando falta de conteúdo. No entanto, o usuário estava perguntando uma charada, e o Claude Opus forneceu a resposta correta.

Geração de código

Prompt: Crie um aplicativo da Web FastAPI para um modelo de classificação simples do Scikit-learn.

Claude 3 vs. Claude 2.1 gerando código

O código do Claude 2.1 parecia ter funcionado inicialmente, mas apresentou um erro depois de inserir os valores de amostra. Após a investigação, descobrimos que o código não está otimizado e que a função de inferência tem alguns erros.

Por outro lado, quando o comparamos com o Claude 3 Opus, descobrimos que o código foi executado sem problemas e forneceu previsões precisas, conforme mostrado abaixo.

Claude 3 vs Claude 2.1 gerando respostas de código

Problema complexo

Prompt: Como uma rede neural com uma camada e uma entrada e saída se compara a uma regressão logística?

Claude 3 vs Claude 2.1 Problemas complexos

Ambos os modelos forneceram respostas semelhantes, mas a resposta do Claude 3 Opus foi mais detalhada e de fácil leitura.

Claude 3 Opus vs ChatGPT 4

Vamos comparar o Claude 3 Opus e o ChatGPT 4 em tarefas semelhantes às mencionadas acima para mostrar como o Claude 3 tem uma pequena vantagem sobre o modelo GPT-4.

PERGUNTAS E RESPOSTAS

Prompt: Quantas luas Júpiter tem?

Claude 3 Opus vs ChatGPT 4 Perguntas e respostas

Ambas as afirmações estão incorretas. Em 5 de fevereiro de 2024, Júpiter tinha 95 luas. Esse prompt é útil para entender o período de corte dos conjuntos de dados. Parece que o Claude 3 Opus foi treinado em um conjunto de dados mais antigo, de 2021, enquanto o ChatGPT foi atualizado pela última vez em abril de 2023.

Geração de código

Prompt: Criação de um aplicativo da Web Gradio para um modelo de classificação simples do Scikit-learn.

Claude 3 Opus vs ChatGPT 4 Geração de código

O código gerado pelo modelo Claude 3 foi executado sem problemas, mas o código gerado pelo GPT-4 não foi executado devido a vários erros e alucinações.

Problema complexo

Prompt: Há quatro pessoas em um elevador e quatro andares em um edifício. Qual é a probabilidade de que cada pessoa desça em um andar diferente?

Claude 3 Opus vs ChatGPT 4 Problema complexo

Ambos os modelos apresentaram a resposta correta para a famosa pergunta sobre probabilidade. Um forneceu o trabalho matemático, e o outro gerou e executou o código Python para exibir a mesma resposta. Nesse caso, ambos ganham.

Claude 3 Python SDK

Nesta parte, aprenderemos sobre o SDK Python do Claude 3 e como podemos usá-lo para gerar respostas personalizadas.

Primeiros passos

1. Instale o pacote anthropic Python usando o PIP.

pip install anthropic

2. Antes de instalarmos o pacote Python, precisamos acessar https://console.anthropic.com/dashboard e obter a chave da API.

Chave da API do Claude 3

3. Defina a variável de ambiente ANTHROPIC_API_KEY e forneça o valor com a chave da API. Configurar e acessar a variável de ambiente é bastante fácil no DataCamp Workspace.

Cláudio 3 Adicionar variáveis de ambiente

4. Crie o objeto cliente usando a chave da API. Usaremos esse cliente para geração de texto, capacidade de visão de acesso e streaming.

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

API de conclusões do Claude 2

É importante observar que o modelo mais recente do Claude 3 não usa a API de conclusão. Se você tentar usar essa API para os modelos Claude 3, isso resultará em um erro, e você será aconselhado a usar a API Messages.

from IPython.display import Markdown, display
from anthropic import HUMAN_PROMPT, AI_PROMPT

completion = client.completions.create(
    model="claude-2.1",
    max_tokens_to_sample=300,
    prompt=f"{HUMAN_PROMPT} What is Matthew effect? {AI_PROMPT}",
)
Markdown(completion.completion)

Exemplo de Claude 3

Se você quiser saber mais sobre a API do Claude Python mais barata, leia Introdução à API do Claude 2 e Anthropic.

API de mensagens do Claude 3

Para esclarecer, estaremos testando a API Anthropic Messages para o modelo Claude 3 Opus. Essa API é semelhante à API Completion, mas exige que um argumento messages seja fornecido como uma lista de dicionários que contêm a função e o conteúdo.

Prompt = "Write the Go code for the simple data analysis."
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": Prompt}
    ]
)
Markdown(message.content[0].text)

O uso do IPython Markdown exibirá a resposta no formato Markdown. Isso significa que ele mostrará marcadores, blocos de código, cabeçalhos e links de forma limpa.

Criação de código em markdown com o Claude 3

O código funciona perfeitamente, e a explicação é clara o suficiente para que qualquer pessoa entenda o que está acontecendo.

Adição de prompt do sistema

Podemos personalizar a resposta fornecendo o prompt do sistema. Pedimos a ele que convertesse todas as respostas para o sueco.

Prompt = "Write a report on climate change."

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Respond only in Svenska.",
    messages=[
        {"role": "user", "content": Prompt} 
    ]
)

Markdown(message.content[0].text)

Ele gerou perfeitamente um relatório sobre mudanças climáticas em Svenska.

Claude 3 Saída (sueco)

Claude 3 Bloco de visão

A API de mensagens inclui recursos de visão. Nesta seção, usaremos duas fotos do Pexels.com para gerar uma resposta.

Claude 3 Bloco de visão

Carregaremos as imagens usando o pacote httpx e as converteremos em codificação base64.

import base64
import httpx

media_type = "image/jpeg"

url_1 = "https://images.pexels.com/photos/20433278/pexels-photo-20433278/free-photo-of-indian-blue-jay.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

image_encode_1 = base64.b64encode(httpx.get(url_1).content).decode("utf-8")

url_2 = "https://images.pexels.com/photos/772429/pexels-photo-772429.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"

image_encode_2 = base64.b64encode(httpx.get(url_2).content).decode("utf-8")

Visão com uma única imagem

Para consultar as imagens, precisamos fornecer à API Claude 3 os dados da imagem, o tipo de codificação e o tipo de mídia. Tanto a imagem quanto o prompt fazem parte do dicionário de conteúdo do argumento da mensagem.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_encode_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Describe the image."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Resultados do Bloco de Visão do Claude 3

Visão com várias imagens

A adição de várias imagens pode ser complexa, mas se você seguir o padrão de código no exemplo de código, entenderá como funciona.

Precisamos apenas criar um texto que indique a Imagem 1 e a Imagem 2 e, em seguida, fazer perguntas sobre essas duas imagens.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_encode_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_encode_2,
                    },
                },
                {
                    "type": "text",
                    "text": "What do these images have in common?"
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Perfeito. Ambas as imagens apresentam pássaros.

Claude 3 Resultados do Vision Block 2

Claude 3 API de streaming

Streaming refere-se ao processo de geração de saídas de texto de forma contínua, em vez de esperar que toda a sequência seja gerada antes de retornar qualquer saída. Com essa técnica, a saída é gerada token por token, o que ajuda a minimizar a latência percebida.

Em vez de create, usaremos a função stream para gerar a resposta de streaming.

Para exibir os resultados, usaremos a sintaxe with e for loop para imprimir o token assim que ele estiver disponível.

Prompt = "Write a Python code for typical data engineering workflow."


completion = client.messages.stream(
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": Prompt,
        }
    ],
    model="claude-3-opus-20240229",
)

with completion as stream:
    for text in stream.text_stream:
            print(text, end="", flush=True)

Resposta de streaming do Claude 3

Claude 3 API assíncrona

As APIs síncronas executam solicitações sequencialmente e as bloqueiam até que uma resposta seja recebida antes de iniciar a próxima chamada. Por outro lado, as APIs assíncronas permitem várias solicitações simultâneas sem bloqueio, o que as torna mais eficientes e dimensionáveis.

Inicializaremos o cliente assíncrono usando o AsyncAnthropic. Em seguida, criaremos a função main usando a palavra-chave async e executaremos a função usando a função asyncio.run.

Observação: Se estiver usando async no Jupyter Notebook, tente usar await main(), em vez de asyncio.run(main()).

import asyncio
from anthropic import AsyncAnthropic

async_client = AsyncAnthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Prompt = "Could you explain what MLOps is and suggest some of the best tools to use for it?"

async def main() -> None:

    message = await async_client.messages.create(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    display(Markdown(message.content[0].text))


asyncio.run(main())

Claude 3 API assíncrona

Combinação de streaming com API assíncrona

Podemos combinar facilmente o streaming com métodos assíncronos usando a função stream do cliente assíncrono. Dessa forma, poderemos receber várias solicitações e transmitir as respostas, tornando o aplicativo de IA dimensionável e robusto.

async def main() -> None:
    
    completion = async_client.messages.stream(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    async with completion as stream:
        async for text in stream.text_stream:
            print(text, end="", flush=True)

asyncio.run(main())

Conclusão 3 Combinando streaming com API assíncrona

Se estiver com dificuldades para executar o código, você poderá acessar um espaço de trabalho do DataCamp onde poderá visualizar e executar o código por conta própria.

Saiba como acessar os grandes modelos de linguagem da OpenAI seguindo o tutorial sobre Como usar o GPT-3.5 e o GPT-4 por meio da API da OpenAI em Python.

Considerações finais

A Anthropic é agora uma empresa pública e voltada para as empresas, semelhante à OpenAI. Ele fornece acesso aos seus modelos a qualquer pessoa e, em alguns casos, gratuitamente. Você pode acessar o LLM Claude 3 Opus de melhor desempenho por meio de uma assinatura Pro ou acesso à API. No entanto, o Anthropic não tem o ecossistema que o OpenAI tem, faltando modelos de incorporação, geração de imagens e vídeos, conversão de texto em fala e reconhecimento de fala. Ele também não possui as funções principais que a API OpenAI oferece.

Você pode descobrir o novo modelo de conversão de texto em vídeo da OpenAI que conquistou a mídia social lendo O que é o Sora da Open AI? Como funciona, casos de uso, alternativas e muito mais.

Neste tutorial, aprendemos sobre o modelo Claude 3, que está sendo muito badalado no mundo da IA. Nós o comparamos com o Claude 2.1 e o GPT-4 em várias tarefas. Por fim, usamos o Anthropic Python SDK para gerar texto, acessar recursos de visão, transmitir a resposta token por token e usar a API de forma assíncrona.

Se você é novo em IA e quer entender o funcionamento interno dos LLMs de última geração, considere fazer o curso de habilidades AI Fundamentals. Ele fornecerá a você conhecimentos práticos sobre tópicos populares de IA, como ChatGPT, modelos de linguagem grandes, IA generativa e muito mais.

Temas

Comece sua jornada de aprendizado de IA hoje mesmo!

Track

AI Fundamentals

10hrs hr
Discover the fundamentals of AI, dive into models like ChatGPT, and decode generative AI secrets to navigate the dynamic AI landscape.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

blog

A OpenAI anuncia o GPT-4 Turbo com visão: O que sabemos até o momento

Descubra a atualização mais recente da OpenAI, GPT-4 Turbo com visão, e seus principais recursos, incluindo o corte de conhecimento aprimorado, uma janela de contexto expandida, preço acessível e muito mais.
Richie Cotton's photo

Richie Cotton

7 min

blog

Stability AI anuncia a difusão estável 3: Tudo o que sabemos até agora

Saiba mais sobre as novas atualizações do Stable Diffusion e descubra os recursos do modelo de texto para imagem da versão 3.
Richie Cotton's photo

Richie Cotton

tutorial

Tutorial da API de assistentes da OpenAI

Uma visão geral abrangente da API Assistants com nosso artigo, que oferece uma análise aprofundada de seus recursos, usos no setor, orientação de configuração e práticas recomendadas para maximizar seu potencial em vários aplicativos de negócios.
Zoumana Keita 's photo

Zoumana Keita

14 min

tutorial

Guia para iniciantes no uso da API do ChatGPT

Este guia o orienta sobre os conceitos básicos da API ChatGPT, demonstrando seu potencial no processamento de linguagem natural e na comunicação orientada por IA.
Moez Ali's photo

Moez Ali

11 min

tutorial

Como criar aplicativos LLM com o tutorial LangChain

Explore o potencial inexplorado dos modelos de linguagem grandes com o LangChain, uma estrutura Python de código aberto para criar aplicativos avançados de IA.
Moez Ali's photo

Moez Ali

12 min

tutorial

Como usar a API de conversão de texto em fala da OpenAI

A API TTS da OpenAI é um ponto de extremidade que permite que os usuários interajam com seu modelo de IA TTS que converte texto em linguagem falada com som natural.
Kurtis Pykes 's photo

Kurtis Pykes

12 min

See MoreSee More