Κοινοποίηση μέσω


Χρησιμοποιήστε ai.generate_response με το PySpark

Η ai.generate_response λειτουργία χρησιμοποιεί γενετική τεχνητή νοημοσύνη για τη δημιουργία προσαρμοσμένων απαντήσεων κειμένου που βασίζονται στις δικές σας οδηγίες, με μία μόνο γραμμή κώδικα.

Σημείωμα

Επισκόπηση

Η ai.generate_response συνάρτηση είναι διαθέσιμη για Spark DataFrames. Πρέπει να καθορίσετε το όνομα μιας υπάρχουσας στήλης εισόδου ως παράμετρο. Πρέπει επίσης να καθορίσετε μια ερώτηση που βασίζεται σε συμβολοσειρά και μια δυαδική τιμή που υποδεικνύει εάν αυτή η ερώτηση πρέπει να αντιμετωπιστεί ως συμβολοσειρά μορφοποίησης.

Η συνάρτηση επιστρέφει ένα νέο DataFrame, με προσαρμοσμένες αποκρίσεις για κάθε γραμμή κειμένου εισόδου που είναι αποθηκευμένη σε μια στήλη εξόδου.

Tip

Μάθετε πώς να δημιουργείτε πιο αποτελεσματικές προτροπές για να λαμβάνετε απαντήσεις υψηλότερης ποιότητας ακολουθώντας τις συμβουλές προτροπής του OpenAI για το gpt-4.1.

Σύνταξη

df.ai.generate_response(prompt="Instructions for a custom response based on all column values", output_col="response")

Παράμετροι

'Ονομα Περιγραφή
prompt
Απαραίτητο
Μια συμβολοσειρά που περιέχει οδηγίες προτροπής. Αυτές οι οδηγίες εφαρμόζονται στην εισαγωγή τιμών κειμένου για προσαρμοσμένες αποκρίσεις.
is_prompt_template
Προαιρετικός
Ένα Boolean που υποδεικνύει εάν το μήνυμα είναι συμβολοσειρά μορφοποίησης ή κυριολεκτική συμβολοσειρά. Εάν αυτή η παράμετρος οριστεί σε True, τότε η συνάρτηση λαμβάνει υπόψη μόνο τις συγκεκριμένες τιμές γραμμής από κάθε στήλη που εμφανίζεται στη συμβολοσειρά μορφής. Σε αυτήν την περίπτωση, αυτά τα ονόματα στηλών πρέπει να εμφανίζονται μεταξύ άγκιστρα και άλλες στήλες παραβλέπονται. Εάν αυτή η παράμετρος έχει οριστεί στην προεπιλεγμένη τιμή της False, τότε η συνάρτηση λαμβάνει υπόψη όλες τις τιμές στήλης ως περιβάλλον για κάθε γραμμή εισόδου.
output_col
Προαιρετικός
Μια συμβολοσειρά που περιέχει το όνομα μιας νέας στήλης για την αποθήκευση προσαρμοσμένων αποκρίσεων για κάθε γραμμή κειμένου εισαγωγής. Εάν δεν ορίσετε αυτήν την παράμετρο, δημιουργείται ένα προεπιλεγμένο όνομα για τη στήλη εξόδου.
error_col
Προαιρετικός
Μια συμβολοσειρά που περιέχει το όνομα μιας νέας στήλης για την αποθήκευση τυχόν σφαλμάτων OpenAI που προκύπτουν από την επεξεργασία κάθε γραμμής κειμένου εισαγωγής. Εάν δεν ορίσετε αυτήν την παράμετρο, δημιουργείται ένα προεπιλεγμένο όνομα για τη στήλη σφάλματος. Εάν δεν υπάρχουν σφάλματα για μια γραμμή εισόδου, η τιμή σε αυτήν τη στήλη είναι null.
response_format
Προαιρετικός
Μια συμβολοσειρά ή λεξικό που καθορίζει την αναμενόμενη δομή της απόκρισης του μοντέλου. Οι τιμές συμβολοσειράς μπορούν να οριστούν σε "κείμενο" για κείμενο ελεύθερης μορφής ή "json_object" για να διασφαλιστεί ότι η έξοδος είναι έγκυρο αντικείμενο JSON. Διαφορετικά, το type πεδίο μπορεί να οριστεί σε "json_schema" με ένα προσαρμοσμένο σχήμα JSON για την επιβολή μιας συγκεκριμένης δομής απόκρισης. Εάν αυτή η παράμετρος δεν παρέχεται, η απόκριση επιστρέφεται ως απλό κείμενο.

Επιστρέφει

Η συνάρτηση επιστρέφει ένα Spark DataFrame που περιλαμβάνει μια νέα στήλη που περιέχει προσαρμοσμένες απαντήσεις κειμένου στην ερώτηση για κάθε γραμμή κειμένου εισαγωγής.

Παράδειγμα

# This code uses AI. Always review output for mistakes. 

df = spark.createDataFrame([
        ("Scarves",),
        ("Snow pants",),
        ("Ski goggles",)
    ], ["product"])

responses = df.ai.generate_response(prompt="Write a short, punchy email subject line for a winter sale.", output_col="response")
display(responses)

Αυτό το παράδειγμα κελιού κώδικα παρέχει την ακόλουθη έξοδο:

Στιγμιότυπο οθόνης που εμφανίζει ένα πλαίσιο δεδομένων με τις στήλες

Παράδειγμα μορφής απόκρισης

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να χρησιμοποιήσετε την response_format παράμετρο για να καθορίσετε διαφορετικές μορφές απόκρισης, όπως απλό κείμενο, ένα αντικείμενο JSON και ένα προσαρμοσμένο σχήμα JSON.

# This code uses AI. Always review output for mistakes.

df = spark.createDataFrame([
        ("Alex Rivera is a 24-year-old soccer midfielder from Barcelona who scored 12 goals last season.",),
        ("Jordan Smith, a 29-year-old basketball guard from Chicago, averaged 22 points per game.",),
        ("William O'Connor is a 22-year-old tennis player from Dublin who won 3 ATP titles this year.",)
    ], ["bio"])

# response_format : text
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote",
        response_format="text",
        output_col="card_text"
)

# response_format : json object
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote in JSON",
        response_format="json_object", # Requires "json" in the prompt
        output_col="card_json_object"
)

# response_format : specified json schema
df = df.ai.generate_response(
        prompt="Create a player card with the player's details and a motivational quote",
        response_format={
           "type": "json_schema",
            "json_schema": {
                "name": "player_card_schema",
                "strict": True,
                "schema": {
                    "type": "object",
                    "properties": {
                        "name": {"type": "string"},
                        "age": {"type": "integer"},
                        "sport": {"type": "string"},
                        "position": {"type": "string"},
                        "hometown": {"type": "string"},
                        "stats": {"type": "string", "description": "Key performance metrics or achievements"},
                        "motivational_quote": {"type": "string"},
                    },
                    "required": ["name", "age", "sport", "position", "hometown", "stats", "motivational_quote"],
                    "additionalProperties": False,
                },
            }
        },
        output_col="card_json_schema"
)

display(df)

Αυτό το παράδειγμα κελιού κώδικα παρέχει την ακόλουθη έξοδο:

Στιγμιότυπο οθόνης που εμφανίζει ένα πλαίσιο δεδομένων με μια στήλη «βιογραφικό» και μια νέα στήλη για κάθε καθορισμένη μορφή, με την αντίστοιχη μορφοποιημένη έξοδο.