Views: 361



In questo articolo spiegheremo come evitare il blocco di open AI attraverso un proxy senza la necessità di dover agganciare una VPN a tutte le connessioni del pc, ma semplicemente mandando le richieste ad un proxy.

Introduzione

OpenAI è una delle società leader nell’intelligenza artificiale e offre diverse API che consentono di accedere a modelli di deep learning avanzati. Una di queste API è l’API di completamento del prompt di OpenAI, che può essere utilizzata per generare testo continuando un prompt dato in input. In questo articolo, vedremo come utilizzare l’API di completamento del prompt di OpenAI con un proxy web per instradare la richiesta da una regione accessibile da OpenAI.

Prerequisiti per evitare il blocco con le API

Prima di iniziare, assicurati di avere i seguenti prerequisiti:

  • Un account OpenAI con una chiave API valida
  • Conoscenza di base di Node.js e JavaScript
  • Un proxy web a pagamento disponibile online
  • Una volta ottenute le credenziali e le informazioni del proxy, è possibile procedere con la preparazione dell’ambiente e l’implementazione del codice.

Preparazione dell’ambiente per evitare il blocco di con le API

Per utilizzare l’API di completamento del prompt di OpenAI con un proxy web, avrai bisogno di un server Node.js. Puoi installare Node.js dal sito web ufficiale o utilizzare un servizio di hosting come Heroku.

Una volta installato Node.js, crea una nuova cartella per il tuo progetto e apri il terminale in questa cartella. Quindi, esegui il comando npm init per creare un nuovo file package.json. Segui le istruzioni sul terminale per configurare il tuo progetto e creare il file package.json.

Successivamente, installa le seguenti librerie:

  • express: una libreria Node.js per creare un server web
  • axios: una libreria per effettuare richieste HTTP

Eseguire il comando seguente per installare le librerie:
####################################

npm install express axios --

############################################

Implementazione del codice per evitare il blocco

Una volta installate le librerie, puoi creare un nuovo file app.js nella tua cartella di progetto e iniziare ad implementare il codice.

Innanzitutto, importa le librerie express e axios e crea un’istanza dell’app Express.
############################################

const express = require('express');
const axios = require('axios');

const app = express();

############################################
Quindi, imposta le credenziali dell’API di Open AI e l’URL del proxy web a pagamento.
############################################

const openaiApiKey = '[API key di OpenAI]';
const proxyUrl = '[URL del proxy web a pagamento]';
const proxyUsername = '[Nome utente del proxy]';
const proxyPassword = '[Password del proxy]';

############################################
Ora, configura il middleware di analisi del corpo della richiesta per analizzare i dati JSON inviati tramite la richiesta.
############################################

app.use(express.json());
############################################

Successivamente, crea un API endpoint POST per la richiesta di completamento del prompt.

############################################

app.post('/completions', async (req, res) => {
try {
const { prompt, temperature, max_tokens } = req.body;    
const response = await axios.post('https://api.openai.com/v1/engines/davinci-codex/completions', {
        prompt,
        temperature,
        max_tokens,
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${openaiApiKey}`,
        },
        proxy: {
            host: proxyUrl,
            port: 80,
            auth: {
                username: proxyUsername,
                password: proxyPassword
            }
        },
    });

    res.send(response.data);
} catch (error) {
    console.error(error);
    res.status(500).send('Internal server error');
}
});

############################################

ENDOPOINT delle richieste

In questo endpoint, estraiamo il prompt, la temperatura e il numero massimo di token dalla richiesta, e inviamo una richiesta POST all’API di OpenAI utilizzando la libreria axios.

Passiamo anche gli header della richiesta e il proxy che desideriamo utilizzare come opzioni nella richiesta.

Infine, restituiamo la risposta dall’API di OpenAI come risposta alla richiesta POST.

Infine, avvia il server su una porta specifica utilizzando il metodo listen di Express.
############################################

const port = 3002;

app.listen(port, () => {
console.log(Server running on port ${port});
});

############################################

Il codice completo

il codice completo per app.jsper app.js sarà simile a questo:
############################################

const express = require('express');
const axios = require('axios');

const app = express();
const port = 3002;

const openaiApiKey = '[API key di OpenAI]';
const proxyUrl = '[URL del proxy web a pagamento]';
const proxyUsername = '[Nome utente del proxy]';
const proxyPassword = '[Password del proxy]';

app.use(express.json());

app.post('/completions', async (req, res) => {
    try {
        const { prompt, temperature, max_tokens } = req.body;

        const response = await axios.post('https://api.openai.com/v1/engines/davinci-codex/completions', {
            prompt,
            temperature,
            max_tokens,
        }, {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${openaiApiKey}`,
            },
            proxy: {
                host: proxyUrl,
                port: 80,
                auth: {
                    username: proxy
                    const express = require('express');
const axios = require('axios');

const app = express();
const port = 3002;

const openaiApiKey = '[API key di OpenAI]';
const proxyUrl = '[URL del proxy web a pagamento]';
const proxyUsername = '[Nome utente del proxy]';
const proxyPassword = '[Password del proxy]';

app.use(express.json());

app.post('/completions', async (req, res) => {
    try {
        const { prompt, temperature, max_tokens } = req.body;

        const response = await axios.post('https://api.openai.com/v1/engines/davinci-codex/completions', {
            prompt,
            temperature,
            max_tokens,
        }, {
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${openaiApiKey}`,
            },
            proxy: {
                host: proxyUrl,
                port: 80,
                auth: {
                    username: proxy
                    password: proxyPassword
}
},
});
    res.send(response.data);
} catch (error) {
    console.error(error);
    res.status(500).send('Internal server error');
}
});

app.listen(port, () => {
console.log(Server running on port ${port});
});


Utilizzo dell’applicazione per implementazione codice

Una volta implementato il codice, puoi eseguire il server Node.js eseguendo il comando node app.js nella cartella del progetto. Il server verrà avviato sulla porta specificata (in questo caso, la porta 3002).

Successivamente, puoi accedere alla tua applicazione nel browser all’indirizzo http://localhost:3002. La pagina web mostrerà un modulo di input per il prompt, la temperatura e il numero massimo di token. Quando invii il modulo, verrà effettuata una richiesta POST all’endpoint /completions del server Node.js e verrà visualizzato il completamento del prompt nella pagina web.

In questo articolo, abbiamo visto come utilizzare l’API di completamento del prompt di OpenAI con un proxy web per instradare la richiesta da una regione accessibile da OpenAI. Abbiamo utilizzato Node.js e Express.js per creare un server web e la libreria axios per effettuare richieste HTTP. Speriamo che questo articolo ti abbia aiutato a comprendere come utilizzare l’API di completamento del prompt di OpenAI con un proxy web e che tu possa utilizzare queste conoscenze per creare applicazioni intelligenti avanzate.

Se vuoi utilizzare questo codice per il tuo progetto, assicurati di aggiornare le credenziali e l’URL del proxy web a pagamento con le tue informazioni. Inoltre, puoi personalizzare la pagina HTML e il codice JavaScript per soddisfare le esigenze specifiche del tuo progetto.

Inoltre, se non hai ancora un proxy web a pagamento, assicurati di scegliere un servizio affidabile che offra una buona velocità e sicurezza. Ci sono molti servizi di proxy web disponibili online, quindi prenditi il tempo di fare la ricerca e scegliere quello giusto per il tuo progetto.

Infine, se desideri ottimizzare il tuo progetto per i motori di ricerca, assicurati di utilizzare le tecniche di SEO appropriate. Ad esempio, assicurati che il tuo sito web sia facile da navigare, utilizza le parole chiave appropriate e fornisce un contenuto di alta qualità e rilevante per gli utenti. In questo modo, puoi migliorare la visibilità del tuo sito web nei motori di ricerca e attirare più traffico.

  1. Sezione sui proxy web

I proxy web sono server intermediari che inoltrano le richieste di un client a un server di destinazione. Ci sono molte ragioni per utilizzare un proxy web, come proteggere la privacy degli utenti, migliorare le prestazioni della rete e bypassare le restrizioni geografiche.

Quando si utilizza un proxy web con l’API di completamento del prompt di OpenAI, il proxy agisce come intermediario tra il client e il server OpenAI. Invece di inviare direttamente la richiesta all’API di OpenAI, il client invia la richiesta al proxy web, che a sua volta inoltra la richiesta all’API di OpenAI.

Il proxy web può essere utilizzato per mascherare l’indirizzo IP del client e nascondere la posizione geografica del client. Questo è utile se si desidera accedere all’API di OpenAI da una regione non supportata o se si desidera evitare eventuali limitazioni regionali imposte dall’API di OpenAI.

  1. Esempio di creazione di un proxy web con AWS o DigitalOcean

Per creare un proxy web con AWS, è possibile utilizzare il servizio Amazon Elastic Compute Cloud (EC2) per creare una macchina virtuale e configurare un server proxy su di essa. È possibile utilizzare strumenti come Squid o Nginx per configurare il server proxy.

Per creare un proxy web con DigitalOcean, è possibile utilizzare il servizio Droplets per creare una macchina virtuale e configurare un server proxy su di essa. È possibile utilizzare strumenti come Squid o Nginx per configurare il server proxy.

  1. Sezione sulle limitazioni dell’utilizzo di un proxy web

Ci sono alcune limitazioni da tenere in considerazione quando si utilizza un proxy web con l’API di completamento del prompt di OpenAI. Ad esempio:

  • Il proxy web potrebbe rallentare la velocità di elaborazione delle richieste, poiché deve inoltrare la richiesta al server di destinazione.
  • Il proxy web potrebbe causare problemi di sicurezza, poiché potrebbe esporre le informazioni dell’utente a terze parti indesiderate.
  • Il proxy web potrebbe essere meno affidabile rispetto all’API di OpenAI, poiché potrebbe essere soggetto a problemi di connessione o di manutenzione.

Per mitigare questi problemi, assicurati di scegliere un proxy web affidabile e di configurarlo correttamente per garantire la sicurezza e la velocità delle richieste.

  1. Esempio di utilizzo dell’API di completamento del prompt di OpenAI in un’applicazione reale

Un esempio di utilizzo dell’API di completamento del prompt di OpenAI con un proxy web in un’applicazione reale potrebbe essere la creazione di un chatbot intelligente. Ad esempio, il chatbot potrebbe aiutare gli utenti a rispondere alle domande comuni o fornire suggerimenti basati sui dati di input dell’utente.

Per creare un chatbot intelligente, è possibile utilizzare il framework di sviluppo delle conversazioni come Dialogflow o Botpress e integrarlo con l’API di completamento del prompt di Open

AI utilizzando un proxy web. In questo modo, il chatbot può accedere all’API di OpenAI e fornire risposte intelligenti ai clienti.

Ad esempio, si potrebbe creare un chatbot che fornisce suggerimenti per la pianificazione dei pasti in base ai gusti dell’utente. Il chatbot potrebbe richiedere all’utente di inserire alcune informazioni sui loro gusti alimentari e sulle restrizioni dietetiche, quindi utilizzare l’API di completamento del prompt di OpenAI per generare suggerimenti per i pasti. Il chatbot potrebbe quindi restituire i risultati all’utente e consentire loro di selezionare le opzioni preferite.

  1. Sezione sulla fatturazione dell’API di completamento del prompt di OpenAI e come tenere traccia dei costi

L’API di completamento del prompt di OpenAI è soggetta a una tariffazione basata sull’uso. Ciò significa che verranno addebitati solo i costi effettivi delle richieste API effettuate. Tuttavia, i costi possono variare in base al numero di richieste effettuate e al numero di token generati.

Per tenere traccia dei costi dell’API di completamento del prompt di OpenAI, è possibile utilizzare il pannello di controllo OpenAI per monitorare le richieste e i costi. Inoltre, è possibile impostare limiti di utilizzo e avvisi di fatturazione per evitare di superare il budget.

In generale, utilizzare l’API di completamento del prompt di OpenAI con un proxy web può essere utile per accedere all’API da regioni non supportate o per evitare limitazioni regionali. Tuttavia, è importante scegliere un proxy web affidabile e configurarlo correttamente per garantire la sicurezza e la velocità delle richieste.
Continua a seguire il nostro sito per altre implementazioni su chat gpt