亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Inhaltsverzeichnis
Lernziele
Inhaltsverzeichnis
Was ist Pydanticai?
Beispiele für Pydanticai in Aktion
Grundlegende Datenvalidierung
Automatik -Zwang
Verschachteltes Modell
Validierung mit benutzerdefinierter Regel
Was ist ein AI -Agent?
Was ist Agenten -Workflow?
Moderne Verwendung von AI -Agenten und agenten -Workflows
Gesch?ftsautomatisierung
Softwareentwicklung
Gesundheitspflege
Finanzen
E-Commerce
Was ist der pydantische Rahmen?
Erste Schritte mit Ihrem Projekt
Umgebung festlegen
Installieren Sie Postgres und laden Sie die Datenbank
STEP1: ?ffnen Sie Ihr Terminal
Schritt 2: Erstellen Sie eine Datenbank
Schritt 3: Befehl für Terminal
Schritt 4: Verbinde mit PSQL
Projektstruktur
Schritt-für-Schritt-Anleitung zur Implementierung Ihres Projekts
Pydantische Modelle
Servicemodul
Modell und Agent erstellen
System -Eingabeaufforderung Definition
Antwortvalidierung
Datenbankschema
Main implementieren
Abschluss
Key Takeaways
H?ufig gestellte Fragen
Heim Technologie-Peripherieger?te KI Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Mar 14, 2025 am 09:21 AM

In der sich schnell entwickelnden Landschaft der Softwareentwicklung hat die Schnittstelle künstlicher Intelligenz, Datenvalidierung und Datenbankmanagement beispiellose M?glichkeiten er?ffnet. In diesem Blog-Beitrag wird in einem innovativen Ansatz zur Erl?uterung von SQL-Code-Generation und SQL-Code unter Verwendung des neuesten Pydanticai-Frameworks und des Gemini-1.5-Modells von Google untersucht.

Für Entwickler, Datenwissenschaftler und Datenanalysten bietet diese Exploration einen Einblick in die Zukunft der intelligenten Codegenerierung aus der Verarbeitung natürlicher Sprache, bei der komplexe Datenbankabfragen mit Leichtigkeit und Genauigkeit erstellt werden k?nnen.

Lernziele

  • Verstehen Sie die Grundlagen von Pydantic und Pydanticai.
  • Erfahren Sie, wie Sie ein KI-angetanter SQL-Code-Generierungssystem implementieren.
  • Erforschen Sie die F?higkeiten von Gemini-1.5-Flash in der natürlichen Sprache für die SQL-übersetzung.
  • Gewinnen Sie Einblick in den Aufbau intelligenter KI -Agenten für Datenbankinteraktionen.

Dieser Artikel wurde als Teil des Data Science -Blogathons ver?ffentlicht.

Inhaltsverzeichnis

  • Was ist Pydanticai?
  • Beispiele für Pydanticai in Aktion
  • Was ist ein AI -Agent?
  • Was ist Agenten -Workflow?
  • Moderne Verwendung von AI -Agenten und agenten -Workflows
  • Was ist der pydantische Rahmen?
  • Erste Schritte mit Ihrem Projekt
  • Schritt-für-Schritt-Anleitung zur Implementierung Ihres Projekts
  • Abschluss
  • H?ufig gestellte Fragen

Was ist Pydanticai?

Pydanticai ist eine leistungsstarke Python -Bibliothek, die die Datenvalidierung und Typprüfung revolutioniert. Es bietet einen deklarativen Ansatz zur Definition von Datenmodellen und erleichtert es, komplexe Datenstrukturen zu erstellen und zu validieren.

Wichtige Merkmale von Pydantic sind:

Anpassung

  • Validiert eine Vielzahl von Datentypen, einschlie?lich primitiver Typen und komplexen verschachtelten Strukturen.
  • Unterstützt fast jedes Python -Objekt für Validierung und Serialisierung

Flexibilit?t

Erm?glicht die Steuerung der Datenvalidierung Strenge:

  • Kohlen Daten zum erwarteten Typ
  • Durchsetzen

Serialisierung

  • Unterstützen Sie nahtlose Konvertierung zwischen pydantischem Objekt, W?rterbuch und JSON.
  • Erm?glicht die Selbstdokumentation von APIs und Kompatibilit?t mit Tools, die JSON-Schema verwenden.

Leistung

  • Die Kernvalidierungslogik wird in Rost für au?ergew?hnliche Geschwindigkeit und Effizienz geschrieben.
  • Ideal für Hochdurchsatzanwendungen wie skalierbare REST-APIs.

?kosystem

  • Weit verbreitete in beliebten Python -Bibliotheken wie Fastapi, Langchain, Llamaindex und vielem mehr.
  • Moderne Agentic LLM kann nicht ohne pydantisch implementiert werden.

Beispiele für Pydanticai in Aktion

Pydanticai vereinfacht die Datenvalidierung und die Typ-überprüfung in Python und macht es zu einem leistungsstarken Tool zum Erstellen robuster Datenmodelle. Lassen Sie uns einige praktische Beispiele untersuchen, die seine F?higkeiten zeigen.

Grundlegende Datenvalidierung

 vom pydantischen Import -Basemodel


Klassenbenutzer (Basemodel):
    Name: str
    Alter: int


# Gültige Daten
user = user (name = "alice", Alter = 30)
Druck (Benutzer)

print ("==================================="))
# Ungültige Daten (Alter ist eine Zeichenfolge)
versuchen:
    user = user (name = "alice", ay "drei?ig")
au?er Ausnahme als E:
    Druck (e)

Der obige Code definiert ein Benutzermodell unter Verwendung von Pydantics Basemodel und setzt den Namen als Zeichenfolge und Alter als Ganzzahl durch. Es validiert korrekte Daten, erh?ht jedoch einen Validierungsfehler, wenn ungültige Daten (eine Zeichenfolge für das Alter) bereitgestellt werden.

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Automatik -Zwang

 vom pydantischen Import -Basemodel
Klassenprodukt (Basemodel):
    Preis: Float
    Menge: int

# Daten mit nicht übereinstimmenden Typen
Produkt = Produkt (Preis = "19,99", Quantity = "5")
Druck (Produkt)

print (type (product.price))
print (type (product.quantity))

Hier das Produktmodell mit Preis als Schwimmer und Menge als Ganzzahl. Pydantic zweckt automatisch die String -Eing?nge (?19,99“ und ?5“) in die richtigen Typen (Float und INT) und demonstrieren seine Art Conversion -Funktion.

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Verschachteltes Modell

 vom pydantischen Import -Basemodel
Klassenadresse (Basemodel):
    Stra?e: str
    Stadt: str
Klassenbenutzer (Basemodel):
    Name: str
    Adresse: Adresse

# Gültige Daten
user = user (name = "bob", adress = {"street": "123 main st", "Stadt": "Wunderland"})
Druck (Benutzer)

# Zugriff verschachtelte Attribute
print (user.address.city)

Hier definieren wir ein verschachteltes Benutzermodell , das ein Adressmodell enth?lt. Pydantic erm?glicht eine verschachtelte Validierung und automatische W?rterbücher in Modelle. Gültige Daten initialisiert ein Benutzerobjekt und Sie k?nnen direkt auf verschriebene Attribute wie ' user.address.city' zugreifen.

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Validierung mit benutzerdefinierter Regel

 vom pydantischen Import -Basemodel, Feld, Field_validator

Klassenbenutzer (Basemodel):
    Name: str
    Alter: int = field (..., gt = 0, Beschreibung = "Alter muss gr??er als Null sein")

    @field_validator ("Name")
    Def name_must_be_non_empty (cls, Wert):
        wenn nicht value.strip ():
            ValueError erh?hen ("Name kann nicht leer sein")
        Rückgabewert

# Gültige Daten
user = user (name = "charlie", Alter = 25)
Druck (Benutzer)

# Ungültige Daten
versuchen:
    user = user (name = "", Alter = -5)
au?er Ausnahme als E:
    Druck (e)

Hier definieren wir ein Benutzermodell mit einer Validierungsregel, das Alter muss gr??er als 0 sein, und der Name kann nicht leer sein (über die Methode name_must_be_non_empy validiert). Gültige Daten erstellen eine Benutzerinstanz , w?hrend ungültige Daten (leerer Name oder negatives Alter) detaillierte Validierungsfehler hervorrufen und die Validierungsfunktionen von Pydantic demonstrieren.

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Dies sind einige der zentralen Beispiele für Pydantic. Ich hoffe, sie helfen Ihnen, das Grundprinzip der Datenvalidierung zu verstehen.

Was ist ein AI -Agent?

KI -Agenten sind intelligente Systeme, die autonom auf Aufgaben ausführen, Entscheidungen treffen und mit ihrer Umgebung interagieren, um spezifische Ziele zu erreichen. Diese Agenten sind nicht neu, aber die jüngste schnelle Entwicklung in der generativen KI, und die Kombination mit Agenten macht die Agentensoftwareentwicklung in der neuen ?ra. Jetzt k?nnen Agenten Eingaben verarbeiten, Aktionen ausführen und sich dynamisch anpassen. Ihr Verhalten ahmt das menschliche Probleml?sung nach und erm?glicht es ihnen, in verschiedenen Bereichen mit minimaler menschlicher Intervention zu funktionieren.

Was ist Agenten -Workflow?

Ein agierischer Workflow bezieht sich auf die Strukturen, zielgerichtete Abfolge von Aufgaben, die von einem oder mehreren KI-Agenten verwaltet und ausgeführt werden. Unline-starres traditioneller Workflow, Agenten-Workflow zeigt Anpassungsf?higkeit, Autonomie und Kontextbewusstsein. KI -Agenten in diesen Workflows k?nnen unabh?ngig voneinander Entscheidungen treffen, Unteraufgaben delegieren und aus Feedback lernen, was zu effizienten und optimierten Ergebnissen führt.

Moderne Verwendung von AI -Agenten und agenten -Workflows

Die Integration von AI-Agenten und Agenten-Workflows hat die Branche revolutioniert, indem komplexe Aufgaben automatisiert, die Entscheidungsfindung verbessert und die Effizienz vorgestellt werden. Diese intelligenten Systeme passen sich dynamisch an und erm?glichen in verschiedenen Bereichen intelligentere L?sungen.

Gesch?ftsautomatisierung

AI -Agenten automatisieren sich wiederholende Aufgaben wie den Kundensupport über Chatbots, E -Mail -Management und Verkaufspipeline -Optimierung. Sie verbessern die Produktivit?t, indem sie die Humanressourcen aus h?herwertigen Aufgaben befreien.

Softwareentwicklung

AI-betriebene Wirkstoffe beschleunigen die Software-Lebenszyklen, indem sie Code generieren, testen und debuggen, wodurch die Entwicklungszeit und das menschliche Fehler verkürzt werden.

Gesundheitspflege

KI -Agenten unterstützen die medizinische Diagnose, die überwachung der Patienten und die Personalisierung der Behandlung, die Verbesserung der Gesundheitsversorgung und die betriebliche Effizienz.

Finanzen

Agenten-Arbeitsabl?ufe in Finanzsystemen automatisieren Betrugserkennung, Risikobewertungen und Investitionsanalysen und erm?glichen eine schnellere und zuverl?ssigere Entscheidungsfindung.

E-Commerce

Intelligenzagenturen verbessern die Personalisierung in Einkaufserlebnissen, optimieren Produktempfehlungen und den Kundendienst.

Der Aufstieg von AI -Agenten und Agenten -Workflows bedeutet eine Verschiebung zu hoch autonomen Systemen, die komplexe Prozesse verwalten k?nnen. Ihre Anpassungsf?higkeit und Lernf?higkeiten machen sie für moderne Branchen, die Innovationen, Skalierbarkeit und Effizienz in allen Bereichen vorantreiben, unverzichtbar. W?hrend sich die KI weiterentwickelt, werden sich KI -Agenten weiter in unsere t?glichen Workflows integrieren und die Art und Weise ver?ndern, wie Aufgaben verwaltet und ausgeführt werden.

Was ist der pydantische Rahmen?

Pydanticai ist ein Python-Agent-Framework, das vom Sch?pfer von Pydantic entwickelt wurde, Fastapi, um die Konstruktion von Anwendungen für Produktionsqualit?t unter Verwendung generativer KI zu optimieren.

Die wichtigsten Merkmale Pydanticai umfassen:

  • Model-Agnostic-Unterstützung: Pydanticai ist mit verschiedenen Modellen kompatibel, darunter OpenAI, Antropic, Gemini, GRAQ, Mistral und Ollama, mit einer einfachen Schnittstelle, um zus?tzliche Modelle zu integrieren.
  • Typ-Safety: Pydanticai nutzt Pythons Typsysteme und Pydantics Validierungen und sorgt für eine robuste und skalierbare Entwicklung der Agenten.
  • Abh?ngigkeitsinjektionssystem: Es führt einen neuartigen Mechanismus für Ty-Safe-Abh?ngigkeitsinjektionsmechanismus ein, der die Tests und Bewertungsentwicklung verbessert.
  • Strukturierte Antwortvalidierung: Die Verwendung von Pydantics Validierungsfunktionen sorgt für genaue und zuverl?ssige Strukturantworten.
  • LogFire-Integration: bietet Integration mit pydantischem Logfire für eine verbesserte Debugging und überwachung von LLM-Antriebsanwendungen.

Hier ist ein minimales Beispiel für Pydanticai:

 OS importieren
vom Pydantic_ai Importagenten
von pydantic_ai.models.gemini Import Geminimodel
aus dotenv import load_dotenv

load_dotenv ()

gemini_api_key = os.getenv ("<google_api_key>")

Modell = Geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
)

Agent = Agent (
    Modell = Modell,
    System_prompt = "Sei pr?zise, ??antworte mit einem Satz.",
)

result = Agent.run_sync ('Woher kommt "Hallo Welt"?')
drucken (Ergebnis.Data)</google_api_key>

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Jetzt ist es Zeit, echte Sachen zu machen. Wir werden eine Postgres -SQL -Abfragegenerierung mit dem Pydanticai Agent Framework erstellen.

Erste Schritte mit Ihrem Projekt

Legen Sie die Grundlage für Ihr Projekt mit einer Schritt-für-Schritt-Anleitung zum Einrichten der wichtigsten Tools und der Umgebung.

Umgebung festlegen

Wir werden eine Conda -Umgebung für das Projekt schaffen.

 #create eine env
$ conda create -name sql_gen python = 3.12

# Aktivieren Sie die Env
$ conda aktivieren sql_gen

Erstellen Sie nun einen Projektordner

 # Erstellen Sie einen Ordner
$ mkdir SQL_CODE_GEN
# In den Ordner wechseln
$ CD SQL_CODE_GEN

Installieren Sie Postgres und laden Sie die Datenbank

Um die Postgres, PSQL-Command-Tools und PGADMIN-4 zu installieren, laden Sie Ihr Installationsprogramm für Ihre Systeme für Ihre Systeme und installieren Sie alle Tools auf einmal.

Laden Sie nun die DVDRental -Datenbank von Hereand herunter, um sie in Postgres zu laden. Befolgen Sie diese Schritte

STEP1: ?ffnen Sie Ihr Terminal

 psql -u postgres

# Es wird nach einem Passwort gefragt

Schritt 2: Erstellen Sie eine Datenbank

 # In der postgres =##

Datenbank erstellen DVDrental;

Schritt 3: Befehl für Terminal

Beenden Sie nun den Befehl PSQL und geben Sie dann das Terminal ein

 pg_restore -U postgres -d dvdrental d: /sampledb/postgres/dvdrental.tar

Schritt 4: Verbinde mit PSQL

Stellen Sie nun eine Verbindung zum PSQL her und überprüfen Sie, ob Ihre Datenbank geladen ist oder nicht.

 psql -u postgres

# Verbinden Sie sich mit DVDrental
\ c dvdrental

# Lassen Sie uns die Tische sehen

\ dt

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Wenn Sie die oben genannten Tabellen sehen, sind Sie in Ordnung. Wir sind bereit, unser Hauptprojekt zu starten.

Installieren Sie nun die erforderlichen Python -Bibliotheken in der SQL_Gen Conda Env.

 conda aktivieren sql_gen

# Bibliotheken installieren
PIP Installation Pydantic Asyncpg Asyncio Pydantic-Ai 

PIP Installieren Sie Python-dotenv fastapi Google-Generativeai

PIP Installieren Sie Devtools Annotated-Typ-Typ-Ausdehnungen

Projektstruktur

Unser Projekt enth?lt 4 Dateien, n?mlich Haupt-, Modelle, Service und Schema.

 sql_query_gen/
|
|--main.py
|-models.py
|--schema.py
|-service.py
|-.v
| --__ init__.py
|-. Gitignore

Schritt-für-Schritt-Anleitung zur Implementierung Ihres Projekts

Tauchen Sie in die detaillierten Schritte und praktischen Techniken ein, um Ihr Projekt mit diesem umfassenden Implementierungshandbuch vom Konzept zur Realit?t zu bringen.

Pydantische Modelle

Wir werden zun?chst Datenmodelle in der Datei models.py erstellen

 aus DataClasses importieren Sie DataClass
Aus dem Annotierten der Einfuhr des Imports
asyncpg importieren
aus Annotatatated_types import minlen
aus pydantischem Import -Basemodel, Feld

@dataclass
Klassen -DEPs:
    Conn: Asyncpg.Connection

Klassenerfolg (Basemodel):
    SQL_Query: Annotated [STR, Minlen (1)]
    Erl?uterung: STR = Field ("", Beschreibung = "Erl?uterung der SQL -Abfrage als Markdown")

Klasse InvalyRequest (Basemodel):
    ERROR_MESSAGE: STR

Im obigen Code,

  • Die DEPS -Klasse verwaltet Datenbankverbindungsabh?ngigkeiten. @Dataclass generiert automatisch spezielle Methoden wie __init__ und __Repr__. Conn wird als "asyncpg.Connection" tippt und stellt eine aktive PostgreSQL -Verbindung dar. Dieses Design folgt Abh?ngigkeitsinjektionsmustern, wodurch der Code nachweisbarer und wartbarer wird.
  • Die Erfolgsklasse stellt eine erfolgreiche SQL-Query-Generation dar . Die Erkl?rung ist ein optionales Feld mit einer Standard -Leerzeichenfolge.
  • Die InvalidRequest-Klasse ist das Fehlerantwortmodell, das fehlgeschlagene SQL-Query-Generierungsversuche darstellt.

Dieser Code legte die Grundlage für die Datenbankverbindungsverwaltung, die Eingabevalidierung, die strukturierte Reaktionsbearbeitung und die Fehlerbehandlung fest.

Servicemodul

Jetzt werden wir die Pydanticai -Dienste für die SQL -Generation im Servicemodul implementieren.

Bibliothek und Konfiguration importieren

 OS importieren
Aus der Typisierung von Import Gewerkschaft
aus dotenv import load_dotenv
asyncpg importieren
Aus typing_extensions importieren typealias
von Pydantic_ai Importagenten, ModellRetry, Runcontext
von pydantic_ai.models.gemini Import Geminimodel
Aus dem Schema importieren DB_SCHEMA
aus Modellen importieren DEPs, Erfolg, InvalidRequest

Um zu konfigurieren, erstellen Sie eine .env -Datei im Projektroot und geben Sie dort Ihren Gemini -API -Schlüssel ein

 # .env

Gemini_api_key = "asgfhkdhjy457gthjhajbsd"

Dann in der Datei service.py:

 load_dotenv ()

gemini_api_key = os.getenv ("google_api_key")

Es wird die Google -API -Taste aus dem `geladen. Env `Datei.

Modell und Agent erstellen

 Antwort: typealias = Union [Erfolg, InvalyRequest]

Modell = Geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
)

Agent = Agent (
    Modell,
    result_type = Antwort, # Typ: Ignorieren
    DEPS_TYPE = DEPS,
)
  • Definieren Sie zuerst einen Antworttyp, der entweder Erfolg oder InvalyRequest sein kann
  • Initialisiert das Gemini 1.5 -Flash -Modell mit API -Schlüssel
  • Erstellen Sie einen Pydanticai -Agenten mit den angegebenen Antwort- und Abh?ngigkeitstypen

System -Eingabeaufforderung Definition

Jetzt definieren wir die Systemaufforderung für unsere SQL -Abfragegenerierung.

 @Agent.System_prompt
Async def system_prompt () -> str:
    kehren Sie f "" \ zurück

Angesichts der folgenden PostgreSQL -Tabelle der Datens?tze ist Ihre Aufgabe zu
Schreiben Sie eine SQL -Abfrage, die zur Anfrage des Benutzers passt.

Datenbankschema:
{Db_schema}

Beispiel
    Anfrage: Finden Sie alle Filme mit einem Mietpreis von mehr als 4,00 USD und einer Bewertung von 'PG'
    Antwort: W?hlen Sie Titel, Rent_rate aus
    Aus dem Film
    Wobei Rental_Rate> 4.00 und Bewertung = 'pg';
Beispiel
    Anfrage: Finden Sie die Filme mit der l?ngsten L?nge
    Antwort: W?hlen Sie Titel, L?nge aus
    Aus dem Film
    Wobei L?nge = (maximal (L?nge) aus dem Film ausw?hlen);
Beispiel
    Anfrage: Finden Sie die durchschnittliche Mietdauer für Filme in jeder Kategorie
    Antwort: W?hlen Sie C.Name, AVG (f.rental_duration) als durchschnitt_rental_duration
    Aus Kategorie c
    Schlie?en Sie Film_Category FC unter category_id = fc.category_id bei
    Treten Sie Film F auf fc.film_id = f.film_id bei
    Gruppe von C.Name
    Bestellung nach durchschnittlich_rental_duration desc;
"" "

Hier definieren wir den Basiskontext für das KI -Modell und geben Beispiele an, um die Antworten des Modells zu leiten. Wir nehmen auch die Datenbankschema -Informationen in das Modell ein, damit das Modell das Schema analysieren und eine bessere Antwort generieren kann.

Antwortvalidierung

Um die Antwort aus dem KI-Modell fehlerfrei und bis zu den Projektanforderungen zu vermitteln, validieren wir nur die Antworten.

 @Agent.Result_validator
Async def validate_result (CTX: RunContext [DEPS], Ergebnis: Antwort) -> Antwort:
    Wenn is inviert (Ergebnis, InvalyRequest):
        Rückgabeergebnis

    # Gemini fügt SQL oft Extraneos -Gegenreaktionen hinzu
    result.sql_query = result.sql_query.replace ("\\", "")
    wenn nicht result.sql_query.upper (). startswith ("select"):
        ModellRetry erh?hen ("Bitte erstellen Sie eine Auswahlabfrage")

    versuchen:
        Warten Sie ctx.deps.conn.execute (f "Erkl?ren {result.sql_query}")
    Au?er asyncpg.exceptions.postgresError als e:
        modelRetry (f "ungültig SQL: {e}") aus e
    anders:
        Rückgabeergebnis

Hier validieren und verarbeiten wir die generierten SQL -Abfragen

Schlüsselvalidierungsschritte:

  • Gibt sofort zurück, wenn das Ergebnis ein InvalyRequeste ist, die zus?tzlichen Backslashes beseitigen
  • Stellen Sie sicher, dass die Abfrage eine ausgew?hlte Anweisung ist
  • Validiert die SQL -Syntax mit PostgreSQL Erkl?rung
  • ModellRetry für ungültige Abfragen erh?hen

Datenbankschema

Um Ihr Datenbankschema zu erhalten, ?ffnen Sie die von Ihnen w?hrend des Postgres-Setups installierte PGADMIN4, wenden Sie sich zur Datenbank " DVDRENTULAL" , klicken Sie mit der rechten Maustaste darauf und klicken Sie auf " ERD für Datenbank ".
Sie erhalten das folgende ERD -Diagramm und erzeugen jetzt SQL aus dem ERD (siehe runde schwarze Markierung auf dem Bild).

Kopieren Sie das Schema in das Schema.py -Modul:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

 # schema.py
Db_schema = "" ""
BEGINNEN;


Erstellen Sie eine Tabelle, wenn nicht ?ffentlich.Actor existiert
(
    Actor_id Serial nicht null,
    First_Name -Zeichen variiert (45) sammeln pg_catalog. "Standard" nicht null,
    Last_name -Zeichen variiert (45) sammeln pg_catalog. "Standard" nicht null,
    Last_update Timestamp ohne Zeitzone nicht null Standard (),
    Einschr?nkung Actor_Pkey Prim?rschlüssel (Actor_id)
);
.
.
.
  
.
.
.
"" "

Der obige Codeblock ist stark abgeschnitten , um den vollst?ndigen Code zu erhalten. Bitte besuchen Sie das Projektrepo.

Nun, da alle notwendigen Module abgeschlossen wurden, Zeit für die Implementierung der Hauptmethode und des Tests.

Main implementieren

Wir werden die Hauptfunktionsdefinition und die schnelle Handhabung durchführen.

 Asyncio importieren
OS importieren
Importsystem
Aus der Typisierung von Import Gewerkschaft
aus dotenv import load_dotenv
asyncpg importieren
aus Devtools Import Debugug
Aus typing_extensions importieren typealias
vom Pydantic_ai Importagenten
von pydantic_ai.models.gemini Import Geminimodel
aus Modellen importieren DEPs, Erfolg, InvalidRequest

load_dotenv ()

gemini_api_key = os.getenv ("google_api_key")


Antwort: typealias = Union [Erfolg, InvalyRequest]

Modell = Geminimodel (
    "Gemini-1.5-Flash",
    api_key = gemini_api_key,
)

Agent = Agent (
    Modell,
    result_type = Antwort, # Typ: Ignorieren
    DEPS_TYPE = DEPS,
)


Async def Main ():
    Wenn Len (sys.argv) == 1:
        fordert = "Bitte eine Auswahlabfrage erstellen"
    anders:
        Eingabeaufforderung = sys.argv [1]

    # Verbindung zur Datenbank
    conn = erwarten asyncpg.connect (
        user = "postgres",
        Passwort = "Avizyt",
        Host = "localhost",
        Port = 5432,
        Database = "DVDRENTAL",
    )
    versuchen:
        DEPs = DEPs (conn)
        result = act Agent.run (Eingabeaufforderung, DEPS = DEPS)
        result = debug (result.data)
        print ("========== Ihre Abfrage ========"))
        print (debug (result.sql_query))
        print ("========== Erl?uterung ========"))
        print (debug (result.explanation))

    Endlich:
        warten conn.close ()


Wenn __name__ == "__main__":
    asyncio.run (main ())

Definieren Sie hier zun?chst eine asynchrone Hauptfunktion und überprüfen Sie das Befehlszeilenargument für Client-Abfrage. Wenn keine Argumente bereitgestellt werden, verwenden Sie die Standardaufforderung.

Anschlie?end setzen wir die Postgres -Verbindungsparameter für eine Verbindung mit dem DVDRENTION -Datenbankdienst.

Erstellen Sie im Try -Block eine DEPS -Instanz mit einer Datenbankverbindung, führen Sie die AI -Agenten mit der Eingabeaufforderung aus und verarbeiten die Ergebnisse mithilfe der Debug -Funktion ( PIP -Installation Devtools ). Druckt dann die formatierte Ausgabe einschlie?lich der generierten SQL -Abfrage und Erl?uterung der Abfrage. Danach haben wir schlie?lich die Datenbankverbindung geschlossen.

Führen Sie nun das Hauptmodul wie unten aus:

 # im Terminal
Python main.py "Holen Sie sich die Gesamtzahl der Vermietungen für jeden Kunden"

Ausgabe:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Nach dem Testen der SQL -Abfrage im Pgadmin4:

Bauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen

Wow! Es funktioniert wie wir wollen. Testen Sie weitere Fragen wie diese und genie?en Sie das Lernen.

Abschluss

Dieses Projekt stellt einen wesentlichen Schritt weiter, um Datenbankinteraktionen intuitiver und zug?nglicher zu gestalten. Durch die Kombination der Kraft von KI mit robusten Software-Engineering-Prinzipien haben wir ein Tool erstellt, das nicht nur SQL-Abfragen generiert, sondern dies auf eine sichere, lehrreiche und praktische Verwendung für die reale Verwendung ist.

Der Erfolg dieser Implementierung zeigt das Potenzial für KI, herk?mmliche Datenbankvorg?nge zu verbessern, anstatt ersetzt und ein wertvolles Instrument sowohl für Lernen als auch für die Produktivit?t bietet.

Project Repo - Alle in diesem Projekt verwendeten Code finden Sie hier.

Key Takeaways

  • Pydanticai erm?glicht eine intelligente, kontextbezogene Codegenerierung.
  • Gemini-1.5-Flash bietet ein erweitertes Verst?ndnis für die natürliche Sprache für technische Aufgaben.
  • AI -Agenten k?nnen die Interaktion mit Datenbanken ver?ndern und Code generieren.
  • Eine robuste Validierung ist in Co-generierten Codesystemen von entscheidender Bedeutung.

H?ufig gestellte Fragen

Q 1. Was ist der Vorteil von Pydanticai für die SQL -Generation?

A. Pydanticai bietet Typ-Safe, validierte Codegenerierung mit integrierter Fehlerprüfung und kontextbezogenem Verst?ndnis.

Q 2. Wie tr?gt Gemini-1.5-Flash zum Projekt bei?

A. Gemini -Modell bietet eine erweiterte Verarbeitung natürlicher Sprache und übersetzt komplexe menschliche Abfragen in pr?zise SQL -Anweisungen.

F 3. Kann dieses Projekt auf andere AI -Anwendungen ausgedehnt werden?

A. Absolut! Die Architektur kann für die Codegenerierung, die Datenumwandlung und die intelligente Automatisierung in verschiedenen Bereichen angepasst werden.

Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Das obige ist der detaillierte Inhalt vonBauen Sie LLM-Antr?ge auf Produktionsst?rungen mit Pydanticai-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1488
72
Kimi K2: Das m?chtigste Open-Source-Agentenmodell Kimi K2: Das m?chtigste Open-Source-Agentenmodell Jul 12, 2025 am 09:16 AM

Erinnern Sie sich an die Flut chinesischer Open-Source-Modelle, die die Genai-Industrie Anfang dieses Jahres gest?rt haben? W?hrend Deepseek die meisten Schlagzeilen machte, war Kimi K1.5 einer der herausragenden Namen in der Liste. Und das Modell war ziemlich cool.

Grok 4 gegen Claude 4: Was ist besser? Grok 4 gegen Claude 4: Was ist besser? Jul 12, 2025 am 09:37 AM

Bis Mitte 2025 heizt sich das KI ?Wettret“ auf, und Xai und Anthropic haben beide ihre Flaggschiff-Modelle GROK 4 und Claude 4 ver?ffentlicht. Diese beiden Modelle befinden

10 erstaunliche humanoide Roboter, die heute bereits unter uns gehen 10 erstaunliche humanoide Roboter, die heute bereits unter uns gehen Jul 16, 2025 am 11:12 AM

Aber wir müssen wahrscheinlich nicht einmal 10 Jahre warten, um einen zu sehen. Was als erste Welle wirklich nützlicher, menschlicher Maschinen angesehen werden k?nnte, ist bereits da. In den letzten Jahren wurden eine Reihe von Prototypen und Produktionsmodellen aus t herausgezogen

Context Engineering ist der neue ' Schnelltechnik Context Engineering ist der neue ' Schnelltechnik Jul 12, 2025 am 09:33 AM

Bis zum Vorjahr wurde eine schnelle Engineering als entscheidende F?higkeit zur Interaktion mit gro?artigen Modellen (LLMs) angesehen. In jüngster Zeit sind LLM jedoch in ihren Argumentations- und Verst?ndnisf?higkeiten erheblich fortgeschritten. Natürlich unsere Erwartung

6 Aufgaben Manus ai kann in wenigen Minuten erledigen 6 Aufgaben Manus ai kann in wenigen Minuten erledigen Jul 06, 2025 am 09:29 AM

Ich bin sicher, Sie müssen über den allgemeinen KI -Agenten Manus wissen. Es wurde vor einigen Monaten auf den Markt gebracht, und im Laufe der Monate haben sie ihrem System mehrere neue Funktionen hinzugefügt. Jetzt k?nnen Sie Videos erstellen, Websites erstellen und viel MO machen

Bauen Sie einen Langchain -Fitnesstrainer: Ihr KI -Personal Trainer Bauen Sie einen Langchain -Fitnesstrainer: Ihr KI -Personal Trainer Jul 05, 2025 am 09:06 AM

Viele Menschen haben leidenschaftlich ins Fitnessstudio gegangen und glauben, dass sie auf dem richtigen Weg sind, um ihre Fitnessziele zu erreichen. Die Ergebnisse sind jedoch nicht aufgrund schlechter Di?tplanung und mangelnder Richtung vorhanden. Einstellung eines Personal Trainer Al

Leia's Imgsitary Mobile App bringt die 3D -Tiefe in allt?gliche Fotos Leia's Imgsitary Mobile App bringt die 3D -Tiefe in allt?gliche Fotos Jul 09, 2025 am 11:17 AM

Aufgebaut auf Leia's propriet?rer neuronaler Tiefenmotor verarbeitet die App still Bilder und fügt die natürliche Tiefe zusammen mit simulierten Bewegungen hinzu - wie Pfannen, Zoome und Parallaxeffekte -, um kurze Video -Rollen zu erstellen, die den Eindruck erwecken, in die SCE einzusteigen

Diese KI -Modelle haben nicht die Sprache gelernt, sie lernten Strategie Diese KI -Modelle haben nicht die Sprache gelernt, sie lernten Strategie Jul 09, 2025 am 11:16 AM

Eine neue Studie von Forschern am King's College London und der University of Oxford teilt die Ergebnisse dessen, was passiert ist, als OpenAI, Google und Anthropic in einem Cutthroat -Wettbewerb zusammengeworfen wurden, der auf dem iterierten Dilemma des Gefangenen basiert. Das war nein

See all articles