ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment alimenter GPT avec du contenu web en direct via API
Tutoriel

Comment alimenter GPT avec du contenu web en direct via API

Construisez un pipeline Python qui récupère les résultats de recherche Google en direct via Scavio et les alimente dans GPT pour des réponses ancrées et à jour avec des citations de sources.

Obtenez une clé API gratuiteDocumentation API

Les grands modèles de langage produisent des réponses de meilleure qualité lorsqu'ils sont ancrés dans des données web actuelles plutôt que de se fier uniquement aux données d'entraînement. Ce tutoriel construit un pipeline qui récupère les résultats Google en direct pour une question d'utilisateur, formate les meilleurs résultats en contexte, et les envoie à GPT avec des instructions pour répondre en utilisant uniquement les sources fournies. Le résultat est une réponse citée et à jour, similaire à Perplexity ou Bing Chat, construite avec moins de 50 lignes de Python.

Prérequis

  • Python 3.10 ou supérieur
  • pip install requests openai
  • Une clé API Scavio
  • Une clé API OpenAI

Parcours

Étape 1: Récupérer les résultats de recherche pour la question

Utilisez l'API Scavio pour obtenir les meilleurs résultats organiques pour la question de l'utilisateur. Ceux-ci serviront de contexte d'ancrage.

Python
import os
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")

def fetch_context(question: str, n: int = 5) -> list[dict]:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"query": question, "country_code": "us"}
    )
    r.raise_for_status()
    return r.json().get("organic_results", [])[:n]

Étape 2: Formater les résultats en contexte

Convertissez les résultats de recherche en un bloc de contexte numéroté que le LLM peut référencer par numéro de source.

Python
def format_context(results: list[dict]) -> str:
    lines = []
    for i, r in enumerate(results, 1):
        lines.append(f"[{i}] {r.get('title', '')}")
        lines.append(f"    URL: {r.get('link', '')}")
        lines.append(f"    {r.get('snippet', '')}")
    return "\n".join(lines)

Étape 3: Envoyer à GPT avec des instructions d'ancrage

Transmettez le contexte et la question à GPT avec une invite système qui exige de citer les sources par numéro.

Python
from openai import OpenAI

client = OpenAI()

def ask_with_context(question: str, context: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "Answer the question using ONLY the provided search results. Cite sources using [n] notation. If the results do not contain the answer, say so."},
            {"role": "user", "content": f"Search results:\n{context}\n\nQuestion: {question}"}
        ],
        temperature=0
    )
    return response.choices[0].message.content

Étape 4: Exécuter le pipeline complet

Enchaînez les étapes de récupération, de formatage et de réponse pour toute question utilisateur.

Python
def answer(question: str) -> str:
    results = fetch_context(question)
    context = format_context(results)
    return ask_with_context(question, context)

print(answer("What are the best Python testing frameworks in 2026?"))

Exemple Python

Python
import os
import requests
from openai import OpenAI

SCAVIO_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
client = OpenAI()

def fetch_context(question: str) -> list[dict]:
    r = requests.post("https://api.scavio.dev/api/v1/search",
                      headers={"x-api-key": SCAVIO_KEY},
                      json={"query": question, "country_code": "us"})
    r.raise_for_status()
    return r.json().get("organic_results", [])[:5]

def format_context(results: list[dict]) -> str:
    return "\n".join(f"[{i}] {r['title']}\n    {r.get('snippet', '')}\n    {r['link']}" for i, r in enumerate(results, 1))

def answer(question: str) -> str:
    ctx = format_context(fetch_context(question))
    resp = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "Answer using ONLY the search results. Cite with [n]."},
            {"role": "user", "content": f"Results:\n{ctx}\n\nQuestion: {question}"}
        ], temperature=0)
    return resp.choices[0].message.content

if __name__ == "__main__":
    print(answer("What are the best Python testing frameworks in 2026?"))

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const { OpenAI } = require("openai");
const client = new OpenAI();

async function fetchContext(question) {
  const res = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": SCAVIO_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: question, country_code: "us" })
  });
  const data = await res.json();
  return (data.organic_results || []).slice(0, 5);
}

async function answer(question) {
  const results = await fetchContext(question);
  const ctx = results.map((r, i) => `[${i + 1}] ${r.title}\n    ${r.snippet || ""}\n    ${r.link}`).join("\n");
  const resp = await client.chat.completions.create({
    model: "gpt-4o",
    messages: [
      { role: "system", content: "Answer using ONLY the search results. Cite with [n]." },
      { role: "user", content: `Results:\n${ctx}\n\nQuestion: ${question}` }
    ], temperature: 0
  });
  console.log(resp.choices[0].message.content);
}

answer("Best Python testing frameworks 2026").catch(console.error);

Sortie attendue

JSON
Based on search results, the top Python testing frameworks in 2026 are:

1. **pytest** - The most popular framework with extensive plugin support [1]
2. **Hypothesis** - Property-based testing gaining rapid adoption [2]
3. **Playwright for Python** - Leading choice for end-to-end browser testing [3]

Sources:
[1] https://example.com/python-testing-2026
[2] https://example.com/hypothesis-testing
[3] https://example.com/playwright-python

Tutoriels associés

  • Comment construire un agent RAG avec LangChain et Scavio
  • Comment construire un moteur de réponse style Perplexity avec Next.js et Scavio

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.10 ou supérieur. pip install requests openai. Une clé API Scavio. Une clé API OpenAI. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleures API de recherche pour l'intégration dans les pipelines en 2026

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Best Of

Meilleures API de recherche pour l'ancrage RAG en production en 2026

Read more
Use Case

Intégration de la recherche OpenWebUI avec une API de recherche

Read more
Use Case

Recherche Web de l'Agent Hermes

Read more
Glossary

Ère du Paywall de Recherche (2026)

Read more

Commencer

Construisez un pipeline Python qui récupère les résultats de recherche Google en direct via Scavio et les alimente dans GPT pour des réponses ancrées et à jour avec des citations de sources.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité