Um protótipo de Blog simples onde os artigos são escritos por inteligência artificial.
Com a ajuda da API do ChatGPT, temos a capacidade de criar prompts sobre praticamente qualquer tópico. Com isso em mente, podemos solicitar que ele crie diversos artigos abordando diferentes temas e palavras-chave.
Uma vez que tenhamos esses artigos gerados, podemos armazená-los em um banco de dados, facilitando o planejamento de layouts e a renderização em todo o nosso site. É uma maneira eficaz de enriquecer o conteúdo e proporcionar uma experiência mais rica para nossos visitantes.
- Para o Back-End - Node.js.
- Para o Front-End - Pug.js/Jade Como Framework de Renderização.
- Para o Banco de Dados - Postgres.
- Para a busca de imagem - Bing Image Api.
- Para a geração de artigos - Open AI API.
É bem simples, primeiro clone este repositório.
git clone https://github.com/Dyoniso/papel-branco
Após clonar, entre no diretório e instale todos os módulos contidos no package.json
.
npm install .
Crie um arquivo .env
para a configuração do projeto. Siga o Modelo:
#HTTP_SERVER
SERVER_PORT=4001 # Porta padrão do Servidor.
SERVER_HOST=127.0.0.1 # Host padrão do Servidor.
SITE_URL=https://papelbranco.com.br # Domínio ou Url do Site.
#IA CONFIG
ENABLE_SYNC=true # Habilitar sicronização de artigos quando iniciar o Servidor.
ENABLE_SAVE_FILES=false # Salvar arquivos obtidos pelo Bing no servidor. Caso negativo é utilizado a url de origem do arquivo.
#DATABASE
# Credenciais para a conexão do Postgres
DB_USER=#DB_USER#
DB_PASSWORD=#DB_PASS#
DB_HOST=#DB_HOST#
DB_PORT=5432
DB_DATABASE=Overnews
#API
PRICIPAL_THEME='' # Tema principal que a IA usará como guia. Exemplo: Caso o tema seja Programação, a IA escreverá artigos relacionados ao mesmo.
QTD_ARTICLES=10 # Quantidade de artigos por sicronização.
QTD_KEYWORDS=5 # Quantidade de palavras chaves por artigos.
#OPENAPI
OPENAI_API_KEY=#OPEN_API_KEY# # Chave API Open AI
#BING IMAGE API
BING_SUBSCRIPTION_KEY=#BING_IMAGE_API_KEY# # Chave API Bing Search Image
#CRON
CRON_SYNC_AI = 0 # Cronômetro de sicronização padrão. Default: Toda meia noite. Suportado 0 à 24 horas
- No Banco Crie um novo Database com o Nome:
Overnews
- No Banco instale a extensão:
fuzzystrmatch
CREATE EXTENSION fuzzystrmatch
- Entre na pasta:
/api/database/backup
e restaure o Database utilizando o arquivo11-02-2023.sql
Caso nessesário, utilize o comando.pg_restore -d Overnews 11-02-2023.sql
Quase, lá!
Inicie o servidor Node com o comando node app.js
, e verifique nos logs se a conexão do banco, open-api, bing-image-api foi bem sucedida.
Sem mais, aproveite o projeto!
- OK Simplificação dos Jobs, nesta nova atualização, terá um job por dia onde o mesmo irá iniciar a sicronização de artigos
- OK Configuração de Artigos: Agora terá apenas uma configuração onde definirá o numero maximo de artigos
- OK As categorias por agora será um wordlist de palavras aleatórias, para evitar que artigos sejam genericos e sem graça.
- OK Limitador de carga para evitar o erro 429
- OK Criar uma opção onde as imagens não sejam amazenadas no servidor
- OK Criar uma opção onde as imagens não sejam amazenadas no servidor
- OK Otimizar imagens na página home
- OK Otimizar sistema de busca de imagens. As imagens do artigos tem quer mais acertivos
- OK Mudar sistema de KeyWords, Deixar as palavras chaves mais acertivas para as imagens
- OK Otimizar Layout da aplicação.
- OK Criar logo para a aplicação.
- OK Otimizar tema da aplicação.
- OK Desenvolver um layout único para celular.