In diesem Tutorial lernen wir, wie man Text mithilfe von Pangrams auf KI-Inhalte überprüft. pangram-sdk Python-Paket.
Die pangram-sdk Das Paket ermöglicht es Entwicklern, Pangrams KI-basierte API zur Erkennung von Inhalten um kurze Textabschnitte oder längere Dokumente auf Anzeichen dafür zu überprüfen, dass der Inhalt von einer KI generiert wurde.
In diesem Tutorial behandeln wir die Beantragung eines API-Schlüssels, die Verwendung des Python-SDK von Pangram sowie das Absenden von HTTP-Anfragen direkt an die API-Endpunkte von Pangram. Weitere Informationen und Anwendungsbeispiele finden Sie in der vollständigen API-Dokumentation von Pangram.
Zunächst benötigen Sie ein Pangram-Konto. Erstellen Sie ein Konto mit der E-Mail-Adresse, an die Ihr API-Schlüssel gebunden sein soll. Sobald Sie ein Konto erstellt haben, stehen Ihnen zwei Möglichkeiten zur Einrichtung zur Verfügung: Sie können sich für einen Entwickler-Tarif anmelden oder einen API-Schlüssel für Forscher beantragen.
Der Entwickler-Tarif von Pangram ist ab 100 $ pro Monat erhältlich. In diesem Tarif sind bis zu 2000 API-Credits pro Monat enthalten. Sie können uns kontaktieren, um Ihr Konto freizuschalten und die nutzungsabhängige Abrechnung zu aktivieren. Melden Sie sich für den Entwickler-Tarif an, um loszulegen. Sobald Sie sich für den Entwickler-Tarif angemeldet haben, finden Sie Ihren API-Schlüssel in der API-Konsole.
Pangram stellt Forschern zudem kostenlos API-Schlüssel zur Verfügung. Wenn Sie an einer nichtkommerziellen Forschungsstudie arbeiten, füllen Sie bitte dieses Formular aus, um kostenlose API-Guthaben zu beantragen. Wir werden Ihnen direkt einen API-Schlüssel sowie die Höhe Ihres Forschungsguthabens mitteilen.
Sobald Sie Ihren API-Schlüssel haben, können Sie ihn Ihrer Umgebung hinzufügen. Führen Sie den folgenden Befehl aus und ersetzen Sie dabei den Beispiel-API-Schlüssel durch Ihren persönlichen API-Schlüssel. Sie können diesen Befehl auch zu Ihrer .bashrc, .zshrc, .envusw., um die PANGRAM_API_KEY Variable.
Export PANGRAM_API_KEY="12345678-1234-abcd-0123-123456789abc"Stellen Sie sicher, dass die richtige Python-Umgebung aktiviert ist. Führen Sie den folgenden Befehl aus, um das Python-SDK von Pangram zu installieren:
pip installieren pangram-sdkWenn Sie „uv“ verwenden, können Sie stattdessen Folgendes verwenden:
UV hinzufügen pangram-sdkWenn Sie Poetry verwenden, lautet der Befehl:
Lyrik hinzufügen pangram-sdkErstellen Sie zunächst einen Pangram-Client, um Anfragen zu stellen. Der Pangram-Client liest Ihren API-Schlüssel automatisch aus Ihren Umgebungsvariablen aus.
von Pangram import Pangram
pangram_client = Pangram()Sie können auch direkt einen API-Schlüssel übergeben:
von Pangram import Pangram
mein_API-Schlüssel = '' # Tragen Sie hier Ihren API-Schlüssel ein.
pangram_client = Pangram(api_key=mein_API-Schlüssel)pangram_client's vorhersagen Die Funktion sendet eine einzelne Anfrage an die Pangram-API und gibt das Ergebnis zurück. Standardmäßig werden dabei nur die ersten etwa 400 Wörter berücksichtigt. Für jede Anfrage wird ein Credit verbraucht.
Text = „Der schnelle braune Fuchs springt über den faulen Hund.“
Ergebnis = pangram_client.vorhersagen(text)
Bewertung = Ergebnis["ai_likelihood"]
text_representation_of_score = Ergebnis["Vorhersage"]
Ausgabe(f"Wir sagen voraus, dass der Text {text} ist {text_representation_of_score}, mit einer KI-Wahrscheinlichkeit von {score}.") Verwenden Sie die predict_batch Funktion zum gleichzeitigen Senden mehrerer Abfragen, um die Verarbeitung großer Datensätze zu beschleunigen. Pro Abfrage im Stapel wird ein Credit verbraucht. Die zurückgegebenen Ergebnisse liegen in einem Array vor, dessen Format dem der Einzelabfrage entspricht. vorhersagen Funktion.
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}.") Verwenden Sie die vorhersage_gleitendes_Fenster Funktion, um eine genaue Vorhersage der KI-Nutzung über ein längeres Dokument hinweg zu erhalten. Diese Funktion unterteilt den Eingabetext in Abschnitte und erstellt für jeden Abschnitt im Stapel eine KI-Vorhersage. Diese Funktion verbraucht einen Credit pro 1.000 Wörter im Eingabetext.
Text = „Der schnelle braune Fuchs springt über den faulen Hund.“
Ergebnis = pangram_client.predict_sliding_window(text)
score = Ergebnis["ai_likelihood"]
textuelle Darstellung der Punktzahl = Ergebnis["Vorhersage"]
Ausgabe(f"Wir sagen voraus, dass der Text {text} ist {text_representation_of_score}, mit einer KI-Wahrscheinlichkeit von {score}.") Das Ergebnis ist ein Dict mit den folgenden Feldern:
Text: [Zeichenkette] der Eingabetextai_wahrscheinlichkeit: [float] eine Zahl zwischen 0 und 1, wobei ein Wert nahe 1 darauf hindeutet, dass mit hoher Sicherheit davon ausgegangen wird, dass der Text von einer KI stammtVorhersage: [Zeichenkette] Eine textuelle Beschreibung, wie viel KI-Inhalt der Text enthältkurze_Prognose: [Zeichenkette] „Mensch“, „Mischform“ oder „KI“fraction_ai_content: [float] Ein Fließkommawert zwischen 0 und 1, wobei 1 angibt, dass KI im gesamten Text vorhanden ist.Fenster: [list] eine Liste einzelner Vorhersageergebnisse für den Text.Das Pangram-Dashboard kann die Ergebnisse einer Abfrage mit gleitendem Fenster direkt anzeigen. Verwenden Sie die Funktion Vorhersage mit Dashboard-Link um eine Abfrage mit gleitendem Fenster auszuführen und zudem einen Dashboard-Link zu erhalten. Genau wie vorhersage_gleitendes_FensterDiese Funktion wird mit 1 Credit pro 1.000 Wörter des Eingabetextes berechnet.
Text = „Der schnelle braune Fuchs springt über den faulen Hund.“
Ergebnis = pangram_client.predict_sliding_window(text)
score = Ergebnis["ai_likelihood"]
text_representation_of_score = Ergebnis["Vorhersage"]
Dashboard-Link = Ergebnis["dashboard_link"]
print(f"Wir sagen voraus, dass der Text {text} ist {text_representation_of_score}, mit einer KI-Wahrscheinlichkeit von {score}. Die vollständigen Ergebnisse finden Sie unter {dashboard_link}") Das Ergebnis ist ein Dict mit denselben Feldern wie ein vorhersage_gleitendes_Fenster Ergebnis, nur dass es zusätzlich ein weiteres Feld enthält:
Dashboard-Link: [Zeichenkette] Ein Link zu einer Seite, die die vollständigen Ergebnisse des gleitenden Fensters enthält.Auf all diese Funktionen kann auch über HTTP zugegriffen werden. Eine vollständige Dokumentation dazu, wie HTTP-Anfragen an die Pangram-API gesendet werden, finden Sie in der Dokumentation zur Pangram-Inference-API.
Gelegentlich kann es vorkommen, dass eine Anfrage an Pangram aufgrund einer Zeitüberschreitung fehlschlägt. Um sicherzustellen, dass Ihr Programm nicht abstürzt, empfehlen wir dringend, Wiederholungsversuche einzubauen. Eine geeignete Bibliothek hierfür ist Tenacity, die wir empfehlen.
Hier ist ein Beispiel für die Verwendung von Tenacity zur Wiederholung von Pangram-Aufrufen:
von Beharrlichkeit import retry, stop_after_attempt, wait_random_exponential, retry_if_exception_type
@retry(
retry=retry_if_exception_type((TimeoutError, ConnectionError)),
stop=stop_after_attempt(5),
wait=wait_random_exponential(multiplier=0,5, max=10),
reraise=True,
)
def vorhersagen(text):
return pangram_client.predict(text)Hier ist ein vollständiges Beispiel für die Verwendung des Pangram SDK, um beliebige Texte auf KI-Inhalte zu überprüfen und einen Link zum Dashboard zu erhalten, einschließlich Wiederholungsversuchen.
von Pangram import Pangram
aus Beharrlichkeit import retry, stop_after_attempt, wait_random_exponential, retry_if_exception_type
API-Schlüssel = ""
pangram_client = Pangram(api_key=api_key)
@retry(
retry=retry_if_exception_type((TimeoutError, ConnectionError)),
stop=stop_after_attempt(5),
wait=wait_random_exponential(multiplier=0,5, max=10),
reraise=True,
)
def predict_ai_with_link(text)
Ergebnis = pangram_client.predict_sliding_window(text)
return Ergebnis
text = "Der schnelle braune Fuchs springt über den faulen Hund."
Ergebnis = predict_ai_with_link(text)
score = Ergebnis["ai_likelihood"]
textuelle Darstellung der Punktzahl = Ergebnis["Vorhersage"]
Dashboard-Link = Ergebnis["dashboard_link"]
print(f"Wir sagen voraus, dass der Text {text} ist {text_representation_of_score}, mit einer KI-Wahrscheinlichkeit von {score}. Die vollständigen Ergebnisse finden Sie unter {dashboard_link}")Hoffentlich konnten Sie mit dieser Anleitung das Python-Paket „AI Detection“ von Pangram nutzen, um KI-Inhalte programmgesteuert zu erkennen. Haben Sie damit etwas Cooles erstellt? Markieren Sie uns bitte auf LinkedIn oder X und teilen Sie uns mit, was Sie gemacht haben!

Max ist ein erfahrener Machine-Learning-Ingenieur. Zuletzt arbeitete er bei Nuro an autonomen Fahrzeugen und leitete dort den Bereich „Active Learning“. Er kann auf eine langjährige Erfahrung bei der erfolgreichen Einführung von Machine-Learning-Produkten bei Google, Two Sigma und Yelp zurückblicken.
Max hat einen Bachelor of Science in Theoretischer Informatik und einen Master of Science in Künstlicher Intelligenz von der Stanford University. Neben seiner Leidenschaft für das Bauen ist er auch ein aktives Mitglied der „Magic: The Gathering“-Cube-Community.






