Atualização (novembro de 2023): nova versão GPT-3.5-Turbo será preferida. Adicionei uma nova versão com suporte à API Chat Completion (testada com GPT-3.5-Turbo). Subpastas apropriadas ( gpt-3
, gpt-35-turbo
) agora contêm a versão original e a nova. Exceto pela mudança de modelo e ajustes correspondentes, eles são os mesmos, mas gpt-35-turbo
é o preferido, porque a conclusão do GPT-3 está obsoleta.
Braindump é um protótipo de aplicativo para fazer anotações e convertê-las em um banco de dados que pode ser consultado mais facilmente. Basta digitar o que está em sua mente e o aplicativo classifica, fatia e armazena adequadamente para uso posterior. Ele foi criado como uma demonstração para mostrar como aproveitar o GPT-3 para criar aplicativos começando com provas de conceito, conforme descrito em meu tutorial Data Science @ Microsoft, "Construindo aplicativos GPT-3 — além do prompt". Você pode usá-lo tanto para seguir o tutorial quanto como ponto de partida para seus próprios estudos e aplicações (por exemplo, reutilizando as funções utilitárias e as estruturas gerais do programa em seus próprios e diferentes problemas).
É um aplicativo Python simples que aproveita o Streamlit para fornecer uma interface web. Para realmente chamar o modelo GPT-3, você precisa ter uma chave de API OpenAI funcional. No momento em que este artigo foi escrito, depois de criar sua conta, você receberá alguns créditos gratuitos que deverão ser suficientes para seguir o tutorial e começar a usar o aplicativo. O aplicativo também deve funcionar com o Azure OpenAI Service em vez da oferta original do OpenAI, embora eu ainda não o tenha testado lá.
Além da aplicação em si, este repositório inclui os estudos, na forma de notebooks Jupyter, que deram origem a ela.
A IU para pesquisa é semelhante a esta:
Para acrescentar fatos, a IU é a seguinte, incluindo uma inspeção manual opcional da interpretação do modelo:
O aplicativo foi testado em Python 3.8 (GPT-3) e 3.10 (GPT-3.5-Turbo). As principais bibliotecas que você precisa são: openai
, streamlit
, pandas
, notebook
, pytest
. Você pode instalá-los manualmente ou seguir o procedimento abaixo para criar um novo ambiente e instalá-los automaticamente. Observe que para a base de código mais antiga você precisará de uma versão mais antiga da biblioteca openai
.
Para executar o aplicativo:
conda create -n braindump_py310 python=3.10
conda activate braindump_py310
requirements.txt
. Você pode fazer isso executando pip install -r requirements.txt
na raiz do projeto. Para a versão original do GPT-3 (obsoleta), use o requirements.gpt3.txt
para obter as dependências mais antigas necessárias para sua operação.OPENAI_API_KEY
.run.gpt3.bat
(versão GPT-3) ou run.gpt35turbo.bat
(versão GPT-3.5-Turbo); no Linux: run.gpt3.sh
(versão GPT-3) ou run.gpt35turbo.sh
(versão GPT-3.5-Turbo).Para executar os estudos:
notebooks/
com seu cliente Jupyter favorito (pessoalmente, eu uso muito o VS Code para isso). O projeto está estruturado da seguinte forma:
notebooks/
: notebooks Jupyter usados para engenharia imediata.src/
: código fonte da aplicação final.src/gpt-3
: fontes para a versão original do GPT-3 (obsoleto).src/gpt-3.5-turbo
: fontes para a versão GPT-3.5-Turbo ( recomendado desde novembro de 2023).data/
: dados armazenados pelo aplicativo.tests/
: testes unitários para a aplicação.tests/gpt-3/
: testes para a versão original do GPT-3 (obsoleto).tests/gpt-3.5-turbo/
: testes para a versão GPT-3.5-Turbo ( recomendado desde novembro de 2023).docs/
: documentação e ativos relacionados. A abordagem é apresentada em detalhes em meu tutorial Data Science @ Microsoft, "Construindo aplicativos GPT-3 - além do prompt". No entanto, deixe-me destacar alguns pontos-chave aqui:
Em termos de fases específicas, é aconselhável o seguinte
Licença MIT
Copyright (c) 2023 Paulo Salem da Silva
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar , publicar, distribuir, sublicenciar e/ou vender cópias do Software e permitir que as pessoas a quem o Software seja fornecido o façam, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão serão incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.