Linkup
Découvrez les API de recherche, de récupération et de recherche approfondie de Linkup.
Agent vocal de réservation d'hôtel
Découvrez une démo Gradbot qui réserve des hôtels grâce à la recherche web en temps réel.
Recherche web à commande vocale
Un agent de recherche vocale construit avec Gradium et Linkup suit cette boucle :- L’appelant pose une question à voix haute, par exemple « Trouve-moi un hôtel de charme à Lisbonne à moins de 150 euros la nuit. »
- La transcription (STT) Gradium transcrit la demande en temps réel.
- L’agent appelle un outil de recherche avec une requête ciblée construite à partir des préférences énoncées par l’appelant.
- Linkup renvoie des résultats classés avec titres, sources, extraits et images.
- L’agent filtre, compare et résume les résultats.
- La synthèse vocale (TTS) Gradium renvoie la réponse en streaming à l’appelant.
Câblage de base
La démo d’hôtel expose la recherche sous forme d’outils de l’agent vocal. Gradium gère la session STT et TTS en temps réel ; l’agent décide quand appelersearch_hotels et get_hotel_details.
Définition de l’outil de recherche
Appeler l’API Search de Linkup
La démo utilise le paquetlinkup-sdk. Comme le client est synchrone, le handler exécute chaque recherche dans un pool de threads afin de ne pas bloquer la session vocale. include_images=True renvoie des résultats d’images en plus des sources textuelles.
name, une url et un content ; les résultats d’images comportent un name et une url. Deux paramètres déterminent la recherche :
deptharbitre entre latence et exhaustivité.fastest une recherche par mots-clés en moins d’une seconde, destinée aux chemins critiques en latence comme la voix ;standardest une recherche agentique en une seule itération, d’environ une à trois secondes, adaptée à la plupart des recherches d’agent ; etdeepexécute jusqu’à dix itérations en cinq à trente secondes pour des investigations complexes multi-sources. La démo utilisestandard.output_typedétermine la forme de la valeur renvoyée.searchResultsrenvoie des URL classées et des extraits sur lesquels l’agent peut raisonner,sourcedAnswerrenvoie une réponse générée avec citations, etstructuredrenvoie du JSON conforme à un schéma que vous fournissez. La démo utilisesearchResultspour que l’agent puisse filtrer et résumer lui-même les sources.
Renvoyer les résultats à l’agent
Le handler de l’outil envoie en flux les sources et les images au navigateur, remplace le prompt par un prompt construit à partir des résultats de recherche, et renvoie à l’agent un résumé compact accompagné d’instructions sur la manière d’énoncer la réponse. Un payload réduit permet de garder rapide la partie LLM du tour de parole.Configuration de la session de l’agent
La configuration de session relie les outils à une session vocale Gradium en temps réel.Garder la boucle vocale rapide
C’est la latence qui rend une recherche vocale magique ou défaillante. La démo applique quelques règles bonnes à reprendre :- Recherchez en dehors de la boucle d’événements. Le client Linkup est synchrone : exécutez-le dans un pool de threads avec
run_in_executorpour éviter de bloquer l’audio pendant qu’une requête est en cours. - Adaptez la profondeur au tour de parole. La démo utilise la profondeur
standardet comble l’attente par la conversation. Pour les recherches qui doivent aboutir pendant une pause dans la conversation,depth="fast"renvoie des résultats par mots-clés en moins d’une seconde ; réservezdeepaux questions de type recherche approfondie, où quelques secondes de plus sont acceptables. - Comblez l’attente par la conversation. Demandez à l’agent de continuer à parler de la destination pendant la recherche, afin que l’appelant n’entende jamais de blanc.
- Limitez et tronquez les résultats. Une poignée de sources avec des extraits réduits à environ 300 caractères suffit au LLM pour répondre sans alourdir le prompt.
- Affichez les sources en flux à l’écran. Envoyez les fiches de sources et les images au navigateur au fur et à mesure que les résultats arrivent, pour que l’appelant voie ce dont parle l’agent.
- Gérez les échecs avec la voix de l’agent. Si une recherche échoue, renvoyez un résultat vide et demandez à l’agent de dire qu’il ne peut pas accéder au web pour le moment, plutôt que de laisser le modèle deviner.
Authentification
Obtenez une clé API depuis le tableau de bord Linkup. Passez-la auLinkupClient ou définissez-la comme variable d’environnement, à côté de votre clé Gradium :
Pourquoi utiliser Linkup avec Gradium ?
- Des réponses à jour dans les sessions vocales en temps réel : donnez aux agents Gradium accès à des résultats web actuels sans obliger les appelants à quitter la conversation.
- Une recherche qui suit les contraintes énoncées à l’oral : transformez des préférences exprimées en langage naturel, comme le budget, le lieu, le style ou les dates, en requêtes Linkup ciblées.
- Sources et images réunies : les résultats arrivent sous forme de données structurées propres, avec sources textuelles et images, prêtes à être résumées, énoncées et affichées en flux à l’écran.
- Des réponses orales fondées : l’agent répond à partir de résultats web en temps réel plutôt que de la mémoire figée du modèle, et peut citer la source naturellement.