Annunciamo una nuova partnership con Proofig! Per saperne di più
In questo tutorial impareremo come verificare la presenza di contenuti AI nel testo utilizzando Pangram's. pangram-sdk Pacchetto Python.
Il pangram-sdk Il pacchetto consente agli sviluppatori di utilizzare API di rilevamento dei contenuti AI di Pangram per controllare brevi brani di testo o documenti più lunghi alla ricerca di segni che indicano che il contenuto è stato generato dall'intelligenza artificiale.
In questo tutorial tratteremo l'acquisizione di una chiave API, l'utilizzo dell'SDK Python di Pangram e l'invio di richieste HTTP direttamente agli endpoint API di Pangram. Per ulteriori informazioni ed esempi di utilizzo, consultare la documentazione completa dell'API di Pangram.
Per iniziare, avrai bisogno di 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 per configurarlo: iscriverti a un piano per sviluppatori o ottenere 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 il prezzo basato sull'utilizzo. Iscriviti al piano Developer per iniziare. Una volta iscritto al piano Developer, potrai trovare la tua chiave API nella console API.
Pangram fornisce anche chiavi API gratuite ai ricercatori. Se stai lavorando a uno studio di ricerca non commerciale, compila questo modulo per richiedere crediti API gratuiti. Ti risponderemo direttamente con una chiave API e l'assegnazione dei crediti per la tua ricerca.
Una volta ottenuta la chiave API, puoi aggiungerla al tuo ambiente. Esegui il seguente comando, 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 abilitato l'ambiente Python corretto. 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 sarà:
poesia aggiungi pangram-sdkPer prima cosa, crea un client Pangram per effettuare le richieste. Il client Pangram leggerà automaticamente la tua chiave API dalle variabili di ambiente.
da pangram import Pangram
pangram_client = Pangram()È anche possibile inserire direttamente una chiave API:
da pangram import Pangram
my_api_key = '' # Inserisci qui la tua chiave API.
pangram_client = Pangram(api_key=my_api_key)pangram_clientdi prevedere La funzione invierà una singola richiesta all'API di Pangram e restituirà il risultato. Per impostazione predefinita, verranno prese in considerazione solo le prime 400 parole circa. Una richiesta consumerà un credito.
testo = "La veloce volpe marrone salta sopra il cane pigro."
risultato = pangram_client.predizione(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["prediction"]
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 batch di query contemporaneamente, per un'elaborazione più rapida di grandi set di dati. Una richiesta utilizzerà un credito per ogni elemento del batch. 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 previsione_finestra_scorrevole funzione per ottenere una previsione accurata dell'uso dell'IA in un documento più lungo. Questa funzione suddividerà il testo di input in finestre e prevederà l'IA per ogni finestra nel batch. Questa funzione utilizza un credito ogni 1.000 parole nel 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["prediction"]
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 immessoai_probabilità: [float] un numero compreso tra 0 e 1, dove un valore vicino a 1 indica una previsione attendibile che il testo sia stato generato dall'intelligenza artificiale.previsione: [stringa] una descrizione testuale della quantità di contenuti AI presenti nel testoprevisione breve: [stringa] "Umano", "Misto" o "AI"frazione_ai_contenuto: [float] un valore compreso tra 0 e 1, dove 1 indica che l'IA è presente in tutto il testo.finestre: [elenco] un elenco dei risultati delle singole previsioni per il testo.La dashboard di Pangram è in grado di visualizzare in modo nativo i risultati di una richiesta con finestra scorrevole. Utilizza la funzione prevedi_con_link_dashboard per eseguire una query a finestra scorrevole e ricevere anche un link al dashboard. Proprio come previsione_finestra_scorrevole, questa funzione viene fatturata 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["prediction"]
dashboard_link = risultato["dashboard_link"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}. È possibile visualizzare i risultati completi all'indirizzo {dashboard_link}") Il risultato è un dizionario con gli stessi campi di un previsione_finestra_scorrevole risultato, tranne per il fatto che contiene anche un campo aggiuntivo:
link_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 Pangram, consultare la documentazione dell'API di inferenza Pangram.
Occasionalmente, una richiesta a Pangram potrebbe andare in timeout o fallire. Per garantire che il tuo programma non vada in crash, ti consigliamo vivamente di aggiungere dei tentativi di riprova. Una libreria di questo tipo è Tenacity, che ti consigliamo.
Ecco un esempio di utilizzo di Tenacity per riprovare le chiamate Pangram:
da tenacia import riprova, stop_after_attempt, attesa_casuale_esponenziale, riprova_se_tipo_eccezione
@riprova(
riprova=riprova_se_tipo_eccezione((TimeoutError, Errore di connessione)),
stop=stop_dopo_tentativo(5),
attendere=attesa_casuale_esponenziale(moltiplicatore=0,5, max=10),
reraise=Vero,
)
def predict(testo):
restituire pangram_client.predict(testo)Ecco un esempio completo dell'utilizzo dell'SDK Pangram per controllare qualsiasi testo per l'IA e ottenere un link alla dashboard, con tentativi di riprova.
da pangram import Pangram
da tenacity import riprova, stop_after_attempt, attesa_casuale_esponenziale, riprova_se_tipo_eccezione
api_key = ""
pangram_client = Pangram(api_key=api_key)
@retry(
retry=riprova_se_tipo_eccezione((TimeoutError, Errore di connessione)),
stop=stop_after_attempt(5),
attendere=attesa_casuale_esponenziale(moltiplicatore=0,5, max=10),
reraise=Vero,
)
def predict_ai_with_link(testo)
risultato = pangram_client.predict_sliding_window(testo)
restituisce risultato
testo = "La veloce volpe marrone salta sopra il cane pigro."
risultato = predict_ai_with_link(testo)
punteggio = risultato["ai_likelihood"]
rappresentazione_testuale_del_punteggio = risultato["prediction"]
dashboard_link = risultato["dashboard_link"]
stampa(f"Prevediamo che il testo {testo} sia {rappresentazione_testuale_del_punteggio}, con una probabilità AI di {punteggio}. È possibile visualizzare i risultati completi all'indirizzo {dashboard_link}")Speriamo che questa guida ti abbia aiutato a utilizzare il pacchetto Python AI Detection di Pangram per rilevare i contenuti generati dall'intelligenza artificiale in modo programmatico. Hai creato qualcosa di interessante con questo strumento? Taggaci su LinkedIn o X e condividi il risultato!
