Wir geben eine neue Partnerschaft mit Proofig bekannt! Weitere Informationen
In diesem Tutorial lernen wir, wie man Text mit Pangrams Pangram-SDK Python-Paket.
Das Pangram-SDK Das Paket ermöglicht Entwicklern die Verwendung von Pangrams KI-Inhaltsdetektor-API 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 das Abrufen eines API-Schlüssels, die Verwendung des Python-SDK von Pangram und das Senden 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, mit der Ihr API-Schlüssel verknüpft werden soll. Sobald Sie ein Konto erstellt haben, haben Sie zwei Möglichkeiten, ein Konto einzurichten: Melden Sie sich für einen Entwicklerplan an oder erhalten Sie einen API-Schlüssel für Forscher.
Der Entwicklerplan von Pangram beginnt bei 100 US-Dollar pro Monat. In diesem Plan sind bis zu 2000 API-Credits pro Monat enthalten. Sie können uns kontaktieren, um Ihr Konto freizuschalten und die nutzungsbasierte Preisgestaltung zu aktivieren. Melden Sie sich für den Entwicklerplan an, um loszulegen. Sobald Sie sich für den Entwicklerplan angemeldet haben, finden Sie Ihren API-Schlüssel in der API-Konsole.
Pangram stellt Forschern auch kostenlos API-Schlüssel zur Verfügung. Wenn Sie an einer nicht-kommerziellen Forschungsstudie arbeiten, füllen Sie bitte dieses Formular aus, um kostenlose API-Gutschriften zu beantragen. Wir werden Ihnen direkt mit einem API-Schlüssel und Ihrer Forschungsgutschrift antworten.
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, .env, usw., um automatisch die PANGRAM_API_SCHLÜSSEL Variable.
export PANGRAM_API_KEY=„12345678-1234-abcd-0123-123456789abc”Stellen Sie sicher, dass Sie die richtige Python-Umgebung aktiviert haben. 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 add pangram-sdkWenn Sie Poetry verwenden, lautet der Befehl:
Poesie 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.
von Pangram import Pangram
pangram_client = Pangram()Sie können einen API-Schlüssel auch direkt übergeben:
von Pangram import Pangram
my_api_key = '' # Füllen Sie dies mit Ihrem API-Schlüssel aus.
pangram_client = Pangram(api_key=my_api_key)pangram_clients vorhersagen Die Funktion sendet eine einzige Anfrage an die API von Pangram und gibt das Ergebnis zurück. Standardmäßig werden dabei nur die ersten 400 Wörter berücksichtigt. Eine Anfrage kostet einen Credit.
Text = „Der schnelle braune Fuchs springt über den faulen Hund.“
Ergebnis = pangram_client.vorhersagen(text)
Punktzahl = Ergebnis[„ai_likelihood”]
textuelle Darstellung der Punktzahl = result[„Vorhersage”]
ausgeben(f"Wir sagen voraus, dass der Text {text} ist {text_darstellung_der_punktzahl}, mit einer KI-Wahrscheinlichkeit von {score}.") Verwenden Sie die Batch vorhersagen Funktion zum gleichzeitigen Senden einer Reihe von Abfragen, um große Datensätze schneller zu verarbeiten. Eine Anfrage verbraucht ein Guthaben pro Element in der Reihe. Die zurückgegebenen Ergebnisse sind ein Array im gleichen Format wie die einzelne 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 des gleitenden Fensters Funktion, um eine genaue Vorhersage der KI-Nutzung in einem längeren Dokument zu erhalten. Diese Funktion teilt den Eingabetext in Fenster auf und sagt die KI für jedes Fenster im Stapel voraus. 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 = result[„Vorhersage”]
ausgeben(f"Wir sagen voraus, dass der Text {text} ist {text_darstellung_der_punktzahl}, mit einer KI-Wahrscheinlichkeit von {score}.") Das Ergebnis ist ein Dict mit den folgenden Feldern:
Text: [Zeichenfolge] der eingegebene Textai_Wahrscheinlichkeit: [Float] Eine Zahl zwischen 0 und 1, wobei ein Wert nahe 1 eine sichere Vorhersage angibt, dass es sich bei dem Text um KI handelt.Vorhersage: [Zeichenfolge] Eine Textbeschreibung, wie viel KI-Inhalt der Text enthält.kurze Vorhersage: [Zeichenfolge] „Mensch“, „Gemischt“ oder „KI“fraktion_ai_inhalt: [Float] Ein Float zwischen 0 und 1, wobei 1 angibt, dass KI im gesamten Text vorhanden ist.Fenster: [Liste] Eine Liste mit einzelnen Vorhersageergebnissen für den Text.Das Dashboard von Pangram kann die Ergebnisse einer Sliding-Window-Anfrage nativ anzeigen. Verwenden Sie die Funktion Vorhersage mit Dashboard-Link eine Sliding-Window-Abfrage ausführen und einen Dashboard-Link erhalten. Genau wie Vorhersage des gleitenden FenstersDiese 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”]
textuelle Darstellung der Punktzahl = result[„Vorhersage”]
dashboard_link = result[„dashboard_link“]
Ausgabe(f"Wir sagen voraus, dass der Text {text} ist {text_darstellung_der_punktzahl}, 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 des gleitenden Fensters Ergebnis, außer dass es ein zusätzliches Feld enthält:
Dashboard-Link: [Zeichenfolge] Ein Link zu einer Seite, die die vollständigen Ergebnisse des gleitenden Fensters enthält.Auf alle diese Funktionen kann auch über HTTP zugegriffen werden. Eine vollständige Dokumentation zum Senden von HTTP-Anfragen an die Pangram-API finden Sie in der Dokumentation zur Inference-API von Pangram.
Gelegentlich kann es vorkommen, dass eine Anfrage an Pangram zeitlich ausläuft oder fehlschlägt. Um sicherzustellen, dass Ihr Programm nicht abstürzt, empfehlen wir dringend, Wiederholungsversuche hinzuzufügen. Eine solche Bibliothek ist Tenacity, die wir empfehlen.
Hier ist ein Beispiel für die Verwendung von Tenacity zum Wiederholen von Pangram-Aufrufen:
von Hartnäckigkeit Import Wiederholung, stop_after_attempt, wait_random_exponential, retry_if_exception_type
@retry(
retry=retry_if_exception_type((Zeitüberschreitungsfehler, Verbindungsfehler)),
stop=stop_after_attempt(5),
wait=wait_random_exponential(multiplier=0,5, max=10),
reraise=Wahr,
)
def predict(text):
return pangram_client.predict(text)Hier ist ein vollständiges Beispiel für die Verwendung des Pangram SDK, um beliebige Texte auf KI zu überprüfen und einen Dashboard-Link mit Wiederholungsversuchen zu erhalten.
von Pangram import Pangram
aus tenacity import retry, stop_after_attempt, wait_random_exponential, retry_if_exception_type
api_key = ""
pangram_client = Pangram(api_key=api_key)
@retry(
retry=retry_if_exception_type((Zeitüberschreitungsfehler, Verbindungsfehler)),
stop=stop_after_attempt(5),
wait=wait_random_exponential(multiplier=0,5, max=10),
reraise=Wahr,
)
def predict_ai_with_link(text)
Ergebnis = pangram_client.predict_sliding_window(text)
return result
Text = „Der schnelle braune Fuchs springt über den faulen Hund.“
Ergebnis = predict_ai_with_link(Text)
Punktzahl = Ergebnis[„ai_likelihood”]
textuelle Darstellung der Punktzahl = result[„Vorhersage”]
dashboard_link = result[„dashboard_link“]
Ausgabe(f"Wir sagen voraus, dass der Text {text} ist {text_darstellung_der_punktzahl}, 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? Taggen Sie uns auf LinkedIn oder X und teilen Sie uns mit, was Sie gemacht haben!
