Gestion de cave à vin intelligente

Bonjour à tous,
Ne trouvant pas de solution me convenant pour gérer ma cave à vin de manière intelligente et intégrée à HA, je me suis fait ma propre solution à base d’IA pour scrapper les infos oenologiques sur les différents sites de référence et gérer mes stocks.
A toute fin utile j’en ai fait un petit github pour mettre ma solution à disposition des intéressés.
Dites-moi si ça marche chez vous.

Edit : Ajout sur le github d’un dashboard de rangement et visualisation de la cave en html avec les instructions d’installation.

Edit 2 : Ajout sur le github de nouvelles fonctionnalités avec une carte de vins a boire en priorité, et surtout les conseils du sommelier, qui trouve le vin le plus adapté de votre cave (goût et apogée) pour accompagner votre repas (accord mets/vins), et vous conseille pour le servir. Quand un vin est choisi, il est mis en surbrillance dans le frontend de visu pour indiquer son emplacement dans la cave physique.

Edit 3 : Ajout d’un module de conseil d’achat par IA pour compléter sa cave avec des vins complémentaires en styles et maturité, avec sélections facultative d’une région et d’un prix maxi.

Edit 4 : Ajout d’un module d’étude d’opportunité d’achat. On propose un vin vu en magasin ou catalogue, et le sommelier IA donne son avis sur l’intérêt de l’acheter par rapport aux vins dispo dans la cave (doublon avec vin proche ? besoin de peupler une période d’apogée ? intérêt pour équilibrage de la cave ?). Il conseille un nombre de bouteilles à acheter si il valide.

Edit 5 : Ajout à l’examen d’un nouveau vin des infos sur le profil aromatique et un accord mets/vins general. Ajout aussi d’une carte d’histogramme apex charts des aromes.

6 « J'aime »

Déjà merci pour ce partage!!

Chez moi, un souci sur le rendering du json :

IA - Recherche Vin Expert V2: If at step 4: Error rendering event data template: ValueError: Template error: from_json got invalid input '```json { "nom": {"valeur": "Domaine des Masques", "confiance": "100%"}, "annee": {"valeur": 2021, "confiance": "100%"}, "couleur": {"valeur": "Rouge", "confiance": "100%"}, "cepages": {"valeur": "Syrah, Grenache, Cabernet Sauvignon", "confiance": "90%"}, "note_moyenne": {"valeur": "90/100", "sites consultes": "Vinous, Wine Advocate, Jancis Robinson", "confiance": "85%"}, "appellation": {"valeur": "Coteaux d'Aix-en-Provence", "confiance": "100%"}, "provenance": {"valeur": "Provence, France", "confiance": "100%"}, "garde_conseillee": {"valeur": "3 à 7 ans", "confiance": "90%"}, "fenetre_consommation": {"valeur": "2024-2030", "confiance": "90%"}, "apogee": {"valeur": 2027, "confiance": "85%"}, "date_limite": {"valeur": 2030, "confiance": "85%"}, "prix_moyen": {"valeur": "28 EUR", "magasins sources": "Cavistes spécialisés, sites de vente en ligne", "confiance": "90%"} } ```' when rendering template '{{ (gemini_result.data | from_json).nom }}' but no default was specified

Oui je m’attendais a ce type d’erreur, l’IA ne renvoie pas forcément le format parfait. J’ai modifié le package sur le github pour forcer un peu plus le formatage, j’espère que c’est mieux.

Bonjour,
Oui merci pour cette proposition prometteuse.
Pour ma part, j’obtiens l’erreur :

Erreur : Sorry, I had a problem getting a response from Google Generative AI. Reason: FinishReason.MAX_TOKENS

Et quand je n’ai pas cette erreur, la recherche ne retourne rien… :frowning:

J’ai le même souci, et j’ai pourtant mis à jour les yaml il y a quelques minutes

C’est une erreur de quota de l’IA, c’est que le max de requêtes a été consommé, mais dans le journal j’ai l’impression que le log renvoie aussi cette erreur quand l’ia est surchargée temporairement (côté cloud, pas en local)

1 « J'aime »

bonjour

Sur quoi ce base l IA pour identifié le vin , premiere bouteille que je rentre, il me dit probablement vin de bordeaux alors que Savoie, tarif 25€ alors que 17€ et que l’appelation est surement fictive.

Peux t’on apporté des modification a la fiche du vin , ce serai pas mal

1 « J'aime »

Cool un retour de quelqu’un chez qui ça marche ! :star_struck:
Gemini va fouiller les sites de référence type vivino, wine advisor, suckling etc pour chercher le vin ressemblant le plus a la description des champs texte. Quand plusieurs vins avec le même nom existent (ou proche), il peut se tromper, donc il ne faut pas hesiter dans le champs nom a mettre un peu d’info, du type nom du domaine, appellation ou ville pour avoir bon du premier coup.
Je n’affiche pas dans le dashboard toutes les infos récupérées pour ne pas surcharger le visuel, mais tu peux aller directement voir dans la bibliothèque créée : si tu vas dans les outils de développement => état, tu trouveras une entité sensor.cave_a_vin_supersensor
Dans les attributs de chaque entry de ce sensor, tu verras pour la note et le prix les sites sources sur lesquels l’IA a récupéré l’info (je voulais pouvoir cross checker).
Tu peux également modifier chaque donnée de chaque entry dans l’écran état (tu mets a jour la valeur qui t’intéresse et tu cliques sur définir l’état).

1 « J'aime »

Oui effectivement ca fonctionne et j’ai pus rentré 2 vin , par contre j’ai la meme erreur qu’au dessus

Erreur : Sorry, I had a problem getting a response from Google Generative AI. Reason: FinishReason.MAX_TOKENS

et les nouvelles recherche n’aboutisse pas

sur la page APi de gemini le max usage est atteint, si je veux débloquer il faut rentrer sa CB pour configurer la facturation avec un max usage sans frais de 300$ comment dire je suis pas chaud et pas sur que je ne soit pas débiter dans cette histoire . je n’utilise pas gemini je suis plus sur Chat gpt donc si y a des connaisseur de cette IA je veux bien des explications

Gemini ça fonctionne comme ChatGPT, dans leur version gratuite tu as un nombre de tokens max (utilisés dans les API) et quand il est atteint, tu ne peux plus les utiliser jusqu’à ce que cela soit réinitialisé. Il faut attendre quelques minutes/heures.

Je n’ai pas compris comment tu as pu passer outre les erreurs de template par contre. Tu as fait une manip particulière ? Une correction dans les yaml ?

a non pas du tout , j’ai installé comme indiqué sur le Github. rentré mon premier vin et roule ma poule .
petite erreur sur le 1er que j’ai pu donc corriger via les explication de Aldous_Hx
le 2nd , Il me la trouvé direct en rentrant simplement le nom et le viticulteur et c’est cohérent .

Donc hormis l’erreur de token qui apporte le blocage , c’est pas mal pour ma part

2 « J'aime »

J’utilisais en mode gratuit jusqu’à ce matin, et j’ai pu rentrer 8-9 vins différents avant l’épuisement des tokens. Pour continuer mon debug j’ai souscrit au plan payant en entrant une carte bancaire virtuelle avec un paiement autorisé max de 1€. Il y a 300€ offerts, ça représente un très gros volume de requêtes, je ne risque pas de m’en approcher avec ma petite cave !

1 « J'aime »

Je me suis amusé aujourd’hui à faire un dashboard adaptatif qui représente les bouteilles dans la cave avec mise à jour et rangement automatique en fonction de l’inventaire.

S’il y a des intéressés je peux aussi mettre à dispo avec des instructions.

1 « J'aime »

Bonjour,

Oui TRES interessé. Je cherchai justement une façon d’organiser et de trier ma cave.

Merci pour tout ce travail!

1 « J'aime »

ça serait super de pouvoir intégrer perplexity dans ha, mais j’ai pas trouvé comment le faire, car j’ai la version pro via revolut

Bravo ldous_Hx ! Génial cette intégration ! Aucun souci pour l’installation ni le requêtage avec Gemini. Idée pour une V2 : ajout de l’emplacement de stockage et prévoir l’accort mets vin pour le requêtage IA …

Pour l’instant ma visu ne permet pas d’entrer la position des bouteilles ni de modifier a la main les dimensions de la cave, c’est juste esthétique. Je vais regarder rapidement si je peux implémenter ça facilement avant de mettre à dispo ce morceau sur le github.

1 « J'aime »

Merci pour le retour, je regarde si je peux facilement ajouter la gestion de l’emplacement.
Pour les accords ça demande une autre base a côté pour ne pas réinitialiser la première, je ferai éventuellement si j’ai d’autres idées a ajouter à cette deuxième base.

Je me suis permis de faire une petite modification sur le code afin de récupérer l’accord mets/vin dans la fiche . Pour l’emplacement je vais aussi y réfléchir