Typechat est une bibliothèque qui facilite la création d'interfaces en langage naturel à l'aide de types.
La construction d'interfaces en langage naturel a été traditionnellement difficile. Ces applications se sont souvent appuyées sur des arbres de décision complexes pour déterminer l'intention et collecter les entrées requises pour agir. Les grands modèles de langue (LLM) l'ont rendu plus facile en nous permettant de prendre la contribution du langage naturel d'un utilisateur et de faire correspondre l'intention. Cela a introduit ses propres défis, notamment la nécessité de contraindre la réponse du modèle pour la sécurité, les réponses de structure du modèle pour un traitement ultérieur et de s'assurer que la réponse du modèle est valide. L'ingénierie rapide vise à résoudre ces problèmes, mais est livrée avec une courbe d'apprentissage abrupte et une fragilité accrue à mesure que l'invite augmente en taille.
Typechat remplace l'ingénierie rapide par l'ingénierie du schéma .
Définissez simplement les types qui représentent les intentions prises en charge dans votre application en langage naturel. Cela pourrait être aussi simple qu'une interface pour catégoriser le sentiment ou des exemples plus complexes comme les types pour un panier ou une application musicale. Par exemple, pour ajouter des intentions supplémentaires à un schéma, un développeur peut ajouter des types supplémentaires dans une union discriminée. Pour rendre les schémas hiérarchiques, un développeur peut utiliser un "méta-schema" pour choisir un ou plusieurs sous-schémas en fonction de l'entrée utilisateur.
Après avoir défini vos types, Typechat s'occupe du reste en:
Les types sont tout ce dont vous avez besoin!
Installez Typechat pour TypeScript / JavaScript:
npm install typechat
Vous pouvez également travailler avec Typechat à partir de Source pour:
Pour voir Typechat en action, nous vous recommandons d'explorer les projets d'exemples de Typechat. Vous pouvez les essayer sur votre machine locale ou dans un GitHub Codespace.
Pour en savoir plus sur Typechat, visitez la documentation qui comprend plus d'informations sur Typechat et comment commencer.
Ce projet accueille les contributions et les suggestions. La plupart des contributions vous obligent à accepter un accord de licence de contributeur (CLA) déclarant que vous avez le droit de faire et en fait, accordez-nous les droits d'utilisation de votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une demande de traction, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorer le RP de manière appropriée (par exemple, vérification d'état, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez besoin de le faire qu'une seule fois sur tous les dépositions en utilisant notre CLA.
Ce projet a adopté le code de conduite open source Microsoft. Pour plus d'informations, consultez le code de conduite FAQ ou contactez [email protected] avec toute question ou commentaire supplémentaire.
Ce projet peut contenir des marques ou des logos pour des projets, des produits ou des services. L'utilisation autorisée de marques ou de logos Microsoft est soumise et doit suivre les directives de marque et de marque de Microsoft. L'utilisation de marques ou de logos de Microsoft dans des versions modifiées de ce projet ne doit pas provoquer de confusion ou impliquer le parrainage de Microsoft. Toute utilisation de marques ou de logos tiers est soumis aux politiques de ces tiers.