Aller au contenu

Samedi 17 octobre 2026 Mis à jour à 17 h 04

Lire sans pub

R et Python : Améliorer l’ingénierie des prompts avec Perplexity

Par Sara 2 min de lecture France

Garder Discussion

Dans cet article, nous explorons comment combiner R et Python pour optimiser l’ingénierie des prompts à l’aide de l’API Perplexity. L’objectif est de corriger les performances insatisfaisantes d’une étude de cas antérieure en améliorant la façon dont nous formulons les requêtes.

Contexte

L’exemple motivant ici utilise à nouveau des modèles de langage de grande taille (LLMs) pour m’aider à calculer certaines caractéristiques pour mon modèle des Oscars. Plus précisément : combien de films le réalisateur d’un film nommé dans la catégorie Meilleur Film a-t-il réalisé avant le film en question ?

Erreurs précédentes

Dans mon article précédent, j’ai constaté des performances assez médiocres. Une partie de cela est due au système des studios à Hollywood : les réalisateurs des films d’avant 1970 avaient des films à leur actif en raison de ce système, ainsi que des courts-métrages et des documentaires. Cela souligne l’importance de l’expertise dans le domaine des sciences des données.

Changement 1

Cette fois, j’ai décidé de ne considérer que les films nominés après 1969, ce qui reflète un changement qualitatif dans la manière dont les données sont générées.

Changement 2

J’utilisais GPT-3.5 Turbo à l’intérieur d’un agent LangChain équipé de l’API Wikipédia. J’ai réalisé que je devais changer d’approche car je ne pouvais pas accéder à toutes les informations nécessaires dans les résultats fournis.

Changement 3

J’ai donc remplacé LangChain par Perplexity AI, qui utilise un moteur de recherche conversationnel pour fournir des informations en temps réel.

Changement 4

Enfin, j’ai retravaillé mon prompt afin d’améliorer la clarté des instructions données au modèle.

Approche actuelle

Actuellement, j’utilise l’API Perplexity avec un prompt réécrit. J’emploie le module OpenAI en Python pour accéder à Perplexity, qui utilise le modèle llama-3.1-sonar-large-128k-online.

from openai import OpenAI
API_KEY=""
model="llama-3.1-sonar-large-128k-online"
client = OpenAI(api_key=API_KEY, base_url="https://api.perplexity.ai")

def get_films(director):
    messages = [
        { "role": "system", "content": """Vous êtes un assistant de recherche détaillé, aidant l'utilisateur à trouver les noms de films."""},
        { "role": "user", "content": director }
    ]
    response = client.chat.completions.create(model=model, messages=messages, temperature=0)
    return response.choices[0].message.content

Diviser le travail en R

Récupérer les données

J’ai configuré {reticulate} en utilisant un environnement virtuel lié à mon Google Drive. Je récupère une liste de réalisateurs qui ont dirigé un film nommé aux Oscars après 1969.

library(googlesheets4)
library(tidyverse)
library(reticulate)
use_virtualenv("../../../../")
source_python("ppxai.py")
gs4_auth()

Performance et résultats

Nous avons considérablement amélioré nos performances de recherche d’informations en utilisant Perplexity AI :

  • La corrélation entre l’estimation et la réalité est passée de 0,82 à 0,99.
  • L’erreur absolue moyenne (MAE) est passée de 2,01 films à 0,50 films.
  • Le taux de réponses correctes a augmenté de 42% à 70%.

Visualisation des résultats

Les graphiques ci-dessous montrent la relation entre les données vérifiées et les estimations fournies par Perplexity :

Graphique de performance
Graphique de performance

Importance de l’ingénierie des prompts

Cet exercice montre l’importance de l’ingénierie des prompts et comment une meilleure compréhension de l’architecture d’un LLM peut mener à de meilleures requêtes. En décomposant les tâches en parties plus petites et en ne s’appuyant sur le LLM que lorsque cela est nécessaire, on optimise la recherche d’informations.

Cet article vous a-t-il aidé à comprendre ?

Connectez-vous pour donner votre avis : il aide la rédaction à savoir ce qui reste à expliquer.

Abonnement One Media

Lisez One Media sans publicité

Formule

Aucune publicité sur votre compte, votre carte de lecteur numérotée à votre nom, résiliable à tout moment.

Toutes les formules, dont l’annuel avec 2 mois offerts

Discussion

Soyez le premier à réagir. Un compte gratuit suffit ; le premier message est relu avant publication.

Se connecter Créer un compte

À lire ensuite

Toute la rubrique Tech

Explorer

Chargement des rubriques…

Votre compte

Créez un compte gratuit pour garder des articles, suivre des rubriques, retrouver votre historique et participer aux débats.

Se connecter Créer un compte