Curso
Se você quer integrar ao seu aplicativo um modelo de linguagem com som mais natural e alta precisão, o Claude 2, da Anthropic, é uma excelente escolha. Ele vem com um app de chat público (semelhante ao ChatGPT), API e playground para várias versões dos modelos.
Entenda as diferenças entre as respostas do Claude e do ChatGPT no post Claude vs. ChatGPT: qual assistente de IA é melhor para cientistas de dados em 2023?
Neste tutorial, vamos conhecer os modelos Claude 2X e como acessá-los usando a API em Python. Vamos cobrir a configuração da API, como fazer consultas básicas e tratar respostas. Também veremos streaming de respostas, requisições assíncronas e alguns recursos mais avançados da API. Todo o código-fonte deste tutorial está disponível nesta planilha do DataLab; você pode criar uma cópia para editar e executar o código facilmente, direto no navegador, sem instalar nada no seu computador.
Ao final, você terá uma boa compreensão de como integrar o Claude 2 ao seu próprio aplicativo para aproveitar suas capacidades avançadas de linguagem natural.
Para quem está começando em IA generativa, nossa trilha de habilidades AI Fundamentals ajuda você a aprender novas tecnologias e modelos para se preparar para o mundo da IA de amanhã.
Fundamentos do Claude 2
A Anthropic lançou recentemente o Claude 2, a versão mais recente do seu grande modelo de linguagem. Ele apresentou melhorias de desempenho em várias tarefas, com respostas mais longas e coesas. Além disso, conta com acesso via API e um site público em beta, disponível em claude.ai.

Imagem de claude.ai
O Claude 2 é conhecido por conversas naturais, com capacidades de raciocínio aprimoradas, memória expandida e rastreamento de contexto, reduzindo saídas potencialmente nocivas. Ele mostrou avanços em habilidades como programação, raciocínio matemático e lógica.
Por exemplo, em raciocínio jurídico, o Claude 2 marcou 76,5% na seção de múltipla escolha do exame da OAB americana (Bar exam), 3,5% acima do Claude 1.3. Em testes de aptidão acadêmica, o Claude 2 fica acima do 90º percentil nas seções de leitura e escrita do GRE, e no nível de candidatos medianos em raciocínio quantitativo.
Apresentando o Claude 2.1
Em 21 de novembro de 2023, a Anthropic lançou o Claude 2.1, com melhorias notáveis que permitem um raciocínio mais avançado e reduzem conteúdos alucinatórios. Um foco importante foi aprimorar a confiabilidade por meio de maior transparência: o Claude 2.1 agora é mais honesto sobre lacunas no seu conhecimento, em vez de tentar inventar informações.
Ele traz uma janela de contexto ampliada para 200K, permitindo que o Claude consulte e faça verificações cruzadas em conteúdos extensos, como artigos científicos, para manter a consistência factual em resumos ou análises longas.
O Claude 2.1 também introduziu, de forma experimental, o uso de ferramentas. Isso permite que o Claude 2 recupere e processe dados de fontes adicionais com alta precisão, invocando funções e executando ações.
Configurando o Claude 2
O acesso à API da Anthropic está, no momento, restrito a um grupo selecionado de pessoas e organizações. Se você quer estar entre os primeiros a testar, preencha o formulário de inscrição disponível no site. A Anthropic está liberando o acesso gradualmente para garantir segurança e escalabilidade da API. Atenção: devido ao grande volume de solicitações, pode levar algum tempo para sua conta ser aprovada.
Depois de receber o e-mail de aprovação da Anthropic e criar sua conta, você será redirecionado ao dashboard. Nele, há um link para o workbench, semelhante ao OpenAI Playground, onde você pode alternar entre modelos e analisar as respostas. Além disso, há links para gerar chaves de API e acessar a documentação.

Imagem do dashboard
Para criar uma chave de API, clique no botão "Get API Keys" e informe o nome da chave. Feito isso, você receberá uma chave para gerar respostas usando a API do Claude 2.

Imagem da Anthropic
Para definir a chave de API como uma variável de ambiente, você pode usar um comando Bash ou configurá-la em uma planilha do DataLab. Primeiro, crie uma nova planilha e depois clique no botão "Environment" no painel esquerdo. Clique no botão de mais e adicione o nome e o valor da variável. Por fim, salve para aplicar as alterações.

Imagem do DataLab
Observação: você pode aplicar a chave de API diretamente na função em Python, mas isso é altamente desaconselhado por motivos de segurança.
Para acessar a API da Anthropic em Python, primeiro instale o SDK da Anthropic para Python usando PIP.
pip install anthropicAcessando a API do Claude 2
Nesta parte, vamos aprender a acessar a API da Anthropic para gerar respostas usando o modelo Claude 2.1. Você pode acompanhar criando uma cópia desta planilha: Primeiros passos com o Claude 2 e a API do Claude 2.
Vamos carregar o módulo os para acessar a chave da API e a biblioteca anthropic para criar o pipeline de IA conversacional com a chave.
from anthropic import Anthropic, HUMAN_PROMPT, AI_PROMPTimport osanthropic_api_key = os.environ["ANTHROPIC_API_KEY"]anthropic = Anthropic( api_key= anthropic_api_key,)Os termos "HUMAN_PROMPT" e "AI_PROMPT" são strings usadas para criar a estrutura correta do prompt no pipeline de geração.

Agora vamos gerar a resposta informando a versão do modelo, o número máximo de tokens e o prompt. Certifique-se de que seu prompt segue o template do Claude 2X.
completion = anthropic.completions.create( model="claude-2.1", max_tokens_to_sample=350, prompt=f"{HUMAN_PROMPT} How do I learn Python in a week?{AI_PROMPT}",)print(completion.completion)Obtivemos um ótimo resultado. O Claude 2.1 forneceu um plano detalhado para aprender Python em uma semana.

A Anthropic oferece suporte a requisições de API síncronas e assíncronas.
APIs síncronas executam requisições de forma sequencial, bloqueando até receber a resposta antes de fazer a próxima chamada. Já as APIs assíncronas permitem várias requisições em paralelo sem bloqueio, tratando as respostas conforme ficam prontas. Isso torna as APIs assíncronas mais eficientes e escaláveis em comparação às síncronas.
Para chamar a API de forma assíncrona, importe AsyncAnthropic em vez de Anthropic. Defina uma função usando a sintaxe async e utilize await em cada chamada de API.
from anthropic import AsyncAnthropicanthropic = AsyncAnthropic()async def main(): completion = await anthropic.completions.create( model="claude-2.1", max_tokens_to_sample=300, prompt=f"{HUMAN_PROMPT}How many moons does Jupiter have?{AI_PROMPT}", ) print(completion.completion)await main()Chegamos a um resultado quase exato. Algumas fontes citam 79, mas a NASA informa que Júpiter tem 95 luas.
Observação: use asyncio.run(main()) em vez de await main() ao executar o código em um arquivo .py de Python, e não em um Jupyter Notebook.
Streaming de LLM com o Claude 2
O streaming se tornou uma técnica essencial para grandes modelos de linguagem, oferecendo várias vantagens em relação aos métodos tradicionais. Em vez de esperar a resposta completa, o streaming permite processar a saída assim que ela fica disponível. Essa abordagem reduz a latência percebida ao retornar a saída do modelo token por token, e não toda de uma vez.
Para ativar o streaming, defina o argumento 'stream' como `True` na função de completion.
anthropic = Anthropic()stream = anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Could you please write a Python code to train a simple classification model?{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)for completion in stream: print(completion.completion, end="", flush=True)Perceba que estamos recebendo a resposta linha a linha, muito mais rápido, como se o Claude 2.1 estivesse digitando.

Da mesma forma, também podemos executar o streaming em modo `async`. Note que apenas adicionamos `await` antes da função de completion e `async` antes do laço for.
anthropic = AsyncAnthropic()stream = await anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Please write a blog post on Neural Networks and use Markdown format. Kindly make sure that you proofread your work for any spelling, grammar, or punctuation errors.{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)async for completion in stream: print(completion.completion, end="", flush=True)Nossa IA generativa está fazendo um bom trabalho ao escrever um post completo.

Confira a lista de 7 ferramentas essenciais de IA generativa que podem ajudar você a criar chatbots funcionais e com contexto.
Recursos avançados e personalizações
A API da Anthropic oferece diversos recursos avançados e opções de personalização além da geração básica de respostas:
- Tratamento de erros: tipos de exceção específicos, como APIConnectionError e APIStatusError, permitem lidar com problemas de conexão e erros HTTP de forma limpa.
- Cabeçalhos padrão: o cabeçalho anthropic-version é enviado automaticamente para identificar o cliente. É possível personalizar alterando o argumento
default_headersno objetoanthropic. - Logging: o log de depuração pode ser ativado definindo a variável de ambiente ANTHROPIC_LOG. Isso ajuda na solução de problemas.
- Cliente HTTP: o cliente HTTPX que realiza as requisições pode ser configurado para proxies, transports e outras funcionalidades avançadas.
- Gerenciamento de recursos: você pode fechar o cliente manualmente com o método
.close()ou usar um context manager que fecha automaticamente ao sair. - Técnicas de prompting: a documentação da API oferece várias palavras-chave para otimizar seus inputs para textos, documentos estruturados, trechos de código e resultados de RAG.
- Validação de prompt: a API realiza uma sanitização e validação básica do prompt para garantir que ele esteja otimizado para o modelo Claude 2.
Para saber mais sobre funções avançadas, confira a documentação da API da Anthropic.
Aplicações práticas da API do Claude 2
A API do Claude 2 tem aplicações práticas amplas em diversos setores e domínios. Em criação de conteúdo e copywriting, ela ajuda a redigir artigos de alta qualidade, materiais de marketing e textos criativos. Além disso, em:
- Tradução de idiomas: você pode criar apps que oferecem tradução em tempo real aproveitando recursos multilíngues avançados.
- Educação: é ótima para aprendizado personalizado. Alunos podem usá-la para dominar assuntos complexos com mais rapidez.
- Atendimento ao cliente: fornece respostas com melhor entendimento de contexto, mais precisas e naturais.
- Assistência em programação: gera trechos de código, ajuda na depuração e explica conceitos complexos para acelerar o desenvolvimento.
- Artes criativas: colabore com artistas para gerar conteúdos como composições musicais.
- Jurídico/conformidade: redija documentos, resuma leis e apoie a conformidade regulatória.
Conclusão
A API em Python oferece uma forma poderosa de acessar os modelos de IA conversacional de ponta da Anthropic. Vimos o básico para configurar chaves de acesso, fazer chamadas de API síncronas e assíncronas, usar streaming de respostas e alguns recursos avançados. Além disso, conhecemos aplicações práticas do Claude 2.
Embora a API ainda tenha disponibilidade limitada, a Anthropic está ampliando o acesso gradualmente. À medida que o Claude 2 evolui, a API em Python permitirá que desenvolvedores integrem com facilidade seus recursos de última geração a uma ampla gama de produtos e serviços.
Espero que esta introdução à API do Claude 2 tenha sido útil! Sinta-se à vontade para experimentar os exemplos de código e ver, na prática, as habilidades impressionantes do Claude 2. Aqui está uma lista de 5 projetos que você pode criar com modelos de IA generativa para se inspirar e construir seu próximo projeto com o Claude 2.
Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.





