Freigeben über


Verwenden von ai.generate_response mit Pandas

Die ai.generate_response Funktion verwendet generative KI, um benutzerdefinierte Textantworten zu generieren, die auf Ihren eigenen Anweisungen basieren, mit einer einzigen Codezeile.

Hinweis

Überblick

Die ai.generate_response Funktion kann die Pandas DataFrame-Klasse und die Pandas Series-Klasse erweitern.

Um benutzerdefinierte Textantworten zeilenweise zu generieren, können Sie diese Funktion entweder auf eine pandas-Serie oder auf einen gesamten pandas-Datenrahmen aufrufen.

Wenn Sie die Funktion für einen gesamten Pandas DataFrame aufrufen, kann Ihre Eingabeaufforderung eine Literalzeichenfolge sein, und die Funktion berücksichtigt alle Spalten des DataFrames beim Generieren von Antworten. Ihre Eingabeaufforderung kann auch eine Formatzeichenfolge sein, bei der die Funktion nur die Spaltenwerte berücksichtigt, die in der Eingabeaufforderung zwischen geschweiften Klammern angezeigt werden.

Die Funktion gibt eine Pandas-Reihe zurück, die benutzerdefinierte Textantworten für jede Eingabezeile enthält. Die Textantworten können in einer neuen DataFrame-Spalte gespeichert werden.

Tipp

Erfahren Sie, wie Sie effektivere Aufforderungen erstellen, um antworten mit höherer Qualität zu erhalten, indem Sie die Tipps zur Aufforderung von OpenAI für gpt-4.1 befolgen.

Syntax

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

Die Parameter

Name Description
prompt
Erforderlich
Eine Zeichenfolge , die Anweisungen zum Anwenden auf Eingabetextwerte für benutzerdefinierte Antworten enthält.
is_prompt_template
Wahlfrei
Ein Boolescher Wert, der angibt, ob es sich bei der Eingabeaufforderung um eine Formatzeichenfolge oder eine Literalzeichenfolge handelt. Wenn dieser Parameter auf True festgelegt ist, berücksichtigt die Funktion nur die spezifischen Zeilenwerte aus jedem Spaltennamen, der in der Formatzeichenfolge angezeigt wird. In diesem Fall müssen diese Spaltennamen zwischen geschweiften Klammern angezeigt werden, und andere Spalten werden ignoriert. Wenn dieser Parameter auf den Standardwert festgelegt Falseist, berücksichtigt die Funktion alle Spaltenwerte als Kontext für jede Eingabezeile.
response_format
Wahlfrei
Ein Wörterbuch , das die erwartete Struktur der Antwort des Modells angibt. Das type Feld kann für Freiformtext auf "Text", "json_object" festgelegt werden, um sicherzustellen, dass die Ausgabe ein gültiges JSON-Objekt ist, oder ein benutzerdefiniertes JSON-Schema, um eine bestimmte Antwortstruktur zu erzwingen. Wenn dieser Parameter nicht angegeben wird, wird die Antwort als Nur-Text zurückgegeben.

Rückkehr

Die Funktion gibt einen Pandas DataFrame zurück, der benutzerdefinierte Textantworten an die Eingabeaufforderung für jede Eingabetextzeile enthält.

Example

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

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

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

Diese Beispielcodezelle stellt die folgende Ausgabe bereit:

Screenshot eines Datenrahmens mit den Spalten

Beispiel für das Antwortformat

Das folgende Beispiel zeigt, wie Sie den response_format Parameter verwenden, um verschiedene Antwortformate anzugeben, einschließlich Nur-Text, json-Objekt und einem benutzerdefinierten JSON-Schema.

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

df = pd.DataFrame([
        ("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.")
    ], columns=["bio"])

# response_format : text
df["card_text"] = df.ai.generate_response(
    "Create a player card with the player's details and a motivational quote", 
    response_format={"type": "text"}
)

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

# response_format : specified json schema
df["card_json_schema"] = df.ai.generate_response(
    "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,
            },
        },
    },
)

display(df)

Diese Beispielcodezelle stellt die folgende Ausgabe bereit:

Screenshot eines Datenrahmens mit einer