

Bild vom Autor
# Einführung
Wussten Sie, dass ein Großteil der wertvollen Informationen immer noch in unstrukturiertem Textual content vorliegt? Zum Beispiel Forschungsarbeiten, klinische Notizen, Finanzberichte usw. Aus diesen Texten zuverlässige und strukturierte Informationen zu extrahieren, conflict schon immer eine Herausforderung. LangExtract ist eine Open-Supply-Python-Bibliothek (veröffentlicht von Google), die dieses Downside mithilfe großer Sprachmodelle (LLMs) löst. Sie können über einfache Eingabeaufforderungen und einige Beispiele definieren, was extrahiert werden soll, und dann werden LLMs (wie Googles Gemini, OpenAI oder lokale Modelle) verwendet, um diese Informationen aus Dokumenten beliebiger Länge zu extrahieren. Ein weiterer Vorteil ist die Unterstützung sehr langer Dokumente (durch Chunking und Multi-Cross-Verarbeitung) und die interaktive Visualisierung der Ergebnisse. Lassen Sie uns diese Bibliothek genauer erkunden.
# 1. Set up und Einrichtung
Um LangExtract lokal zu installieren, stellen Sie zunächst sicher, dass Sie Python 3.10+ installiert haben. Die Bibliothek ist verfügbar unter PyPI. Führen Sie in einem Terminal oder einer virtuellen Umgebung Folgendes aus:
Für eine isolierte Umgebung können Sie zunächst eine virtuelle Umgebung erstellen und aktivieren:
python -m venv langextract_env
supply langextract_env/bin/activate # On Home windows: .langextract_envScriptsactivate
pip set up langextract
Es gibt andere Optionen von Quelle und Verwendung Docker Auch das können Sie hier überprüfen.
# 2. Einrichten von API-Schlüsseln (für Cloud-Modelle)
LangExtract selbst ist kostenlos und Open Supply, aber wenn Sie in der Cloud gehostete LLMs (wie Google Gemini oder OpenAI GPT-Modelle) verwenden, müssen Sie einen API-Schlüssel angeben. Sie können das einstellen LANGEXTRACT_API_KEY Umgebungsvariable oder speichern Sie sie in einer .env Datei in Ihrem Arbeitsverzeichnis. Zum Beispiel:
export LANGEXTRACT_API_KEY="YOUR_API_KEY_HERE"
oder in einem .env Datei:
cat >> .env << 'EOF'
LANGEXTRACT_API_KEY=your-api-key-here
EOF
echo '.env' >> .gitignore
LLMs auf dem Gerät über Ollama oder andere lokale Backends erfordern keinen API-Schlüssel. Zum Aktivieren OpenAIdu würdest rennen pip set up langextract(openai)stellen Sie Ihre ein OPENAI_API_KEYund verwenden Sie eine OpenAI model_id. Für Vertex-KI (Unternehmensbenutzer) wird die Dienstkontoauthentifizierung unterstützt.
# 3. Definieren einer Extraktionsaufgabe
LangExtract funktioniert, indem Sie ihm sagen, welche Informationen extrahiert werden sollen. Dies erreichen Sie, indem Sie eine klare Beschreibung der Aufforderung verfassen und eine oder mehrere angeben ExampleData Anmerkungen, die zeigen, wie eine korrekte Extraktion am Beispieltext aussieht. Um beispielsweise Charaktere, Emotionen und Beziehungen aus einer Literaturreihe zu extrahieren, könnten Sie schreiben:
import langextract as lx
immediate = """
Extract characters, feelings, and relationships so as of look.
Use actual textual content for extractions. Don't paraphrase or overlap entities.
Present significant attributes for every entity so as to add context."""
examples = (
lx.knowledge.ExampleData(
textual content="ROMEO. However smooth! What gentle by way of yonder window breaks? ...",
extractions=(
lx.knowledge.Extraction(
extraction_class="character",
extraction_text="ROMEO",
attributes={"emotional_state": "surprise"}
),
lx.knowledge.Extraction(
extraction_class="emotion",
extraction_text="However smooth!",
attributes={"feeling": "light awe"}
)
)
)
)
Diese Beispiele (entnommen aus der README-Datei von LangExtract) sagen dem Modell genau, welche Artwork von strukturierter Ausgabe erwartet wird. Sie können ähnliche Beispiele für Ihre Area erstellen.
# 4. Ausführen der Extraktion
Sobald Ihre Eingabeaufforderung und Beispiele definiert sind, rufen Sie einfach die auf lx.extract() Funktion. Die wichtigsten Argumente sind:
text_or_documents: Ihr Eingabetext oder eine Liste von Texten oder sogar eine URL-Zeichenfolge (LangExtract kann Textual content von einer Gutenberg-URL oder einer anderen URL abrufen und verarbeiten).prompt_description: Die Extraktionsanweisungen (eine Zeichenfolge).examples: Eine Liste vonExampleDatadie die gewünschte Ausgabe veranschaulichen.model_id: Die Kennung des zu verwendenden LLM (z. B"gemini-2.5-flash"für Google Gemini Flash oder ein Ollama-Modell wie"gemma2:2b"oder ein OpenAI-Modell wie"gpt-4o").- Weitere optionale Parameter:
extraction_passes(um die Extraktion für eine höhere Erinnerung an langen Texten erneut auszuführen),max_workers(um Blöcke parallel zu verarbeiten),fence_output,use_schema_constraintsusw.
Zum Beispiel:
input_text=""'JULIET. O Romeo, Romeo! wherefore artwork thou Romeo?
Deny thy father and refuse thy title;
Or, if thou wilt not, be however sworn my love,
And I will not be a Capulet.
ROMEO. Shall I hear extra, or shall I converse at this?
JULIET. 'Tis however thy title that's my enemy;
Thou artwork thyself, although not a Montague.
What’s in a reputation? That which we name a rose
By some other title would scent as candy.'''
end result = lx.extract(
text_or_documents=input_text,
prompt_description=immediate,
examples=examples,
model_id="gemini-2.5-flash"
)
Dadurch werden die Eingabeaufforderung und Beispiele zusammen mit dem Textual content an das ausgewählte LLM gesendet und ein zurückgegeben Consequence Objekt. LangExtract übernimmt automatisch die Tokenisierung langer Texte in Blöcke, die parallele Stapelverarbeitung von Aufrufen und die Zusammenführung der Ausgaben.
# 5. Umgang mit Ausgabe und Visualisierung
Die Ausgabe von lx.extract() ist ein Python-Objekt (oft als „ end result), das die extrahierten Entitäten und Attribute enthält. Sie können es programmgesteuert überprüfen oder für später speichern. LangExtract bietet auch Hilfsfunktionen zum Speichern von Ergebnissen: Sie können beispielsweise die Ergebnisse in eine JSONL-Datei (JSON Strains) schreiben (ein Dokument professional Zeile) und eine interaktive HTML-Überprüfung erstellen. Zum Beispiel:
lx.io.save_annotated_documents((end result), output_name="extraction_results.jsonl", output_dir=".")
html = lx.visualize("extraction_results.jsonl")
with open("viz.html", "w") as f:
f.write(html if isinstance(html, str) else html.knowledge)
Dies schreibt ein extraction_results.jsonl Datei und eine interaktive viz.html Datei. Das JSONL-Format ist praktisch für große Datensätze und die weitere Verarbeitung, und die HTML-Datei hebt jeden extrahierten Bereich im Kontext hervor (farbcodiert nach Klasse), um eine einfache menschliche Inspektion wie folgt zu ermöglichen:

# 6. Unterstützende Eingabeformate
LangExtract ist hinsichtlich der Eingabe flexibel. Sie können Folgendes liefern:
- Nur-Textual content-Strings: Jeder Textual content, den Sie in Python laden (z. B. aus einer Datei oder Datenbank), kann verarbeitet werden.
- URLs: Wie oben gezeigt, können Sie eine URL übergeben (z. B. a Projekt Gutenberg Hyperlink) als
text_or_documents="https://www.gutenberg.org/information/1513/1513-0.txt". LangExtract lädt dieses Dokument herunter und extrahiert es. - Liste der Texte: Übergeben Sie eine Python-Liste mit Zeichenfolgen, um mehrere Dokumente in einem Aufruf zu verarbeiten.
- Wealthy-Textual content oder Markdown: Da LangExtract auf Textebene arbeitet, könnten Sie auch einspeisen Abschlag oder HTML, wenn Sie es in Rohtext vorverarbeiten. (LangExtract selbst analysiert keine PDFs oder Bilder, Sie müssen zuerst den Textual content extrahieren.)
# 7. Fazit
LangExtract macht es einfach, unstrukturierten Textual content in strukturierte Daten umzuwandeln. Mit hoher Genauigkeit, klarer Quellenzuordnung und einfacher Anpassung funktioniert es intestine, wenn regelbasierte Methoden nicht ausreichen. Dies ist besonders nützlich für komplexe oder domänenspezifische Extraktionen. Obwohl es Raum für Verbesserungen gibt, ist LangExtract bereits im Jahr 2025 ein leistungsstarkes Software zur Extraktion fundierter Informationen.
Kanwal Mehreen ist ein Ingenieur für maschinelles Lernen und ein technischer Redakteur mit einer großen Leidenschaft für Datenwissenschaft und die Schnittstelle zwischen KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productiveness with ChatGPT“. Als Google Era Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie ist außerdem als Teradata Range in Tech Scholar, Mitacs Globalink Analysis Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist ein leidenschaftlicher Verfechter von Veränderungen und hat FEMCodes gegründet, um Frauen in MINT-Bereichen zu stärken.
