Skip to main content
Keenable fournit une recherche web et un accès au contenu conçus pour les agents IA. Dans un agent vocal Gradium, Keenable joue le rôle de couche web en direct : l’utilisateur pose une question à voix haute, l’agent la transforme en requête de recherche, Keenable renvoie des résultats web à jour en mode temps réel, et Gradium énonce la réponse pendant que les sources s’affichent à l’écran en streaming.

Keenable

Découvrez l’API de recherche, la CLI et le serveur MCP de Keenable.

Démo de recherche web vocale

Découvrez une démo Gradbot qui répond à des questions orales grâce à la recherche web en direct.

Recherche vocale instantanée

Un agent de recherche vocale construit avec Gradium et Keenable suit cette boucle :
  1. L’utilisateur pose une question à l’oral, par exemple « Qu’a annoncé la Fed aujourd’hui ? »
  2. La transcription (STT) de Gradium transcrit la demande en temps réel.
  3. L’agent appelle un outil web_search avec une requête ciblée, silencieusement et en tout premier.
  4. Keenable renvoie les meilleurs résultats avec leurs titres, leurs sources et leurs extraits.
  5. L’agent répond en une à trois phrases courtes, en citant la source de façon naturelle.
  6. La synthèse vocale (TTS) de Gradium renvoie la réponse à l’utilisateur en streaming.
Comme le mode temps réel de Keenable renvoie des résultats en bien moins d’une seconde, la recherche tient dans une pause naturelle de la conversation. L’appelant entend une réponse, pas un compte rendu de progression.

Câblage de base

La démo expose la recherche sous la forme d’un unique outil de l’agent vocal. Gradium gère la session STT et TTS en direct ; l’agent décide quand appeler web_search.

Définition de l’outil de recherche

Appeler l’API Search de Keenable

Lorsque le modèle appelle l’outil, le handler lance une recherche Keenable en temps réel. L’API accepte une requête POST avec un en-tête X-API-Key et renvoie une liste de résultats.
Chaque résultat comprend un title, une url et une description, ainsi qu’un snippet étendu et un horodatage published_at lorsqu’ils sont disponibles. Le corps de la requête accepte aussi des filtres optionnels, comme site pour limiter les résultats à un seul domaine, et published_after ou published_before pour borner les résultats par date de publication.

Renvoyer les résultats à l’agent

Le handler de l’outil renvoie à l’agent un résumé textuel compact, accompagné d’instructions sur la façon d’énoncer la réponse. Un payload réduit permet de garder rapide l’étape LLM du tour de parole.

Configuration de la session de l’agent

La configuration de session branche l’outil sur une session vocale Gradium en direct.

Garder la boucle vocale rapide

C’est la latence qui rend la recherche vocale magique ou inutilisable. La démo applique quelques règles qui méritent d’être reprises :
  • Rechercher en silence. Demandez à l’agent, dans le prompt, d’appeler web_search immédiatement, sans formule de remplissage comme « je vais vérifier ». Les premiers mots prononcés doivent être la réponse elle-même.
  • Une recherche par question. Demandez à l’agent de se fier à ses premiers résultats au lieu de reformuler la requête pour vérifier. Une seconde recherche double l’attente.
  • Limiter et tronquer les résultats. Cinq résultats avec des extraits réduits à environ 300 caractères donnent au LLM de quoi répondre sans alourdir le prompt.
  • Préchauffer le chemin de recherche. Lancez une requête Keenable jetable lorsque l’utilisateur démarre une session, quelques secondes avant la première vraie question, afin que le DNS et l’origine de recherche soient déjà chauds.
  • Gérer les échecs avec la voix de l’agent. Si une recherche échoue, renvoyez un message d’outil demandant à l’agent de dire qu’il ne parvient pas à accéder au web pour le moment, plutôt que de laisser le modèle deviner.

Authentification

Obtenez une clé API depuis la console Keenable. Les clés commencent par keen_ et sont transmises dans l’en-tête X-API-Key. Définissez-la à côté de votre clé Gradium :

Pourquoi utiliser Keenable avec Gradium ?

  • Des réponses dans une pause de conversation : le mode temps réel est assez rapide pour que l’appelant entende la réponse sans blanc ni formule de remplissage.
  • Conçu pour les agents : les résultats sont renvoyés sous forme de JSON structuré et propre, avec titres, extraits et horodatages, prêts à être résumés et énoncés.
  • Des réponses orales ancrées dans les sources : l’agent répond à partir de résultats web en direct plutôt que de la mémoire obsolète du modèle, et peut citer la source de façon naturelle.
  • Des relances ciblées : les appelants peuvent affiner une question au fil de la conversation, et des filtres comme site et published_after gardent chaque nouvelle recherche précise.

Démo

La démo de recherche web vocale illustre le schéma complet : une application FastAPI qui exécute une session Gradbot, expose web_search comme unique outil de l’agent, envoie en streaming des cartes de sources au navigateur à mesure que les résultats arrivent, et mesure la latence de chaque tour pour le STT, le LLM, la recherche et le TTS. Servez-vous-en comme référence pour construire votre propre expérience de recherche vocale instantanée.