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

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.
abr. de 2024  · 14 min leer

O OpenAI Dev Day foi um marco significativo na inteligência artificial, revelando um conjunto de serviços inovadores de IA, incluindo GPTs, a GPTs App Store, GPT-4 Turbo e a inovadora API Assistants.

Essa API capacita os desenvolvedores com ferramentas avançadas de IA, permitindo a criação de assistentes de IA personalizados, capazes de lidar com diversas tarefas.

Neste tutorial, mergulhamos no mundo dos assistentes, fornecendo uma exploração detalhada de seus recursos, aplicações práticas em vários setores e um guia passo a passo para implementá-los usando Python. Junte-se a nós para conhecer os meandros da criação de seu próprio assistente de IA personalizado.

Uma visão geral da API de assistentes

No momento em que escrevo este artigo, a API de assistentes é beta e a equipe de desenvolvedores da OpenAI está trabalhando ativamente para incluir mais recursos, mas, antes disso, vamos explorar o que a versão atual tem a oferecer!

Esta seção fornece mais informações sobre como os Assistentes funcionam e a interação entre os componentes subjacentes.

Como funciona a API de assistentes?

Os dois principais pilares dos assistentes são os modelos e as ferramentas da OpenAI.

  • Há um conjunto diversificado de modelos, incluindo, entre outros, os seguintes: GPT-4, GPT-4 Turbo, GPT-3.5, GPT-3, DALL-E, TTS, Whisper, Embeddings, Moderação. Esses modelos são usados pelos assistentes para executar uma tarefa inteligente específica.
  • As ferramentas, por outro lado, dão aos assistentes acesso às ferramentas hospedadas da OpenAI, como o Code Interpreter e o Knowledge Retrieval. Ele ainda permite que os usuários criem suas próprias ferramentas usando o recurso Function Calling.

Como os assistentes trabalham

Como os assistentes trabalham

Agora, vamos explorar as cinco principais etapas envolvidas na implementação de um Assistente.

  • Crie e descreva um Assistente: Um Assistente é uma IA especializada desenvolvida usando modelos, diretrizes e várias ferramentas.
  • Iniciar um thread: um thread representa uma sequência de diálogo iniciada pelo usuário em que as mensagens podem ser adicionadas, formando uma troca envolvente.
  • Adicionar mensagens: As mensagens são compostas pelas entradas textuais do usuário e podem incluir texto, arquivos e imagens.
  • Acione o Assistente: O Assistente é ativado para analisar o Thread, utilizar ferramentas específicas, conforme necessário, e produzir uma resposta adequada.

Casos de uso da API de assistentes no setor

Aproveitar a API do Assistente pode ser uma maneira poderosa de integrar a IA a vários processos de negócios, permitindo que eles aumentem a eficiência, automatizem tarefas enfadonhas e forneçam respostas mais rápidas e precisas às consultas dos usuários.

Veja abaixo cinco casos de uso convincentes do setor para a API do Assistant.

Suporte ao desenvolvimento

O Assistente pode atuar como um assistente de codificação sob demanda. Utilizando o interpretador de código, ele pode traduzir trechos de código de uma linguagem de programação para outra, auxiliando no desenvolvimento de software e facilitando a curva de aprendizado de novas linguagens. Esse recurso é especialmente útil em equipes que trabalham com várias linguagens de programação ou em ambientes educacionais para o ensino de codificação.

Gerenciamento do conhecimento empresarial

O recurso de recuperação pode ser aproveitado para o gerenciamento do conhecimento dentro das organizações. Ao carregar e processar documentos, relatórios e manuais internos, o Assistant se torna um repositório de conhecimento centralizado. Os funcionários podem consultar o Assistente para obter informações específicas, aumentando a eficiência e reduzindo o tempo gasto na busca de informações em grandes conjuntos de documentos.

Automação do suporte ao cliente

O Assistant pode ser integrado aos sistemas de suporte ao cliente. Usando chamadas de função, ele pode responder a consultas de clientes buscando informações de APIs ou bancos de dados externos, automatizando efetivamente as respostas a perguntas comuns. Essa integração pode melhorar a experiência do cliente, fornecendo respostas rápidas e precisas e reduzindo a carga da equipe de suporte humano.

Análise de dados

Ao descrever funções para análise de dados, os usuários podem solicitar ao Assistente que realize manipulações complexas de dados e gere relatórios, traduzindo consultas em linguagem natural em tarefas estruturadas de análise de dados.

Automação das operações de TI

As equipes de TI podem usar o Assistant para automatizar operações de rotina. Ao definir funções que correspondem a tarefas comuns de TI, como diagnósticos de sistema, verificações de rede ou atualizações de software, o Assistente pode executar essas tarefas em resposta a comandos do usuário. Esse recurso pode reduzir significativamente o tempo que os profissionais de TI gastam com a manutenção de rotina, permitindo que eles se concentrem em problemas mais complexos.

Prática: Primeiros passos com a API de assistentes da OpenAI

Com esse entendimento da API da OpenAI, vamos entrar em um caso de uso mais prático. Esta seção se concentra em orientar o processo de criação de um assistente que recupera conhecimento de arquivos PDF.

O notebook completo de ponta a ponta está disponível no DataCamp Workspace.

Fluxo de trabalho de recuperação de conhecimento

Para qualquer implementação técnica, é melhor fornecer um fluxo de trabalho visual que ilustre a interação entre os principais componentes do aplicativo geral que está sendo desenvolvido.

Esse fluxo de trabalho destaca as cinco principais etapas envolvidas na implementação do assistente, desde o upload do arquivo até a geração da resposta final.

Cinco etapas principais do fluxo de trabalho de recuperação de conhecimento

Cinco etapas principais do fluxo de trabalho de recuperação de conhecimento

  • Upload de arquivos: o processo começa com o upload dos arquivos PDF com os quais os usuários desejam interagir.
  • Criação do assistente: o assistente foi projetado especificamente para processar e compreender as informações dos arquivos PDF carregados.
  • Iniciar interação: esse é o ponto de partida do thread de conversação, em que os usuários fornecem mensagens de entrada a serem processadas pelo assistente.
  • Acionar o assistente: agora, o assistente processa as mensagens de entrada para gerar uma resposta relevante.
  • Saída de resposta: esta é a fase final, em que o assistente exibe as respostas à mensagem do usuário.

Configurar a chave OpenAI

As principais ferramentas necessárias para reproduzir com êxito os resultados deste tutorial são:

  • Python: esta é a principal linguagem de programação que usaremos neste tutorial. Uma opção alternativa é o NodeJS.
  • OpenAI: o pacote para interagir com os serviços da OpenAI. Nossa folha de dicas da API OpenAI em Python fornece uma visão geral completa para dominar os conceitos básicos de como aproveitar a API OpenAI.
  • OS: o pacote do sistema operacional para configurar a variável de ambiente.

A primeira etapa é adquirir a OpenAI KEY, que ajuda a acessar o modelo DALL-E 3. As principais etapas estão ilustradas abaixo:

Quatro etapas principais para criar uma OpenAI KEY Quatro etapas principais para criar uma OpenAI KEY

As quatro etapas principais acima são autoexplicativas. No entanto, é importante criar uma conta no site oficial da OpenAI.

Você pode explorar mais a API OpenAI em nosso Guia da API OpenAI para iniciantes: Tutorial prático e práticas recomendadas. Ele apresenta a API OpenAI, seus casos de uso, uma abordagem prática para usar a API e todas as práticas recomendadas a serem seguidas.

Comece a criar o assistente

Depois de adquirir a CHAVE, certifique-se de não compartilhá-la com ninguém. A chave deve permanecer privada. Em seguida, configure a chave da variável de ambiente da seguinte forma para poder trabalhar com ela:

import os
OPENAI_API_KEY= "<YOUR PRIVATE KEY>"
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

Upload de arquivos

A função auxiliar a seguir aproveita a função "create" para carregar automaticamente o arquivo com o qual os usuários desejam interagir em sua conta do OpenAI.

A função "create" tem dois parâmetros principais:

  • O caminho para o arquivo a ser carregado
  • A finalidade do uso desse arquivo, que, nesse caso, é "assistentes"
def upload_file(file_path):
    
	# Upload a file with an "assistants" purpose
	file_to_upload = client.files.create(
  	file=open(file_path, "rb"),
  	purpose='assistants'
	)
     return file_to_upload

A função auxiliar é finalmente usada para acionar o processo de upload do papel dos transformadores localizado na pasta de dados.

transformer_paper_path = "./data/transformer_paper.pdf"
file_to_upload = upload_file(transformer_paper_path)

Após a execução bem-sucedida da função, o arquivo transformer_paper.pdf é carregado e fica visível na guia de arquivos, conforme mostrado abaixo.

Papel do transformador carregado na conta do OpenAI

Papel do transformador carregado na conta do OpenAI

Assistente de criação

A criação do assistente é feita usando a função create do módulo client.beta.assistants, que recebe cinco parâmetros principais:

  • Nome: esse é o nome dado ao assistente pelo seu criador. Vamos chamar nosso assistente de artigo científico.
  • Instruções: descreve como o assistente deve se comportar ou responder a perguntas. Nesse caso de uso, o assistente aplica a seguinte instrução: "Você é um assistente de recuperação de conhecimento educado e especializado. Use os documentos fornecidos como uma base de conhecimento para responder às perguntas."
  • Modelo: o modelo subjacente a ser usado para a recuperação de conhecimento. Qualquer modelo GPT-3 ou GPT-4 pode ser usado. Este artigo utiliza o modelo mais recente no momento da redação deste artigo, que é o modelo gpt-4-1106-preview.
  • Ferramentas: o tipo de ferramenta a ser usada. As duas opções possíveis são interpretador de código e recuperação. O foco deste artigo é a recuperação, portanto, ignoramos o interpretador.
  • File_ids: uma lista de identificadores exclusivos de cada arquivo na base de conhecimento.

A função auxiliar create_assistant combina todas essas informações para criar o assistente, conforme ilustrado abaixo:

def create_assistant(assistant_name,
                 	my_instruction,
                 	uploaded_file,
                 	model="gpt-4-1106-preview"):
    
	my_assistant = client.beta.assistants.create(
	name = assistant_name,
	instructions = my_instruction,
	model="gpt-4-1106-preview",
	tools=[{"type": "retrieval"}],
	file_ids=[uploaded_file.id]
	)
    
	return my_assistant

Agora podemos executar a função para criar o assistente usando a instrução e o nome do assistente:

inst="You are a polite and expert knowledge retrieval assistant. Use the documents provided as a knowledge base to answer questions"
assistant_name="Scientific Paper Assistant"

my_assistant = create_assistant(assistant_name, inst, uploaded_file)

Iniciar a interação

Depois que o assistente é criado, a próxima etapa natural é iniciar um thread de interação usando a mensagem ou a solicitação dos usuários.

O thread e a mensagem são criados usando as funções create do client.beta.threads e do client.beta.threads.messages, respectivamente.

Esses dois recursos são combinados usando a função auxiliar initiate_interaction.

def initiate_interaction(user_message, uploaded_file):
    
	my_thread = client.beta.threads.create()
	message = client.beta.threads.messages.create(thread_id=my_thread.id,
                                              	role="user",
                                              	content=user_message,
                                              	file_ids=[uploaded_file.id]
	)
    
	return my_thread

Uma interação pode ser iniciada a partir da variável user_message:

user_message = "Why do authors use the self-attention strategy in the paper?"
my_thread = initiate_interaction(user_message, uploaded_file)

Acionar o assistente e gerar uma resposta

Com base no thread acima, o assistente pode ser acionado para fornecer uma resposta à mensagem do usuário. A ação do acionador é definida na função auxiliar trigger_assistant, e a resposta é dada pela variável response.

def trigger_assistant():
	run = client.beta.threads.runs.create(
  	thread_id = my_thread.id,
  	assistant_id = my_assistant.id,
	)


trigger_assistant()

messages = client.beta.threads.messages.list(
  thread_id = my_thread.id
)

response = messages.data[0].content[0].text.value
response

A resposta a seguir é gerada após uma execução bem-sucedida do código acima.

Resposta do Assistente à mensagem do usuário

Resposta do Assistente à mensagem do usuário

Essa resposta é exatamente o que é mencionado pelos autores como resposta à pergunta na página 6.

Passagem que menciona a resposta do documento sobre o transformador

Passagem que menciona a resposta do documento sobre o transformador

Práticas recomendadas ao usar a API de assistentes da OpenAI

Ao aproveitar a API do Assistant em um projeto, é importante aderir às práticas recomendadas, garantindo o desempenho ideal e a experiência do usuário. Abaixo estão alguns pontos importantes a serem considerados.

  • Defina objetivos claros: estabeleça metas específicas para o Assistente para garantir que ele atenda à finalidade pretendida e às necessidades do usuário de forma eficaz.

  • Otimize a entrada de dados: a qualidade e a relevância dos dados usados, como os arquivos carregados, são cruciais para a precisão e a eficiência das respostas do Assistente.

  • Priorizar a privacidade do usuário: implementar protocolos robustos de privacidade de dados para proteger as informações do usuário e cumprir as leis relevantes de proteção de dados.

  • Testar e iterar: teste regularmente o Assistente em cenários reais e faça iterações com base no feedback para melhorar o desempenho e a experiência do usuário.

  • Forneça documentação clara: ofereça orientação abrangente sobre o uso do Assistente, ajudando os usuários a entender suas funcionalidades e limitações.


Conclusão

Em resumo, este artigo explorou a API Assistants, destacando como ela funciona e como pode ser usada em diferentes setores. Começamos apresentando a API e suas principais funções, preparando o terreno para uma compreensão mais profunda.

Em seguida, analisamos os recursos específicos da API Assistants e discutimos como eles podem ser aplicados em vários setores comerciais, mostrando sua ampla utilidade.

Também fornecemos um guia passo a passo sobre como começar a usar a API Assistants, facilitando a configuração de acordo com suas necessidades.

Além disso, compartilhamos algumas práticas recomendadas importantes que devem ser levadas em conta ao usar a API, garantindo que você obtenha o máximo dela.

Em resumo, a API de assistentes é uma ferramenta versátil e valiosa que pode ser adaptada para muitos usos, oferecendo benefícios significativos para aqueles que aprenderem a usá-la de forma eficaz.

Você está ansioso para elevar sua experiência com as APIs da OpenAI e adotar uma abordagem mais criativa? Nosso Guia abrangente da API do DALL-E 3 o ajudará a descobrir o poder transformador da API do DALL-E 3, abrangendo seus principais recursos, aplicativos do setor e dicas para que os usuários liberem seu potencial criativo.

Se você é totalmente iniciante no assunto, por que não começar com nosso curso Working with the OpenAI API?

Temas

Saiba mais sobre a OpenAI

Track

OpenAI Fundamentals

10hrs hr
Begin creating AI systems using models from OpenAI. Learn how to use the OpenAI API to prompt OpenAI's GPT and Whisper models.
See DetailsRight Arrow
Start Course
Veja MaisRight Arrow
Relacionado

blog

25 exemplos práticos da transformação da IA nos setores

Desde a reformulação da saúde e do comércio eletrônico até a revolução da agricultura e das finanças, descubra exemplos reais de IA que impulsionam o crescimento, a eficiência e a inovação.

Nahla Davies

15 min

blog

O que é um algoritmo?

Aprenda algoritmos e sua importância no aprendizado de máquina. Entenda como os algoritmos resolvem problemas e executam tarefas com etapas bem definidas.
DataCamp Team's photo

DataCamp Team

11 min

blog

O que são redes neurais?

As NNs são modelos computacionais inspirados no cérebro, usados no aprendizado de máquina para reconhecer padrões e tomar decisões.
Abid Ali Awan's photo

Abid Ali Awan

7 min

tutorial

Um guia introdutório para aperfeiçoar os LLMs

O ajuste fino dos modelos de linguagem ampla (LLMs) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de texto. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos por meio do processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

12 min

tutorial

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.
Abid Ali Awan's photo

Abid Ali Awan

tutorial

Como usar o Midjourney: Um guia abrangente para a criação de obras de arte geradas por IA

Descubra o poder do Midjourney, uma ferramenta de IA generativa para criar obras de arte impressionantes. Saiba como começar, escrever prompts eficazes e otimizar seu uso com nosso guia passo a passo.
Kurtis Pykes 's photo

Kurtis Pykes

12 min

See MoreSee More