Partager via


Utiliser ai.generate_response avec pandas

La fonction utilise l’IA ai.generate_response générative pour générer des réponses de texte personnalisées basées sur vos propres instructions, avec une seule ligne de code.

Note

Aperçu

La ai.generate_response fonction peut étendre la classe DataFrame pandas et la classe pandas Series .

Pour générer des réponses de texte personnalisées ligne par ligne, vous pouvez appeler cette fonction sur une série pandas ou un DataFrame pandas entier.

Si vous appelez la fonction sur un DataFrame pandas entier, votre invite peut être une chaîne littérale, et la fonction prend en compte toutes les colonnes du DataFrame lors de la génération de réponses. Votre invite peut également être une chaîne de format, où la fonction considère uniquement les valeurs de colonne qui apparaissent entre accolades dans l’invite.

La fonction retourne une série pandas qui contient des réponses de texte personnalisées pour chaque ligne d’entrée. Les réponses de texte peuvent être stockées dans une nouvelle colonne DataFrame.

Conseil / Astuce

Découvrez comment créer des invites plus efficaces pour obtenir des réponses de qualité supérieure en suivant les conseils d’invite d’OpenAI pour gpt-4.1.

Syntaxe

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

Paramètres

Nom Descriptif
prompt
Obligatoire
Chaîne qui contient des instructions d’invite à appliquer aux valeurs de texte d’entrée pour les réponses personnalisées.
is_prompt_template
Optional
Valeur booléenne qui indique si l’invite est une chaîne de format ou une chaîne littérale. Si ce paramètre est défini sur True, alors la fonction considère uniquement les valeurs de ligne spécifiques de chaque nom de colonne qui apparaissent dans la chaîne de format. Dans ce cas, ces noms de colonnes doivent apparaître entre accolades, et d'autres colonnes sont ignorées. Si ce paramètre est défini sur sa valeur par défaut, la fonction considère toutes les valeurs de Falsecolonne comme contexte pour chaque ligne d’entrée.
response_format
Optional
Dictionnaire qui spécifie la structure attendue de la réponse du modèle. Le type champ peut être défini sur « text » pour le texte de forme libre, « json_object » pour vous assurer que la sortie est un objet JSON valide ou un schéma JSON personnalisé pour appliquer une structure de réponse spécifique. Si ce paramètre n’est pas fourni, la réponse est retournée sous forme de texte brut.

Retours

La fonction retourne un DataFrame pandas qui contient des réponses textuelles personnalisées pour chaque ligne de texte d'entrée.

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)

Cet exemple de cellule de code fournit la sortie suivante :

Capture d’écran montrant une trame de données avec des colonnes « product » et « response ». La colonne « response » contient une ligne d’objet percutant pour le produit.

Exemple de format de réponse

L’exemple suivant montre comment utiliser le response_format paramètre pour spécifier différents formats de réponse, notamment du texte brut, un objet JSON et un schéma JSON personnalisé.

# 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)

Cet exemple de cellule de code fournit la sortie suivante :

Capture d’écran montrant une trame de données avec une colonne « bio » et une nouvelle colonne pour chaque format spécifié, avec sa sortie mise en forme correspondante.