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.
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.
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"Assicurati di avere l'ambiente Python corretto attivo. Esegui il seguente comando per installare l'SDK Python di Pangram:
pip install pangram-sdkSe utilizzi uv, puoi invece usare:
UV aggiungi pangram-sdkSe utilizzi Poetry, il comando sarebbe:
poesia aggiungi pangram-sdkPer 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)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}.") 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}.") 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 inputprobabilità: [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'IAprevisione: [stringa] una descrizione testuale della quantità di contenuti generati dall'intelligenza artificiale presenti nel testobreve 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.È 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.
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)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}")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 è 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.






