Chat appétissant

En fonction de vos restrictions alimentaires, discuter avec des menus et commander

Description

Application Web permettant de discuter avec les menus de cinq restaurants végétaliens.
- En fonction des restrictions alimentaires de l'utilisateur, recommande des plats, des boissons et prend les commandes.
- Crée des personas différents pour chaque restaurant afin de rendre la discussion plus vivante.
- Donne vie aux saveurs, aux arômes et aux textures : impossible de ne pas revenir. Fonctionnalités de l'API Gemini (sur Vertex AI) utilisées:
- Appel de fonction : utilise "AutomaticFunctionCallingResponder".
- Le code extrait "function_call", "function_response" et "text" de "chat.history".
- Fonctions de sécurité qui renvoient toujours quelque chose
- La gestion de "chat.send_message()" a généré des erreurs: par exemple, Gemini hallucine des fonctions
- Comprehension des documents
- Essayé :
- L'ancrage avec le datastore Vertex AI Search a donné des résultats de recherche insatisfaisants.
- L'ajout de PDF aux requêtes Gemini était coûteux (chaque page PDF est facturée comme une image).
- La mise en cache n'était pas une option en raison de la taille minimale requise.
- J'ai décidé d'utiliser :
- PyPDF2 pour extraire les fichiers de menu. Stockez-les dans GS (voir le dossier "utilities")
- Instructions système pour que les menus de boissons et de nourriture d'un restaurant soient insérés lorsque l'utilisateur choisit le restaurant.
- Ancrage avec la recherche Google: un modèle initial est invité à utiliser les URL des restaurants et à créer:
- Personas
- Descriptions des restaurants
- Instructions système:
- Partie générique: indique quand appeler les fonctions et comment répondre
- Persona: inséré lorsque l'utilisateur choisit un restaurant
- Menu: inséré lorsque l'utilisateur choisit un restaurant

Conçu avec

  • Cloud Run
  • Vertex AI
  • Flask

Équipe

De

États-Unis