banner
Lar / blog / Crie um chatbot treinado com seus próprios dados por meio da API OpenAI — SitePoint
blog

Crie um chatbot treinado com seus próprios dados por meio da API OpenAI — SitePoint

Aug 23, 2023Aug 23, 2023

Neste artigo, você aprenderá como treinar e testar seu próprio chatbot usando a API OpenAI e como transformá-lo em um aplicativo web que você pode compartilhar com o mundo.

Com a IA revolucionando as tecnologias da informação, muitos a aproveitaram usando provedores de API como OpenAI para integrar IA em seus dados.

Uma maneira particularmente boa de usar IA para seus dados é criar seu próprio chatbot.

Por exemplo, imagine que você tenha um conjunto de dados composto por milhares de relatórios de lucros de empresas. Você gostaria de explorá-lo e analisá-lo sem gastar horas do seu tempo. Uma boa opção seria criar um chatbot para tirar qualquer dúvida que você possa ter sobre os documentos — para evitar que você tenha que pesquisá-los manualmente.

Por exemplo, você pode perguntar “qual empresa teve os melhores lucros no último trimestre?” - uma pergunta que você normalmente teria que responder pesquisando manualmente em seu conjunto de dados. Ao usar um chatbot treinado com seus dados, você pode obter a resposta a essa pergunta em questão de segundos.

Para começar a usar seu próprio chatbot, primeiro você precisa acessar a API OpenAI. Para obter sua chave API OpenAI, inscreva-se no site OpenAI. Em seguida, clique no ícone do seu perfil localizado no canto superior direito da página inicial, selecioneVer chaves de APIe clique emCriar nova chave secretapara gerar uma nova chave de API.

Para este tutorial, usarei a página da Wikipedia sobre computadores para criar um chatbot simples que pode responder a qualquer pergunta geral sobre computadores e sua história.

Você pode baixar o conjunto de dados em formato de texto no repositório GitHub deste artigo.

Crie uma nova pasta onde você fará seu chatbot. Em seguida, crie uma pasta chamada chatbot_docs dentro da pasta do projeto e cole o arquivo do conjunto de dados nessa pasta. (O nome da pasta não importa, mas para este tutorial é muito mais fácil nomeá-la como chatbot_docs.)

Depois de ter sua chave de API e arquivo de conjunto de dados, você pode começar com o código real.

Vá para a pasta do seu projeto e crie um arquivo Python vazio dentro da nova pasta do projeto.

Depois de fazer isso, baixe as bibliotecas que usaremos executando o seguinte em seu terminal:

Finalmente, depois de instalar todas as bibliotecas necessárias, cole este código Python do nosso repositório em seu arquivo Python.

Para este tutorial, estou usando o modelo OpenAI gpt-3.5-turbo, por ser o mais rápido e o mais econômico. Como você deve ter notado se olhou o código, defini a temperatura do chatbot para 0. Fiz isso para tornar o chatbot o mais factualmente preciso possível. Otemperatura O parâmetro determina a criatividade do chatbot, onde uma temperatura de 0 significa que o chatbot é sempre factualmente preciso e uma temperatura de 1 significa que o chatbot tem total liberdade para inventar respostas e detalhes por uma questão de criatividade, mesmo que sejam não é preciso. Quanto mais alta a temperatura, mais criativo e menos preciso é o chatbot.

Ao longo deste código, menciono a palavra “embeddings”. É exatamente nisso que o texto do seu documento da Wikipedia é transformado para ser compreendido e compreendido pelo chatbot. Cada incorporação é uma lista de números que variam de -1 a 1 que associam cada informação de acordo com o quão intimamente ela está relacionada a outra. Caso você esteja se perguntando o que significa text-embedding-ada-002, este é apenas o modelo que está sendo usado para fazer os embeddings, porque é o mais eficiente em termos de custo e tempo.

Este código cria um arquivo CSV de embeddings para cada documento em sua pasta chatbot_docs e, como você só tem um (para os fins deste tutorial), ele cria apenas um arquivo de embeddings. Mas se você tivesse mais documentos, o código criaria um arquivo de incorporação para cada documento. Essa abordagem torna seu chatbot mais escalonável.

Você provavelmente também está se perguntando sobre a parte dos pedaços:

Deixe-me explicar. Este código divide a página da Wikipedia sobre computadores em pedaços de 2.000 caracteres e uma sobreposição de pedaços de 250 caracteres. Quanto maior o tamanho do bloco, maior o contexto do chatbot, mas isso também pode torná-lo mais lento, então escolhi 2.000 como um bom meio-termo entre 0 e 4.096 (o tamanho máximo do bloco) para este tutorial.