Projeto Pandora Agência Propagare

Inteligência Artificial de aprendizado contínuo com tecnologia OpenAI

Servidor VPS
Sistema operacional AlmaLinux 8 64bit

  • 2 Core CPU informações
  • 8 GB de RAM informações
  • 100 GB NVMe Disk Space informações
  • 2 TB de Largura de Banda informações
  • IP Dedicado informações
  • Acesso Root Completo informações
  • Rede de 300 Mb/s

Objetivo:
Criar um inteligência artificial com a tecnologia OpenAI Davinci 003 em um ambiente isolado usando miniconda.

A IA terá o nome de Pandora e seu objetivo é criar um chat muito parecido com o GPT tradicional utilizando flask.

A Pandora deve ser acessada diretamente pelo site “xxxx.com”

Já existe um apontamento DNS tipo A com nome xxxx.com apontando para o nosso servidor.

Todos os recursos não exclusivos para IA devem ser instalados de formar global, todos os recursos pertecentes a IA devem ser instalado dentro de um ambiente virtual usando o conda chamado Pandora.

O ponto de partida é uma instalação nova do AlmaLinux 8 64 bits com cyber panel, ou seja, tudo o que o projeto precisará deverá ser instalado e atualizado. Apos a instalação de qualquer recurso o mesmo deverá ser atualizado.

Abaixo um passo a passo que esta sendo criado e documentado para registros didáticos e consulta.

Preparação do servidor

Essa fase consiste em instalar e atualizar o sistema operacional, o miniconda, o git, o curl, o wget e o nano no seu servidor.

1.1. Atualizar o sistema operacional usando o comando 

				
					sudo dnf update -y
				
			

1.2. Instalar o curl e o wget usando o comando

				
					sudo dnf install curl wget -y
				
			

1.3. Instalar o Python usando o comando

				
					sudo dnf install python3 -y
				
			

1.4. Verificar a versão do Python instalada usando o comando

				
					python3 --version
				
			

1.5. Instalar o mini conda usando o comando 

				
					wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
				
			

1.6. Executar o instalador do mini conda usando o comando

				
					bash Miniconda3-latest-Linux-x86_64.sh
				
			

1.7. Verificar se o mini conda foi instalado corretamente usando o comando

				
					source ~/.bashrc
conda --version
				
			

1.8. Checar atualizações do conda

				
					conda update --all -y
				
			

1.9. Quando precisar desativar o ambiente

				
					conda deactivate
				
			

Essa fase consiste em criar um ambiente virtual chamado pandora com o miniconda, ativar o ambiente, instalar o Python 3.9 e os pacotes necessários para o GPT-4, como o openai, o rpy2, o transformers, etc.

2.0. Quando precisar fechar um ambiente conda:

				
					conda deactivate
				
			

2.1. Criar um ambiente virtual chamado pandora com o miniconda:

				
					conda create -n pandora python=3.9
				
			

2.2. Ativar o ambiente virtual:

				
					conda activate pandora
				
			

2.3 Instalar e atualizar o pacote openai no ambiente virtual: 

				
					pip install openai==0.28

				
			

2.4. Instalar o pacote rpy2 no ambiente virtual: 

				
					conda install rpy2
				
			

2.5. Instalar o pacote transformers no ambiente virtual: 

				
					pip install transformers
				
			

Essa fase consiste em obter acesso à API do Davinci 003 da OpenAI, configurar a sua chave de API e o endpoint do Azure OpenAI Service, inicializar o seu modelo, carregar os pesos do modelo pré-treinado, preparar a configuração do treinamento, ajustar o seu modelo personalizado com o seu conjunto de dados de conversação, iterar e otimizar o seu modelo com a ferramenta GPT Builder da OpenAI.

3.1 Criar arquivo .openai

				
					nano .openai
				
			

3.2 Cole sua chave da seguinte forma salve feche o editor

				
					sk-...
				
			

3.3. Abrir o Arquivo .bashrc para Edição:

				
					nano ~/.bashrc
				
			

3.5. Adicionar a Variável de Ambiente no final do arquivo, salvar e sair

				
					export OPENAI_API_KEY='sk-...'

				
			

3.6 Recarregar o Arquivo .bashrc:

				
					source ~/.bashrc
				
			

3.7. Verificar se a Variável de Ambiente está Definida:

				
					echo $OPENAI_API_KEY
				
			

3.8. Criar arquivo pandora-v1-config.py usando o nano

				
					nano pandora_v1_config.py
				
			

3.9 Copiar o codigo com a sua chave API para o arquivo, apertar ctrl + o para salvar depois ctrl + x para sair

				
					import openai

# Carregar a chave de API do arquivo .openai no mesmo diretório
with open('.openai', 'r') as file:
    openai.api_key = file.read().strip()

# Exemplo de solicitação padrão (Não-Streaming) usando o endpoint de completions
print("----- standard request -----")
completion = openai.Completion.create(
    model="text-davinci-003",  # Substituído pelo modelo Davinci 003
    prompt="Quantos planetas existem no sistema solar?",
    max_tokens=150
)

print(completion.choices[0].text)

# Exemplo de solicitação de Streaming (Opcional)
# Note que o streaming pode não estar disponível para todos os modelos e endpoints
# print("----- streaming request -----")
# stream = openai.Completion.create(
#     model="text-davinci-003",
#     prompt="Como posso utilizar o modelo GPT-3 para melhorar meu serviço de atendimento ao cliente?",
#     max_tokens=150,
#     stream=True,
# )
# for chunk in stream:
#     if not chunk.choices:
#         continue
#     print(chunk.choices[0].delta.content, end="")
# print()

				
			

3.10. Executar seu comando

				
					python pandora_v1_config.py
				
			

Essa fase consiste em acessar o painel de controle do CyberPanel pelo seu navegador, usando o endereço IP do seu servidor e a porta 8090, por exemplo, http://123.456.789.0:8090. Você precisará fornecer o usuário e a senha que você criou durante a instalação do CyberPanel. Depois, você deverá criar um novo site no CyberPanel usando o domínio pandora.agenciapropagare.com e exclua o arquivo index.html em /home/pandora.agenciapropagare.com/public_html/

4.1. Atualize o seu pip e setuptools usando os seguintes comandos:

				
					sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install --upgrade setuptools

				
			

4.2. Instale o módulo ez_setup, que pode ajudar a configurar o seu pacote, usando o seguinte comando:

				
					pip3 install ez_setup

				
			

4.3. Instale as depedencias necessarias para instalar o python globalmente

				
					sudo yum -y groupinstall “Development Tools”
sudo yum -y install gcc openssl-devel bzip2-devel libffi-devel

				
			

4.4. Baixe o tarball do site oficial do Python, usando o seguinte comando:

				
					wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz

				
			

4.5. Extraia e instale o tarball, usando os seguintes comandos:

				
					tar -xf Python-3.9.9.tar.xz
cd Python-3.9.9
./configure
sudo make install

				
			

4.6. Verifique se o Python foi instalado corretamente, usando o seguinte comando:

				
					python3 --version

				
			

4.7. Instalar o Flask e todos os seus recursos no na pasta da sua interface:

				
					pip install Flask

				
			

4.8. Instalar depedencias necessarias

  • Flask: O framework web principal.
  • Flask-Login: Para gerenciar sessões de usuário.
  • Flask-SQLAlchemy: Uma extensão para Flask que adiciona suporte para SQLAlchemy, útil para trabalhar com bancos de dados.
  • Flask-Migrate: Para lidar com migrações de banco de dados SQLAlchemy.
  • Flask-Mail: Para enviar e-mails.
  • Flask-WTF: Para trabalhar com formulários web, incluindo proteção contra CSRF.
  • python-dotenv: Para carregar variáveis de ambiente do arquivo .env, que é útil para configurações.
				
					pip install Flask Flask-Login Flask-SQLAlchemy Flask-Migrate Flask-Mail Flask-WTF python-dotenv Flask-Bcrypt pymysql

				
			

4.9. Adicione a porta 8085 e 5000 no firewall no painel do cyber panel.

4.10. Verifique o status do firewalld:
				
					sudo systemctl status firewalld

				
			
4.11. Abra a porta 8085:
				
					sudo firewall-cmd --permanent --add-port=8085/tcp

				
			
4.12. Recarregue o firewalld:
				
					sudo firewall-cmd --reload

				
			
4.13. Verifique as regras ativas:
				
					sudo firewall-cmd --list-all

				
			

4.14. Crie as pastas e arquivos seguindo essa estrutura

				
					/pandora
│
├── /app
│   ├── /models
│   │   ├── __init__.py
│   │   ├── User.py
│   │   └── Company.py
│   ├── __init__.py
│   └── 
│   └── /routes
│       ├── __init__.py
│       ├── auth.py
│       └── main.py
│
├── /templates
│   ├── login.html
│   └── register.html
│
├── /static
│   ├── /css
│   │   ├── login.css       
│   │   └── register.css
│   │
│   ├── /js
│   │   ├── login.js       
│   │   └── register.js
│   │
│   └── /images
│       └── [imagens aqui]
├──	app.py
└── config.py

				
			

 

 

Histórico da ultima conversa