Como treinar um AI Chatbot com base de conhecimento personalizada usando a API ChatGPT

Em nosso artigo anterior, demonstramos como criar um chatbot AI com a API ChatGPT e atribuir uma função para personalizá-lo. Mas e se você quiser treinar a IA com seus próprios dados? Por exemplo, você pode ter um livro, dados financeiros ou um grande conjunto de bancos de dados e deseja pesquisá-los com facilidade. Neste artigo, trazemos a você um tutorial fácil de seguir sobre como treinar um chatbot AI com sua base de conhecimento personalizada com LangChain e ChatGPT API. Estamos implantando LangChain, GPT Index e outras bibliotecas poderosas para treinar o chatbot de IA usando o Large Language Model (LLM) da OpenAI. Por falar nisso, vamos verificar como treinar e criar um AI Chatbot usando seu próprio conjunto de dados.

Treine um AI Chatbot com base de conhecimento personalizada usando ChatGPT API, LangChain e GPT Index (2023)

Neste artigo, explicamos com mais detalhes as etapas para ensinar o chatbot AI com seus próprios dados. Desde a configuração de ferramentas e software até o treinamento do modelo de IA, incluímos todas as instruções em uma linguagem fácil de entender. É altamente recomendável seguir as instruções de cima para baixo sem pular nenhuma parte.

Pontos notáveis ​​antes de treinar IA com seus próprios dados

1. Você pode treinar o AI chatbot em qualquer plataforma, seja Windows, macOS, Linux ou ChromeOS. Neste artigo, estou usando o Windows 11, mas as etapas são quase idênticas para outras plataformas.

2. O guia é destinado a usuários em geral e as instruções são explicadas em linguagem simples. Portanto, mesmo que você tenha um conhecimento superficial de computadores e não saiba codificar, pode treinar e criar facilmente um chatbot de IA de perguntas e respostas em alguns minutos. Se você seguiu nosso artigo anterior sobre o bot ChatGPT, seria ainda mais fácil entender o processo.

3. Como vamos treinar um AI Chatbot com base em nossos próprios dados, é recomendável usar um computador capaz com uma boa CPU e GPU. No entanto, você pode usar qualquer computador de baixo custo para fins de teste e funcionará sem problemas. Usei um Chromebook para treinar o modelo AI usando um livro com 100 páginas (~100MB). No entanto, se você deseja treinar um grande conjunto de dados em milhares de páginas, é altamente recomendável usar um computador poderoso.

4. Por fim, o conjunto de dados deve estar em inglês para obter os melhores resultados, mas, de acordo com o OpenAI, também funcionará com idiomas internacionais populares como francês, espanhol, alemão etc. linguagem.

Configurar o ambiente de software para treinar um AI Chatbot

Assim como nosso artigo anterior, você deve saber que o Python e o Pip devem ser instalados junto com várias bibliotecas. Neste artigo, vamos configurar tudo do zero para que novos usuários também possam entender o processo de configuração. Para lhe dar uma breve ideia, vamos instalar o Python e o Pip. Depois disso, instalaremos as bibliotecas Python, que incluem OpenAI, GPT Index, Gradio e PyPDF2. Ao longo do processo, você aprenderá o que cada biblioteca faz. Novamente, não se preocupe com o processo de instalação, é bastante simples. Nessa nota, vamos pular direto.

  Como usar o aplicativo Find My para pesquisar etiquetas aéreas perto de você

Instalar Python

1. Primeiro, você precisa instalar o Python (Pip) no seu computador. Abrir esse link e baixe o arquivo de configuração para sua plataforma.

2. Em seguida, execute o arquivo de instalação e certifique-se de ativar a caixa de seleção “Adicionar Python.exe ao PATH”. Este é um passo extremamente importante. Depois disso, clique em “Instalar agora” e siga as etapas usuais para instalar o Python.

3. Para verificar se o Python está instalado corretamente, abra o Terminal em seu computador. Estou usando o Terminal do Windows no Windows, mas você também pode usar o Prompt de Comando. Uma vez aqui, execute o comando abaixo e ele exibirá a versão do Python. No Linux e macOS, pode ser necessário usar python3 –version em vez de python –version.

python --version

Atualizar Pip

Quando você instala o Python, o Pip é instalado simultaneamente em seu sistema. Então, vamos atualizá-lo para a versão mais recente. Para quem não sabe, Pip é o gerenciador de pacotes do Python. Basicamente, permite instalar milhares de bibliotecas Python a partir do Terminal. Com o Pip, podemos instalar as bibliotecas OpenAI, gpt_index, gradio e PyPDF2. Aqui estão os passos a seguir.

1. Abra o Terminal de sua escolha em seu computador. Estou usando o Terminal do Windows, mas você também pode usar o Prompt de Comando. Agora, execute o comando abaixo para atualizar o Pip. Novamente, você pode ter que usar python3 e pip3 no Linux e macOS.

python -m pip install -U pip

2. Para verificar se o Pip foi instalado corretamente, execute o comando abaixo. Ele produzirá o número da versão. Se você receber algum erro, siga nosso guia dedicado sobre como instalar o Pip no Windows para corrigir problemas relacionados ao PATH.

pip --version

Instale as bibliotecas OpenAI, GPT Index, PyPDF2 e Gradio

Depois de configurar o Python e o Pip, é hora de instalar as bibliotecas essenciais que nos ajudarão a treinar um chatbot de IA com uma base de conhecimento personalizada. Aqui estão os passos a seguir.

1. Abra o Terminal e execute o comando abaixo para instalar a biblioteca OpenAI. Vamos usá-lo como o LLM (Large language model) para treinar e criar um chatbot de IA. E também importaremos a estrutura LangChain da OpenAI. Observe que usuários de Linux e macOS podem ter que usar pip3 em vez de pip.

pip install openai

2. Em seguida, vamos instalar o GPT Index, também chamado de LlamaIndex. Ele permite que o LLM se conecte aos dados externos que são nossa base de conhecimento.

pip install gpt_index

3. Depois disso, instale o PyPDF2 para analisar os arquivos PDF. Se você deseja alimentar seus dados em formato PDF, esta biblioteca ajudará o programa a ler os dados sem esforço.

pip install PyPDF2

4. Finalmente, instale a biblioteca Gradio. Isso se destina a criar uma interface do usuário simples para interagir com o chatbot AI treinado. Agora terminamos de instalar todas as bibliotecas necessárias para treinar um chatbot de IA.

pip install gradio

Baixe um editor de código

Por fim, precisamos de um editor de código para editar parte do código. No Windows, eu recomendaria o Notepad++ (Download). Basta baixar e instalar o programa através do link em anexo. Você também pode usar o VS Code em qualquer plataforma se estiver familiarizado com IDEs poderosos. Além do VS Code, você pode instalar o Sublime Text (Download) no macOS e Linux.

Para ChromeOS, você pode usar o excelente aplicativo Caret (Download) para editar o código. Estamos quase terminando de configurar o ambiente de software e é hora de obter a chave da API OpenAI.

Obtenha a chave da API OpenAI gratuitamente

Agora, para treinar e criar um chatbot de IA com base em uma base de conhecimento personalizada, precisamos obter uma chave de API da OpenAI. A chave de API permitirá que você use o modelo da OpenAI como o LLM para estudar seus dados personalizados e fazer inferências. Atualmente, a OpenAI está oferecendo chaves de API gratuitas com $ 5 de crédito gratuito nos primeiros três meses para novos usuários. Se você criou sua conta OpenAI anteriormente, pode ter $ 18 de crédito grátis em sua conta. Depois que o crédito gratuito acabar, você terá que pagar pelo acesso à API. Mas, por enquanto, está disponível para todos os usuários gratuitamente.

  7 maneiras de corrigi-lo

1. Vá para platform.openai.com/signup e crie uma conta gratuita. Se você já possui uma conta OpenAI, basta fazer o login.

2. Em seguida, clique em seu perfil no canto superior direito e selecione “Exibir chaves de API” no menu suspenso.

3. Aqui, clique em “Criar nova chave secreta” e copie a chave API. Observe que você não pode copiar ou visualizar toda a chave de API posteriormente. Portanto, é altamente recomendável copiar e colar a chave API em um arquivo do bloco de notas imediatamente.

4. Além disso, não compartilhe ou exiba a chave API em público. É uma chave privada destinada apenas para acesso à sua conta. Você também pode excluir chaves de API e criar várias chaves privadas (até cinco).

Treine e crie um chatbot de IA com base de conhecimento personalizada

Agora que configuramos o ambiente de software e obtivemos a chave API do OpenAI, vamos treinar o chatbot AI. Aqui, usaremos o modelo “text-davinci-003” em vez do modelo “gpt-3.5-turbo” mais recente porque o Davinci funciona muito melhor para completar texto. Se você quiser, pode muito bem mudar o modelo para Turbo para reduzir o custo. Com isso fora do caminho, vamos pular para as instruções.

Adicione seus documentos para treinar o AI Chatbot

1. Primeiro, crie uma nova pasta chamada docs em um local acessível como a área de trabalho. Você pode escolher outro local também de acordo com sua preferência. No entanto, mantenha o nome da pasta docs.

2. Em seguida, mova os documentos que deseja usar para treinar o AI dentro da pasta “docs”. Você pode adicionar vários arquivos de texto ou PDF (mesmo os digitalizados). Se você tiver uma tabela grande no Excel, poderá importá-la como um arquivo CSV ou PDF e adicioná-la à pasta “docs”. Você pode até adicionar arquivos de banco de dados SQL, conforme explicado neste Tweet de IA da Langchain. Não tentei muitos formatos de arquivo além dos mencionados, mas você pode adicionar e verificar por conta própria. Para este artigo, estou adicionando um dos meus artigos sobre NFT em formato PDF.

Observação: Se você tiver um documento grande, levará mais tempo para processar os dados, dependendo de sua CPU e GPU. Além disso, ele usará rapidamente seus tokens OpenAI gratuitos. Então, no começo, comece com um pequeno documento (30-50 páginas ou arquivos <100 MB) para entender o processo.

Deixe o código pronto

1. Agora, inicie o Notepad++ (ou o editor de código de sua escolha) e cole o código abaixo em um novo arquivo. Mais uma vez, recebi grande ajuda de arrrs no Google Colab e ajustou o código para torná-lo compatível com arquivos PDF e criar uma interface Gradio na parte superior.

from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os

os.environ["OPENAI_API_KEY"] = 'Your API Key'

def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600

    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))

    documents = SimpleDirectoryReader(directory_path).load_data()

    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)

    index.save_to_disk('index.json')

    return index

def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response

iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
                     outputs="text",
                     title="Custom-trained AI Chatbot")

index = construct_index("docs")
iface.launch(share=True)

2. É assim que o código se parece no editor de código.

3. Em seguida, clique em “Arquivo” no menu superior e selecione “Salvar como…” no menu suspenso.

  Como alterar o eixo Y no Excel

4. Depois disso, defina o nome do arquivo app.py e altere “Salvar como tipo” para “Todos os tipos” no menu suspenso. Em seguida, salve o arquivo no local onde você criou a pasta “docs” (no meu caso, é a área de trabalho). Você pode alterar o nome ao seu gosto, mas certifique-se de que .py seja anexado.

5. Certifique-se de que a pasta “docs” e “app.py” estejam no mesmo local, conforme mostrado na captura de tela abaixo. O arquivo “app.py” estará fora da pasta “docs” e não dentro.

6. Volte ao código novamente no Notepad++. Aqui, substitua sua chave de API pela gerada no site da OpenAI acima.

7. Finalmente, pressione “Ctrl + S” para salvar o código. Agora você está pronto para executar o código.

Crie chatGPT AI Bot com base de conhecimento personalizada

1. Primeiro, abra o Terminal e execute o comando abaixo para ir para a área de trabalho. É onde salvei a pasta “docs” e o arquivo “app.py”. Se você salvou os dois itens em outro local, vá para esse local por meio do Terminal.

cd Desktop

2. Agora, execute o comando abaixo. Usuários de Linux e macOS podem ter que usar python3.

python app.py

3. Agora, ele começará a analisar o documento usando o modelo OpenAI LLM e iniciará a indexação das informações. Dependendo do tamanho do arquivo e da capacidade do seu computador, levará algum tempo para processar o documento. Feito isso, um arquivo “index.json” será criado na área de trabalho. Se o Terminal não estiver mostrando nenhuma saída, não se preocupe, ele ainda pode estar processando os dados. Para sua informação, leva cerca de 10 segundos para processar um documento de 30 MB.

4. Assim que o LLM processar os dados, você receberá alguns avisos que podem ser ignorados com segurança. Por fim, na parte inferior, você encontrará uma URL local. Copie.

5. Agora, cole o URL copiado no navegador da Web e pronto. Seu chatbot AI baseado em ChatGPT treinado de forma personalizada está pronto. Para começar, você pode perguntar ao AI chatbot sobre o que é o documento.

6. Você pode fazer mais perguntas e o bot ChatGPT responderá a partir dos dados que você forneceu ao AI. Portanto, é assim que você pode criar um chatbot de IA personalizado com seu próprio conjunto de dados. Agora você pode treinar e criar um chatbot de IA com base em qualquer tipo de informação que desejar. As possibilidades são infinitas.

7. Você também pode copiar o URL público e compartilhá-lo com seus amigos e familiares. O link ficará ativo por 72 horas, mas você também precisa manter o computador ligado, pois a instância do servidor está em execução no computador.

8. Para parar o chatbot AI personalizado, pressione “Ctrl + C” na janela do Terminal. Se não funcionar, pressione “Ctrl + C” novamente.

9. Para reiniciar o servidor AI chatbot, simplesmente vá para a área de trabalho novamente e execute o comando abaixo. Lembre-se de que a URL local será a mesma, mas a URL pública mudará após cada reinicialização do servidor.

python app.py

10. Se você deseja treinar o AI chatbot com novos dados, exclua os arquivos dentro da pasta “docs” e adicione novos. Você também pode adicionar vários arquivos, mas alimentar informações sobre o mesmo assunto, caso contrário, poderá obter uma resposta incoerente.

11. Agora, execute o código novamente no Terminal, e ele criará um novo arquivo “index.json”. Aqui, o antigo arquivo “index.json” será substituído automaticamente.

python app.py

12. Para acompanhar seus tokens, acesse o site online da OpenAI painel e verifique quanto crédito livre resta.

13. Por fim, você não precisa tocar no código, a menos que queira alterar a chave API ou o modelo OpenAI para maior personalização.

Crie um chatbot de IA personalizado usando seus próprios dados

Portanto, é assim que você pode treinar um chatbot de IA com uma base de conhecimento personalizada. Usei esse código para treinar a IA em livros médicos, artigos, tabelas de dados e relatórios de arquivos antigos, e funcionou perfeitamente. Então vá em frente e crie seu próprio chatbot de IA usando o Large Language Model e o ChatGPY da OpenAI. De qualquer forma, isso é tudo de nós. Se você está procurando as melhores alternativas do ChatGPT, acesse nosso artigo vinculado. E para usar o ChatGPT no seu Apple Watch, siga nosso tutorial detalhado. Por fim, se você estiver enfrentando algum tipo de problema, informe-nos na seção de comentários abaixo. Nós definitivamente tentaremos ajudá-lo.