HuggingChat : une alternative open source à ChatGPT

Félix Cattafesta |

La plateforme Hugging Face vient de lancer HuggingChat, un bot qui se présente comme une alternative open source à ChatGPT. Le service est proposé via navigateur et pourra être intégré à des apps ou sur différentes plateformes par l'intermédiaire d'API. Son code est entièrement accessible et peut être téléchargé pour tourner en local ou pour être modifié.

HuggingFace est rapidement devenue une plateforme indispensable dans le monde de l'IA, hébergeant de nombreux modèles et autres jeux de données utilisés pour les expérimentations. Avec ce service, l'entreprise lance son premier projet massif qui devrait lui permettre de renforcer sa place dans le secteur tout en attirant de nouveaux utilisateurs.

Sous le capot, le projet repose pour l'instant sur un modèle d'OpenAssistant lui même basé sur LLaMA, le modèle de langage de Facebook présenté au mois de mars. L'interface est très similaire à celle de ChatGPT, avec une barre d'historique sur la gauche et une grande case affichant la conversation. Les discussions ne sont pas utilisées pour améliorer les modèles, même si HuggingFace envisage de proposer une telle option par la suite. Le service ne nécessite pas de compte et se base sur un cookie de connexion anonyme.

En l'état, HuggingChat est difficilement utilisable. Le service répond souvent à côté de la plaque, fait des fautes ou se trompe carrément. Il a cependant l'avantage d’être assez réactif. Si l'on est loin d'être au niveau de ChatGPT, le projet est amené à s'améliorer : Hugging Face envisage de proposer plusieurs modèles de meilleure qualité pour que sa plateforme devienne la référence du domaine.

Cette approche libre de l'IA s'oppose drastiquement à la vision des pionniers du secteur OpenAI, qui garde ses recettes sous clefs et diffuse de moins en moins d'informations sur la façon dont sont construits ses modèles. En face, la communauté open source accélère la cadence. De nouveaux modèles sont partagés régulièrement sur les forums dédiés, certains d'entre eux promettant des performances « similaires à 90 % » avec celles de ChatGPT.

avatar marc_os | 

Le service répond souvent à côté de la plaque, fait des fautes ou se trompe carrément

C'est vrai que ChatGéPéTé ne se trompe jamais.

avatar R-APPLE-R | 

Une alternative sympa mais faut vraiment mettre les mains dans le cambouis : https://youtu.be/uvnZOjPeV6M sympa c’est directement en local et dans le terminal 😈

avatar jopaone | 

@R-APPLE-R

Très sympa à tester en local en effet mais loin d’être aussi abouti que ChatGPT (aussi bien le modèle que l’appli)

avatar R-APPLE-R | 

@jopaone

👍

avatar jerssrk | 

@R-APPLE-R

Tout s’installe en un clic maintenant. Y a juste à lancer un .bat, inutile de se salir les mains ;)
Avec en plus une web-ui.

avatar R-APPLE-R | 

@jerssrk

Je ne touche pas au chauve-souris 🦇 ( .bat ) 😜

Pouvez-vous expliquer la manipulation ? Merci 😈

avatar jerssrk | 

@R-APPLE-R

oobabooga web ui ;)

avatar julien_dh | 

Une réelle alternative Française à chatGPT d’OpenAI, c’est chatDolphin de NLP Cloud ! Je vous encourage vivement à regarder ce qu’ils font 😉

avatar jopaone | 

@julien_dh

Merci pour l’info je vais regarder ;)

avatar julien_dh | 

@jopaone

Je serais très curieux d’avoir ton feedback 😃

avatar jopaone | 

@julien_dh

Avec plaisir , je teste à peu près tous les modèles génératifs qui sortent 🙃

avatar joneskind | 

Avec Dolly 2 et Stability AI l’offre open source commence à être intéressante. Si Apple voulait bien se donner la peine de se pencher sur l’un d’eux pour l’optimiser pour son NE se serait encore mieux !

J’ai vraiment hâte de voir la WWDC 2023

avatar lepoulpebaleine | 

Que le code des modèles soit open source, OK c’est sympa. Mais la grande question c’est avec quelles données le modèle est entraîné. Je n’ai pas regardé mais ces données d’entraînement ne sont peut-être pas libre.

avatar Nihao | 

J'ai essaye HugingChat mais il ets completement a la ramasse :

Ma question : Quelle est la formule pour calculer la distance entre deux points 3D ?
Sa reponse :
"La distance peut être calculée à l'aide du module de la différence des coordonnées dans les directions horizontales et verticales, ou encore en faisant usage du résultat de Pitágoras. Le théorème dite se lit de la façon suivante : "dans un carré de longueurs de côtés droites opposées équivalentes (en ce qui concerne leur orientation), la puissance du côté adjacent au carré est égale à la somme des puissances du côté adjacents." Il permet de mesurer directement tout segment parallèle à une face définie si ses extrémités sont connues grâce aux dimensions respectives de celles-ci. On prendra garde toutefois à ne pas confondre puissance par rapport à un point fixe distinct du centre du cercle considéré ("au carré"), et puissance relativement au centre ("à la racine").
Par exemple, si A et B sont respectivement définies par ‣AC=BD=||AB|cosθ, AB=||AB|sinθ, AC=AD=BB, AD=DD sinθ, alors BB=DB²+DC²=(DC/DD)DD=1DD*(DB^2/DC)+DD=(DB^2/DC)+DD², DB=DA-DA=0. Donc DD=DCtanθ, de sorte qu'il reste à trouver DC² (distance moyenne géométrique du triangle ABCD) et de diviser le carré issu de cette dernière valeur par deux pour obtenir celle correspondant à DA². Finalement, la distance hypoténuse est donnée par DD=√(DC^2+DB^2)=√((BB-BABA^-2BC^2)/sin²θ)=√||B-A||, ou en coordonnées cartésiennes à partir de 3D vectoriels : BC=C-B=0,0,BD=-DBCosTh, DBSind, DC=DA-DCos^2Th/(CA/||A||)². L'algorithme peut donc se réduire, après normalisation des distances unitaires par rapport à leurs propres composantes, à la division par 2 du carré moyen de la triangulation. Reste la mesure exacte du produit scalaire des vecteurs. Si le point P cherché se situe sur celui-ci il sera nécessaire d'utiliser les nombres aléatoires pour tester tous les candidats afin de minimiser la fonction "distance" globale. Cependant cela requiert un peu plus de logique car même une petite marge d'erreur fait augmenter drastiquement la probabilité d'échec au fil des tentatives successives ; mieux vaut commencer par choisir au hasard une première borne dont tous les autres seront ensuite calculés relativement par les produits scalaires. Par chance nous avons déjà un moyen connu pour déterminer ce facteur sous forme symétrique. Pour la première tentative A=P-O où O est n'importe quel point de référence arbitrairement assignable et A-B=C indépendante du premier est définie. Valeur finale de la quantité souhaitée est donné par √((A-P)-(B-O)(B-P)), mais on voit bien qu'une telle construction rendrait la méthode très gourmande et peu pratique compte tenu du nombre restreint de tâches possibles dans une programmation informatique. De telles ambitions deviennent rapidement irréalisables sans une sérieuse infranchiabilité. Nous pouvons néanmoins mettre cet ingrédient de manière optimisée à profit dans une autre optique par exemple en remplaçant dès lors la borne initiale A par le projeté orthogonal de P et O si la former existe effectivement et est suffisamment petite (typiquement inférieure aux valeurs maximums par définition supportées dans les registres locaux ou système). Dans le cas contraire, on opte simplement pour l'un quelconque des points voisins par exemple sélectionnés suivant une distribution uniforme continue jusqu'à ce que le choix soit disponible. Cette manœuvre peut améliorer drastiquement les chances d'atteindre succès en raccélérant fortement les recherches potentielles autour dudit fragment à localiser."

Maintenant si je demande a Bing Chat :
"La formule pour calculer la distance 3D entre deux points est : d = √ (x2−x1)²+ (y2−y1)²+ (z2−z1)².

Où d représente la distance entre les deux points, x1, y1 et z1 sont les coordonnées du premier point et x2, y2 et z2 sont les coordonnées du deuxième point 1.

J’espère que cela vous aide. Si vous avez besoin de plus d’informations, n’hésitez pas à me le faire savoir."

CONNEXION UTILISATEUR