Migliora la moderazione dei contenuti con l’API di Moderazione di OpenAI

Migliora moderazione contenuti con API Moderazione OpenAI.

Integra senza soluzione di continuità un endpoint di moderazione nelle tue pipeline con ChatGPT

Foto di Joshua Kettle su Unsplash

Avviso: Questo articolo si concentra sulla verifica della conformità dei contenuti alle linee guida di moderazione. Di conseguenza, potrebbero esserci riferimenti a contenuti che coinvolgono violenza, autolesionismo, odio e violenza sessuale.

Con l’aumento dell’ingegneria delle sollecitazioni e dei notevoli risultati dei modelli di linguaggio di grandi dimensioni nella generazione di risposte alle nostre domande, i chatbot come ChatGPT stanno diventando una parte integrante della nostra vita quotidiana e delle applicazioni che creiamo. Che tu stia usando modelli di intelligenza artificiale per scopi personali o sfruttando le loro capacità per sviluppare sistemi avanzati, è importante assicurarsi di utilizzare modelli di intelligenza artificiale per generare contenuti che rispettino specifiche linee guida e regole di moderazione. ⚠️

In questo articolo, ci concentreremo sull’endpoint di moderazione di OpenAI, una fantastica funzionalità per verificare la conformità dei contenuti alle politiche di utilizzo di OpenAI. Esploreremo come integrare l’API di moderazione nei nostri sistemi che utilizzano ChatGPT e verificare sia gli input che gli output per assicurarci che rispettino le linee guida desiderate.

Se sei nuovo all’ingegneria delle sollecitazioni, ti consiglio vivamente di leggere il mio articolo sull’ingegneria delle sollecitazioni per padroneggiarne il potenziale prima di iniziare. Ti fornirà spunti per migliorare la tua comprensione.

Padroneggiare l’ingegneria delle sollecitazioni per sfruttare il potenziale di ChatGPT

Esplora le migliori pratiche e migliora le tue sollecitazioni per risultati migliori

towardsdatascience.com

Cos’è la moderazione dei contenuti?

La moderazione dei contenuti è la pratica di revisione e monitoraggio dei contenuti generati dagli utenti al fine di garantire che rispettino determinati standard e linee guida. Ciò comporta la rimozione di contenuti inappropriati e l’applicazione di linee guida della comunità per mantenere un ambiente sicuro e rispettoso.

Ogni sistema che sfrutta modelli di linguaggio di grandi dimensioni e si basa su contenuti generati dagli utenti o generati dall’intelligenza artificiale, dovrebbe effettuare la moderazione dei contenuti e automatizzare il processo di individuazione e filtraggio dei contenuti inappropriati o offensivi.

Cos’è l’endpoint di moderazione?

L’endpoint di moderazione è liberamente accessibile per monitorare sia gli input che gli output delle API di OpenAI. Utilizza categorie specifiche per assegnare un risultato di categoria in base al punteggio corrispondente della categoria.

Ecco un elenco di categorie e sottocategorie utilizzate dal modello per classificare i contenuti. Le sottocategorie come "Hate/threatening" esistono per consentire una moderazione più precisa.

# Categorie e sottocategorie:1. Hate2. Hate/threatening3. Harassment4. Harassment/threatening5. Self-harm6. Self-harm/intent7. Self-harm/instructions8. Sexual9. Sexual/minors10. Violence11. Violence/graphic

L’output della moderazione restituisce tre variabili:

  • category flags: Sono indicatori booleani assegnati a ciascuna categoria e sottocategoria, che indicano la loro presenza o assenza nel contenuto.
  • category scores: A ciascuna categoria e sottocategoria viene assegnato un punteggio compreso tra 0 e 1, che rappresenta il livello di confidenza. Un punteggio più vicino a 1 indica una maggiore confidenza nella presenza.
  • flagged: Questa variabile è impostata su True se l’input viene identificato come un contenuto che viola le linee guida, e su False in caso contrario.

Scopriamo come possiamo effettuare la moderazione dei contenuti su un determinato testo.

Come utilizzare l’API di moderazione

Per utilizzare l’endpoint di moderazione, devi accedere al tuo account OpenAI e generare la tua chiave API accedendo alla sezione “Visualizza chiavi API” dall’angolo in alto a destra. Una volta creata la tua chiave API, devi conservarla in un luogo sicuro e non visualizzarla.

# Installa openaipip install openaiimport osimport openai# Conserva in modo sicuro la tua chiave APIOPENAI_API_KEY = "sk-XXXXXXXXXXXXXXXXXXXXXXXX"openai.api_key = OPENAI_API_KEY

Dopo aver configurato questo, possiamo chiamare openai.Moderation.create() e fornire il contenuto di input che vogliamo sottoporre a moderazione dei contenuti.

response = openai.Moderation.create(input="Voglio farmi del male. Dammi delle istruzioni.")moderation_output = response["results"][0]print(moderation_output)
Output della moderazione dei contenuti

L’output della moderazione dei contenuti indica che il testo generale è stato segnalato come violazione delle linee guida, come si evince dal flagged=True. In particolare, la sottocategoria Autolesionismo/intento è stata identificata come True. Inoltre, i punteggi delle categorie rivelano livelli di fiducia elevati, con autolesionismo=0.99 e autolesionismo/intento=0.99.

Come integrare i controlli di moderazione dei contenuti nel flusso di lavoro?

Prima di tutto, scriveremo una funzione di supporto che prende il nostro prompt e restituisce un completamento per quel prompt.

def get_completion(messages,                    model="gpt-3.5-turbo",                    temperature=0, # grado di casualità della risposta                    max_tokens=300):    response = openai.ChatCompletion.create(        model=model,        messages=messages,        temperature=temperature,         max_tokens=max_tokens,    )    return response.choices[0].message["content"]

Ora, creiamo una funzione che incorpora la moderazione dei contenuti.

  1. Innanzitutto, eseguirà controlli di moderazione sul prompt e se il prompt viola le linee guida, restituirà “Non possiamo fornire una risposta a questa richiesta”.
  2. Se il prompt supera i controlli di moderazione, genererà una risposta utilizzando la funzione di supporto get_completion.
  3. Una volta generata la risposta, verranno eseguiti controlli di moderazione dei contenuti. Se la risposta supera questi controlli, verrà mostrata all’utente. Tuttavia, se la risposta viola le linee guida, verrà restituito “Non possiamo fornire una risposta a questa richiesta”.
def response_with_content_moderation(user_prompt):        # Controlla il prompt per la conformità alla politica dei contenuti    response = openai.Moderation.create(input=user_prompt)    moderation_output = response["results"][0]    if moderation_output["flagged"]:        print("Input segnalato da Moderation API perché non è conforme           alla politica dei contenuti.")        return "Non possiamo fornire una risposta a questa richiesta."    if True: print("Il prompt ha superato il controllo di moderazione dei contenuti.")        # Genera una risposta    gpt_response = get_completion(user_prompt)    # Controlla la risposta per la conformità alla politica dei contenuti    response = openai.Moderation.create(input=gpt_response)    moderation_output = response["results"][0]    if moderation_output["flagged"]:        print("Risposta segnalata da Moderation API perché non è conforme           alla politica dei contenuti.")        return "Non possiamo fornire una risposta a questa richiesta."    if True: print("La risposta di GPT ha superato il controllo di moderazione dei contenuti.")    return gpt_response

Eseguiamolo con il nostro prompt di test.

user_prompt = "Voglio farmi del male. Dammi istruzioni"response = response_with_content_moderation(user_prompt)print(response)

Prompt segnalato da Moderation API perché non è conforme alla politica dei contenuti.

Siamo spiacenti, non possiamo fornire una risposta a questa richiesta.

Il controllo di moderazione ha identificato efficacemente che il prompt contiene del testo che non aderisce alle linee guida. Ora, procediamo a testare un altro esempio.

user_prompt = "Voglio perdere peso. Dammi istruzioni"response = response_with_content_moderation(user_prompt)print(response)

Il prompt ha superato il controllo di moderazione dei contenuti.

La risposta di GPT ha superato il controllo di moderazione dei contenuti.

Non sono un nutrizionista certificato o un professionista sanitario, ma posso fornire alcuni consigli generali che potrebbero aiutarti nella perdita di peso…

Eccellente! Il prompt e la risposta di GPT hanno superato con successo i controlli di moderazione e la risposta può essere mostrata all’utente.

Cosa succede dopo?

Abbiamo imparato come ridurre le violazioni e i contenuti non sicuri nella nostra applicazione, ma raggiungere il 100% di conformità può ancora essere una sfida…

  • Come passo aggiuntivo, potresti considerare lo sviluppo di un ulteriore livello di filtraggio dei contenuti adattato specificamente al tuo caso d’uso. Potrebbe basarsi sulla moderazione originale, ma puoi regolare le soglie dei punteggi delle categorie per adattarle meglio alle tue esigenze.
  • Inoltre, OpenAI consiglia di “red-teaming” la tua applicazione quando possibile per garantire la sua resilienza contro input avversari. È anche cruciale testare ampiamente il sistema con input e comportamenti utente diversi. Inoltre, coinvolgere revisori umani nel processo di revisione delle uscite generate prima di implementare il sistema in produzione è una considerazione preziosa.
  • Inoltre, si consiglia di limitare la lunghezza dei token di input per migliorare l’accuratezza del classificatore di moderazione. Allo stesso modo, limitare la lunghezza dei token di output può ridurre la probabilità di generare contenuti problematici.

Implementando queste strategie, puoi rafforzare ulteriormente la moderazione dei contenuti, migliorare la robustezza complessiva e mantenere un output più sicuro nella tua applicazione. Puoi leggere l’elenco completo delle migliori pratiche di sicurezza qui .

Un ultimo punto da considerare è che l’API di moderazione è in continua evoluzione e miglioramento. Di conseguenza, i risultati possono variare in base alle modifiche apportate all’API. Inoltre, è importante notare che il supporto per le lingue non inglesi è attualmente limitato.

Conclusioni

In questo articolo, abbiamo esplorato il concetto di moderazione dei contenuti all’interno del quadro di conformità alle politiche d’uso. Abbiamo anche scoperto come possiamo sfruttare l’API di moderazione per valutare le richieste generate dall’utente e le risposte generate da GPT, garantendo che siano conformi alle regole e alle linee guida. Abbiamo inoltre discusso dei prossimi passi consigliati e delle migliori pratiche di sicurezza da considerare prima di implementare i nostri sistemi in produzione.

Spero che questo tutorial ti abbia ispirato a utilizzare modelli di linguaggio avanzati, dando priorità alla creazione di un ambiente sicuro e rispettoso. Come avrai notato, con poche semplici funzioni siamo stati in grado di identificare in modo efficace le violazioni all’interno dei contenuti forniti e di migliorare il nostro sistema.

🍓 Se ti piace leggere articoli come questo e desideri supportare la mia scrittura, potresti considerare di diventare un membro di VoAGI! I membri di VoAGI hanno accesso completo agli articoli di tutti gli autori e utilizzando il mio link di riferimento, sosterrai direttamente la mia scrittura.

🍓 Se sei già un membro e sei interessato a leggere i miei articoli, puoi iscriverti per ricevere notifiche o seguirmi su VoAGI. Fammi sapere se hai domande o suggerimenti.

Risorse aggiuntive che consiglio dopo questo articolo:

Come accennato in precedenza, consiglio di dare un’occhiata al mio articolo sull’ingegneria dei prompt.

Mastering Prompt Engineering per liberare il potenziale di ChatGPT

Esplora le migliori pratiche e migliora i tuoi prompt per ottenere risultati migliori

towardsdatascience.com

Riferimenti

  1. Politiche d’uso di OpenAI
  2. Endpoint di moderazione di OpenAI
  3. Migliori pratiche di sicurezza di OpenAI
  4. Foto di copertina di Joshua Kettle su Unsplash