Aggiornamenti sui prodotti

Come rilevare l'intelligenza artificiale in Python

11 agosto 2025

In questo tutorial impareremo come verificare la presenza di contenuti generati dall'intelligenza artificiale in un testo utilizzando Pangram's pangram-sdk Pacchetto Python.

Il pangram-sdk Il pacchetto consente agli sviluppatori di utilizzare API di rilevamento dei contenuti basata sull'intelligenza artificiale di Pangram per verificare se brevi brani di testo o documenti più lunghi presentino segni che indichino che il contenuto sia stato generato dall'intelligenza artificiale.

In questo tutorial vedremo come ottenere una chiave API, utilizzare l'SDK Python di Pangram ed effettuare richieste HTTP direttamente agli endpoint dell'API di Pangram. Per ulteriori informazioni ed esempi di utilizzo, consulta la documentazione completa dell'API di Pangram.

Configurazione

Per iniziare, ti servirà un account Pangram. Crea un account utilizzando l'indirizzo e-mail a cui desideri associare la tua chiave API. Una volta creato l'account, avrai due opzioni tra cui scegliere per configurarlo: sottoscrivere un piano per sviluppatori oppure richiedere una chiave API per ricercatori.

Il piano Developer di Pangram parte da 100 $ al mese. Il piano include fino a 2000 crediti API al mese. Puoi contattarci per sbloccare il tuo account e attivare la tariffazione a consumo. Iscriviti al piano Developer per iniziare. Una volta effettuata l'iscrizione al piano Developer, potrai trovare la tua chiave API nella console API.

Pangram mette inoltre a disposizione dei ricercatori chiavi API gratuite. Se stai lavorando a uno studio di ricerca a scopo non commerciale, compila questo modulo per richiedere crediti API gratuiti. Ti risponderemo direttamente inviandoti una chiave API e indicando l'ammontare dei crediti a tua disposizione per la ricerca.

Configurazione dell'ambiente

Una volta ottenuta la chiave API, puoi aggiungerla al tuo ambiente. Esegui il comando seguente, sostituendo la chiave API di esempio con la tua chiave API personale. Puoi anche aggiungere questo comando al tuo .bashrc, .zshrc, .env, ecc. per impostare automaticamente il PANGRAM_API_KEY variabile.

esporta PANGRAM_API_KEY="12345678-1234-abcd-0123-123456789abc"

Scarica l'SDK Python

Assicurati di avere l'ambiente Python corretto attivo. Esegui il seguente comando per installare l'SDK Python di Pangram:

pip install pangram-sdk

Se utilizzi uv, puoi invece usare:

UV aggiungi pangram-sdk

Se utilizzi Poetry, il comando sarebbe:

poesia aggiungi pangram-sdk

Utilizza l'SDK Python

Crea un client Pangram

Per prima cosa, crea un Pangram Client per inviare le richieste. Il Pangram Client leggerà automaticamente la tua chiave API dalle variabili d'ambiente.

da pangram import Pangram
pangram_client = Pangram()

È anche possibile inserire direttamente una chiave API:

da pangramma import Pangram

la_mia_chiave_API = ''  # Inserisci qui la tua chiave API.
pangram_client = Pangram(chiave_API=la_mia_chiave_API)

Invia una richiesta standard

pangram_client's prevedere La funzione effettuerà una singola richiesta all'API di Pangram e restituirà il risultato. Per impostazione predefinita, verranno analizzate solo le prime 400 parole circa. Ogni richiesta consumerà un credito.

testo = "La veloce volpe marrone salta sopra il cane pigro."
risultato = pangram_client.predire(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["predizione"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}.") 

Invia una richiesta multipla

Utilizza il predict_batch funzione per inviare un lotto di query contemporaneamente, per un'elaborazione più rapida di grandi set di dati. Ogni richiesta consumerà un credito per ogni elemento del lotto. I risultati restituiti saranno un array dello stesso formato della singola prevedere funzione.

text_batch = ["text1", "text2"]

results = pangram_client.batch_predict(text_batch)
for result in results:
    text = result["text"]
    score = result["ai_likelihood"]
    text_representation_of_score = result["prediction"]
    print(f"We predict that the text {text} is {text_representation_of_score}, with an AI likelihood of {score}.") 

Invia una richiesta con finestra scorrevole

Utilizza il finestra_scorrevole_di_previsione funzione che consente di ottenere una previsione accurata dell'utilizzo dell'IA in un documento di grandi dimensioni. Questa funzione suddividerà il testo di input in segmenti e fornirà una previsione dell'IA per ciascun segmento del lotto. Questa funzione consuma un credito ogni 1.000 parole del testo di input.

testo = "La veloce volpe marrone salta sopra il cane pigro."
risultato = pangram_client.predict_sliding_window(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["predizione"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}.") 

Il risultato è un dizionario con i seguenti campi:

  • testo: [stringa] il testo di input
  • probabilità: [float] un numero compreso tra 0 e 1, dove un valore vicino a 1 indica una previsione certa che il testo sia stato generato dall'IA
  • previsione: [stringa] una descrizione testuale della quantità di contenuti generati dall'intelligenza artificiale presenti nel testo
  • breve previsione: [stringa] "Umano", "Misto" o "IA"
  • fraction_ai_content: [float] un valore float compreso tra 0 e 1, dove 1 indica che l'IA è presente in tutto il testo.
  • finestre: [elenco] un elenco dei singoli risultati delle previsioni relative al testo.

La dashboard di Pangram è in grado di visualizzare direttamente i risultati di una richiesta con finestra mobile. Utilizza la funzione previsione_con_link_alla_dashboard per eseguire una query a finestra mobile e ricevere anche un link alla dashboard. Proprio come finestra_scorrevole_di_previsione, questa funzione viene addebitata al costo di 1 credito ogni 1.000 parole di testo inserito.

testo = "La veloce volpe marrone salta sopra il cane pigro."
risultato = pangram_client.predict_sliding_window(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["predizione"]
link_dashboard = risultato["dashboard_link"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}. Puoi vedere i risultati completi su {link_dashboard}") 

Il risultato è un dizionario con gli stessi campi di un finestra_scorrevole_di_previsione risultato, tranne per il fatto che contiene anche un campo in più:

  • link alla dashboard: [stringa] un link a una pagina contenente i risultati completi della finestra scorrevole.

Metodi alternativi: richieste HTTP

È possibile accedere a tutte queste funzioni anche tramite HTTP. Per la documentazione completa su come inviare richieste HTTP all'API di Pangram, consultare la documentazione dell'API di inferenza di Pangram.

Aggiunta di tentativi di riconnessione

A volte, una richiesta a Pangram potrebbe andare in timeout o non andare a buon fine. Per evitare che il programma vada in crash, consigliamo vivamente di implementare dei tentativi di riprova. Una libreria che consigliamo a tal fine è Tenacity.

Ecco un esempio di come utilizzare Tenacity per riprovare le chiamate Pangram:

da tenacia import riprova, stop_after_attempt, wait_random_exponential, riprova_se_tipo_eccezione

@retry(
    riprova=retry_if_exception_type((TimeoutError, ConnectionError)),
    stop=stop_after_attempt(5),
    wait=wait_random_exponential(moltiplicatore=0,5, max=10),
    reraise=True,
)
def predire(testo):
    restituisce pangram_client.predict(testo)

Mettendo tutto insieme

Ecco un esempio completo di come utilizzare l'SDK Pangram per verificare la presenza di IA in un testo qualsiasi e ottenere un link alla dashboard, con la possibilità di ripetere il tentativo.

da pangram import Pangram
da tenacity import riprova, stop_after_attempt, wait_random_exponential, riprova_se_tipo_eccezione

chiave_API = ""
pangram_client = Pangram(chiave_api=chiave_API)

@retry(
    retry=riprova_se_tipo_eccezione((TimeoutError, ConnectionError)),
    stop=stop_after_attempt(5),
    wait=wait_random_exponential(moltiplicatore=0,5, max=10),
    reraise=True,
)
def predict_ai_with_link(testo)
    risultato = pangram_client.predict_sliding_window(testo)
    restituisce risultato

testo = "La volpe marrone veloce salta sopra il cane pigro."
risultato = predict_ai_with_link(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["predizione"]
link_dashboard = risultato["dashboard_link"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}. Puoi vedere i risultati completi su {link_dashboard}")

Conclusione

Speriamo che questa guida ti abbia aiutato a utilizzare il pacchetto Python "AI Detection" di Pangram per individuare i contenuti generati dall'intelligenza artificiale in modo automatizzato. Hai realizzato qualcosa di interessante con questo strumento? Taggaci su LinkedIn o X e condividi il tuo lavoro!


Max Spero
Max SperoAmministratore delegato, cofondatore

Max è un ingegnere esperto nel campo del machine learning. Di recente ha lavorato al progetto sui veicoli autonomi presso Nuro, guidando le attività di apprendimento attivo. Vanta una lunga esperienza nella realizzazione di prodotti di machine learning di successo presso Google, Two Sigma e Yelp.

Max ha conseguito una laurea in Informatica teorica e un master in Intelligenza artificiale presso l'Università di Stanford. Oltre alla sua passione per la creazione di cubi, è anche un membro attivo della comunità dei cubi di Magic: The Gathering.

Altri articoli di Max Spero

Altre letture

Vi presentiamo Pangram 3.3!
Aggiornamenti sui prodotti

Vi presentiamo Pangram 3.3!

13 maggio 2026
Presentazione dell'identificazione tramite IA: Pangram è in grado di distinguere i diversi modelli di linguaggio (LLM) l'uno dall'altro
Aggiornamenti sui prodotti

Presentazione dell'identificazione tramite IA: Pangram è in grado di distinguere i diversi modelli di linguaggio (LLM) l'uno dall'altro

11 febbraio 2025
Pangram riconosce Llama 4 di Meta?
Aggiornamenti sui prodotti

Pangram riconosce Llama 4 di Meta?

6 aprile 2025
Presentazione di tag e gruppi
Aggiornamenti sui prodotti

Presentazione di tag e gruppi

8 agosto 2025
Pangram è in grado di individuare il Sonetto 5 di Claude?
Aggiornamenti sui prodotti

Pangram è in grado di individuare il Sonetto 5 di Claude?

30 giugno 2026
Vi presentiamo la nuova pagina dei risultati
Aggiornamenti sui prodotti

Vi presentiamo la nuova pagina dei risultati

9 ottobre 2025