AGTCloud API Docs
GuidesRéférence APIIntégrations et ressourcesMises à jour et aide
Web Search

OpenAI Web Search

Recherchez sur le Web via Responses ou Chat et traitez les citations des sources.

OpenAI Web Search permet aux modèles compatibles de rechercher sur le Web avant de répondre, puis de retourner du texte, des appels de recherche et des citations. Il convient aux actualités, à la météo, aux mises à jour de produits et aux autres questions sensibles au temps.

Si les données proviennent de vos bases ou services métier, définissez des outils contrôlés avec Tool Calling plutôt que de confier les données internes à une recherche publique.

Vérifier d’abord le modèle et l’endpoint

La présence des champs Web Search ne signifie pas que tous les modèles du compte les prennent en charge. Vérifiez le modèle et le protocole dans le Catalogue de modèles, puis consultez la référence API correspondante.

Choisir Responses ou Chat

EndpointActivationEmplacement des résultats
ResponsesAjouter un Web Search Tool dans toolsweb_search_call et Message Output Item
Chat CompletionsUtiliser web_search_optionsAssistant Message et annotations

Responses convient davantage aux applications qui distinguent les recherches, les réponses et les sources ; Chat convient aux projets utilisant déjà une structure de messages.

Rechercher sur le Web avec Responses

curl 'https://api.agtcloud.cn/v1/responses' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your-api-key' \
  --data '{
    "model": "MODEL_ID",
    "tools": [
      {
        "type": "web_search_preview",
        "search_context_size": "medium"
      }
    ],
    "input": "Quelles actualités technologiques méritent l’attention aujourd’hui ?"
  }'

Le modèle peut décider de rechercher selon la question. Si une recherche a lieu, output contient généralement un élément d’appel de recherche et un message textuel. Consultez les types Tool dans Responses Reference.

Utiliser Chat Completions

curl 'https://api.agtcloud.cn/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your-api-key' \
  --data '{
    "model": "MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Quelles actualités technologiques méritent l’attention aujourd’hui ?"
      }
    ],
    "web_search_options": {
      "search_context_size": "medium"
    }
  }'

Le texte Chat se trouve dans choices[].message.content et les citations structurées, lorsqu’elles sont fournies, dans choices[].message.annotations. Consultez Chat Completions Reference.

Lire la réponse et les citations

{
  "output": [
    {
      "type": "web_search_call",
      "id": "ws_example",
      "status": "completed"
    },
    {
      "type": "message",
      "content": [
        {
          "type": "output_text",
          "text": "D’après les résultats de recherche…",
          "annotations": [
            {
              "type": "url_citation",
              "url": "https://example.com/article",
              "title": "Titre de la source"
            }
          ]
        }
      ]
    }
  ]
}

Ne conservez pas uniquement la réponse. Gardez les URL, les titres et la correspondance entre citations et positions dans le texte. Affichez des sources cliquables et utilisez les attributs de sécurité appropriés pour les liens externes ouverts dans un nouvel onglet.

Limiter le périmètre de recherche

Si le modèle et l’endpoint le permettent, configurez les conditions suivantes :

  • Domaines : rechercher uniquement sur les sites autorisés, notamment pour les sources médicales, juridiques ou d’entreprise.
  • Localisation : fournir le pays, la ville, la région ou le fuseau horaire pour obtenir des résultats localisés.
  • Taille du contexte de recherche : choisir un compromis entre qualité, latence et consommation.
  • Liste des sources : lorsque cela est pris en charge, Responses peut retourner les sources consultées, pas seulement celles citées dans la réponse finale.

L’emplacement de ces champs diffère entre Responses et Chat. Consultez la référence correspondante pour les noms et les limites.

Échecs et solutions de repli

SituationTraitement
Aucune recherche effectuéeVérifier si la question nécessite des informations récentes et si le modèle prend en charge la recherche
Réponse sans citationsNe pas inventer de sources ; indiquer que la réponse ne fournit aucune citation affichable
Recherche échouéeSelon l’erreur, réessayer, répondre sans recherche ou inviter à réessayer plus tard
Sources contradictoiresAfficher plusieurs sources et leur date de mise à jour, sans masquer les divergences importantes
Source inaccessibleConserver le titre et l’URL et signaler que la page est actuellement inaccessible

Les pages externes peuvent contenir des erreurs ou des instructions malveillantes destinées au modèle. Ne les considérez pas automatiquement comme fiables et ne les laissez pas contourner les autorisations ou déclencher des outils à haut risque.

Vérifications avant la mise en production

  • Le modèle et le protocole prennent explicitement en charge Web Search.
  • Les réponses, appels de recherche, citations et listes de sources sont analysés séparément.
  • Aucun faux lien n’est créé en l’absence de citations.
  • Les domaines et les informations de localisation ne sont envoyés que si nécessaire.
  • Le contenu externe ne contourne pas les autorisations et confirmations de Tool Calling.
  • Les échecs, délais dépassés et recherches sans résultats disposent de solutions de repli explicites.

En cas d’échec, consultez Erreurs et dépannage. Avant de changer de protocole, consultez Choix du protocole.

Sur cette page