Configurazione di un reverse proxy OpenAI con NGINX per ChatGPT

Configurazione di un reverse proxy OpenAI con NGINX per ChatGPT

OpenAI, un rinomato leader nella ricerca sull’IA, offre un’API che consente ai programmatori di sfruttare i loro potenti modelli di linguaggio. Questo articolo fornirà una guida passo-passo sulla configurazione di un reverse proxy di OpenAI con NGINX su una macchina Ubuntu 22.04 con un sottodominio e un certificato SSL gratuito di Let’s Encrypt. Questa configurazione vi permette di integrare efficientemente le capacità di IA nelle vostre applicazioni come Janitor AI, Venus AI e altre ancora.

Benefici di un Reverse Proxy di OpenAI

Il reverse proxy di OpenAI, combinato con NGINX, ha alcuni vantaggi elencati di seguito:

  • Prestazioni: Configurando un reverse proxy, è possibile memorizzare nella cache le risposte dell’API di OpenAI, riducendo la latenza e migliorando le prestazioni complessive per gli utenti.
  • Scalabilità: Il reverse proxy agisce come intermediario tra la vostra applicazione e l’API di OpenAI, consentendovi di scalare l’integrazione dell’IA in modo fluido.
  • Sicurezza: Un reverse proxy può aggiungere uno strato extra di sicurezza proteggendo le chiavi API sensibili e proteggendo la vostra infrastruttura di backend da un accesso esterno diretto.

Iniziamo a configurare il reverse proxy di OpenAI con NGINX.

Prerequisiti

  1. Una macchina con una distribuzione Linux con un IP esterno in modo da poter configurare il sottodominio e installare SSL.
  2. Un utente con privilegi di sudo o accesso di root.

Configurazione Iniziale

Iniziate aggiornando i pacchetti all’ultima versione disponibile.

sudo apt update
sudo apt upgrade -y

Installare NGINX per il Reverse Proxy di OpenAI

È possibile installare NGINX facilmente con un singolo comando.

sudo apt install nginx

Verificate l’installazione di NGINX utilizzando il comando seguente.

sudo service nginx status

Vedrete un output dello stato di NGINX (attivo o inattivo).

Configurare il Reverse Proxy di OpenAI con NGINX

Ora dovete eliminare la configurazione predefinita di NGINX fornita con l’installazione di NGINX.

sudo rm -rf /etc/nginx/sites-enabled/default
sudo rm -rf /etc/nginx/sites-available/default

Create una nuova configurazione per il reverse proxy di OpenAI.

Create un nuovo file dentro la directory sites-available di NGINX.

sudo nano /etc/nginx/sites-available/reverse-proxy.conf

Copiate l’intera configurazione elencata di seguito nell’editor.

Assicuratevi di sostituire quelli elencati di seguito.

  • OPENAI_API_KEY con quello ottenuto dalla piattaforma di OpenAI.
  • YOUR_DOMAIN_NAMEcon il vostro nome di dominio.

Premete CTRL + X seguito da ENTER per salvare ed uscire dall’editor.

Abilitate la nuova configurazione di NGINX creata.

Configurare la Cache del Proxy (Opzionale)

È anche possibile configurare la cache per migliorare le prestazioni se necessario. È sufficiente sostituire il codice precedente che abbiamo aggiunto con il seguente.

Abilitare la Configurazione di NGINX per il Reverse Proxy di OpenAI

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

Testate la configurazione di NGINX.

sudo nginx -t

Riavviate NGINX affinché le modifiche abbiano effetto.

Proteggere la Configurazione con un SSL Gratuito

Ora installeremo un SSL gratuito di Let’s Encrypt e proteggeremo le vostre richieste.

Installate Certbot utilizzando il comando seguente.

sudo apt install python3-certbot-nginx

Ora potete installare l’SSL utilizzando il comando certbot.

Assicurati di sostituire il tuo indirizzo email e il nome di dominio con quelli reali.

Importante: Il tuo dominio dovrebbe puntare all’indirizzo IP del tuo server; in caso contrario, l’installazione di SSL fallirà.

sudo certbot --nginx --redirect --no-eff-email --agree-to-tos -m [email protected] -d yourdomain.com

Ora avrai il certificato SSL installato per te.

Verifica il Proxy Inverso di OpenAI con NGINX

Ora hai configurato il tuo server NGINX per funzionare con l’API di OpenAI. Per testare se funziona, puoi formare l’URL con v1/chat/completions.

Di seguito sono elencati alcuni degli endpoint.

  • POST /v1/chat/completions
  • POST /v1/completions
  • POST /v1/edits
  • POST /v1/embeddings
  • POST /v1/moderations
  • POST /v1/answers

Se fai richieste all’endpoint richiesto, otterrai la risposta desiderata.

Conclusioni

Ecco fatto! Hai configurato con successo un proxy inverso di OpenAI API usando NGINX su Ubuntu 22.04. Hai anche installato e configurato SSL per gestire misure di sicurezza per la protezione della tua chiave API e delle richieste.