Heim > Backend-Entwicklung > Python-Tutorial > Erkundung der Dozentenbibliothek: Strukturierung unstrukturierter Daten (und etwas Spaß dabei)

Erkundung der Dozentenbibliothek: Strukturierung unstrukturierter Daten (und etwas Spaß dabei)

Mary-Kate Olsen
Freigeben: 2024-11-24 15:36:44
Original
275 Leute haben es durchsucht

Exploring the Instructor Library: Structuring Unstructured Data (and Some Fun along the Way)

Ich bin kürzlich auf die Dozentenbibliothek gestoßen und muss sagen, ich bin ziemlich beeindruckt. Das Konzept der Strukturierung unstrukturierter Daten ist sowohl wirkungsvoll als auch, ich wage es zu sagen, ein wenig magisch. Die Idee, dass man Daten, die überall liegen, irgendwie in Ordnung bringen kann – nun, das ist nur meine Art von Zauberei.

Aber… wie genau funktioniert es?

Um das herauszufinden, habe ich einige Zeit damit verbracht, in das Innere dieser Bibliothek einzutauchen, und dabei herausgefunden, dass es hinter den Kulissen zwei Hauptakteure gibt, die für einen Großteil ihrer Magie verantwortlich sind.

Treffen Sie die Spieler: Pydantic und eine nette Aufforderung

import instructor
from pydantic import BaseModel
from openai import OpenAI

Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie mit der Datenvalidierung und Einstellungsverwaltung von Python vertraut sind, haben Sie wahrscheinlich schon von Pydantic gehört. Und wenn nicht, dann schnall dich an! Es handelt sich um eine erstaunliche Bibliothek, mit der Sie Datenstrukturen definieren und dann in Echtzeit überprüfen können, ob eingehende Daten mit diesen Strukturen übereinstimmen. Stellen Sie sich das wie den Türsteher in einem schicken Club vor, der dafür sorgt, dass nur die richtigen Daten eingehen.

FastAPI, ein weiteres großartiges Tool, nutzt Pydantic hervorragend, um sicherzustellen, dass die Daten, die eine API passieren, im richtigen Format vorliegen. Was ist also der nächste Schritt? Nachdem wir nun unsere Struktur definiert haben, wie bringen wir ein LLM (wie das GPT von OpenAI) dazu, dieser zu folgen? Hmm...

Hypothese 1: Serialisierung von Pydantic

Meine erste Hypothese war, dass Pydantic eine Art Serialisierung ermöglichen könnte – die Umwandlung der Datenstruktur in etwas, das ein LLM leicht verstehen und damit arbeiten kann. Und es stellte sich heraus, dass ich mich nicht geirrt hatte.

Mit Pydantic können Sie Ihre Daten mit der folgenden Methode in ein Wörterbuch serialisieren:

model.model_dump(...)  # Dumps the model into a dictionary
Nach dem Login kopieren

Diese Methode wandelt Ihre Pydantic-Modelle rekursiv in Wörterbücher um, die dann zur Verarbeitung in ein LLM eingespeist werden können. So weit, ist es gut. Aber dann bin ich auf etwas noch Interessanteres gestoßen:

Hypothese 2: Generieren eines JSON-Schemas

Es wird besser. Pydantic konvertiert nicht nur Daten in Wörterbücher, sondern kann auch ein JSON-Schema für Ihr Modell generieren. Das ist von entscheidender Bedeutung, denn jetzt haben Sie einen Entwurf der Struktur, der das LLM folgen soll.

Hier hat es richtig Klick gemacht:

# Generate a JSON schema for a Pydantic model
response_model.model_json_schema()
Nach dem Login kopieren

Bingo! Jetzt haben Sie ein klares Schema, das genau definiert, wie die Daten aussehen sollen. Dies ist die Blaupause, die wir an das LLM senden können, damit es genau weiß, wie es seine Ausgabe strukturieren muss.

Alles zusammenbringen

import instructor
from pydantic import BaseModel
from openai import OpenAI

Nach dem Login kopieren
Nach dem Login kopieren

Hier übergibt die Bibliothek das Schema an das LLM und fordert es auf, Daten zurückzugeben, die dieser Struktur entsprechen. Die Botschaft ist klar: „Hey LLM, respektieren Sie dieses Schema, wenn Sie Ihre Ausgabe generieren.“ Es ist, als würden Sie Ihrem LLM eine detaillierte Karte geben und sagen: „Befolgen Sie diese Anweisungen genau.“

Danke, dass du Geduld mit mir hast

Nach all diesen Untersuchungen bin ich nun überzeugt: Die Serialisierung und die JSON-Schemagenerierung von Pydantic ermöglichen es der Instructor-Bibliothek, ein LLM dazu zu bringen, strukturierten Datenformaten zu folgen.

Vielen Dank, dass Sie mich bei dieser unterhaltsamen (und etwas komplizierten) Untersuchung begleitet haben. Wer hätte gedacht, dass unstrukturierte Daten mit ein wenig Hilfe von Python-Bibliotheken und etwas kreativer Anregung gezähmt werden können?

Das obige ist der detaillierte Inhalt vonErkundung der Dozentenbibliothek: Strukturierung unstrukturierter Daten (und etwas Spaß dabei). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage