Bienvenue sur GPTyped ! ? Un package NPM petit mais puissant qui vous permet d'interagir avec le modèle de langage GPT d'OpenAI de manière sécurisée. Avec GPTyped, vous pouvez envoyer des objets sous forme d'invites et recevoir des réponses structurées des IA LLM en un clin d'œil, que vous l'exécutiez sur le Web ou sur le serveur.
Envoie des objets TypeScript sous forme d'invites et reçoit des objets TypeScript sous forme de réponses.
? Entièrement personnalisable avec des intercepteurs pour modifier les demandes ou les réponses à tout moment.
? Livré préchargé avec un client OpenAI pour une intégration facile avec GPT.
Valide les schémas d'objets renvoyés à l'aide de Zod.
Prise en charge des modèles d'invite courants, tels que la mémoire et les méta-invites.
Vous pouvez installer GPTyped en utilisant NPM ou Yarn :
npm installe un zod gptypé
ou
fil ajouter un zod gptypé
Prêt à commencer ? Consultez la documentation complète ici ?
Utiliser GPTyped est simple. Voici un exemple de la façon dont vous pouvez envoyer des objets sous forme d'invites et recevoir des réponses d'objets de type sécurisé :
import { OpenAiClientBuilder, PrompterForObjectBuilder } from "gptyped" import { z } from "zod"// Un schéma Zod décrivant le type de réponse AIexport const TweetSchema = z.object({ tweet : z.string().min(1), balises : z.array(z.string()).min(3),})type Tweet = z.inferconst gpTypedOpenAiClient = new OpenAiClientBuilder("YOUR_OPEN_AI_SECRET_KEY").build()const prompterForObject = new PrompterForObjectBuilder( gpTypedOpenAiClient, TweetSchema, { tweet: "Un tweet sur le sujet. Maximum de 140 caractères.", tags: "3 hashtags sur le tweet.",}).build()// Utilisez un objet d'entrée pour faire une requête à l'API OpenAI. La réponse sera de type safe.const result = wait prompterForObject.send ({ topic: "Pourquoi le printemps est-il la meilleure saison ?",})// Accédez au type de Tweet en toute sécurité réponseconsole.log(result.tweet) // "Le printemps est la meilleure saison à cause des fleurs et de la nature."console.log(result .tags) // ["#printemps", "#fleurs", "#nature"]
Les réponses de LLM ne sont pas déterministes. Cela signifie que la même invite peut entraîner des réponses différentes de la part de l'IA. En gardant cela à l’esprit, il est impossible de garantir si la réponse sera une structure de données valide ou non. GPTyped validera la réponse par rapport au schéma que vous avez fourni à l'aide de Zod et renverra la réponse si elle est valide. Si la réponse n'est pas valide, GPTyped générera une erreur.
Il est recommandé de réessayer la requête au moins plusieurs fois chaque fois que vous rencontrez une erreur de type, car les requêtes suivantes renverront généralement une réponse valide. Avec le GPT d'OpenAI, vous pouvez également essayer de réduire le paramètre de température de l'IA pour la rendre plus prévisible.
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir des problèmes ou à tirer des demandes de corrections de bugs, de demandes de fonctionnalités ou d'améliorations. Veuillez jeter un œil à quelques améliorations prévues auxquelles vous pouvez participer :
Nouvelle tentative automatique en cas d'échec des demandes
Clients pour d'autres API LLM populaires
Prise en charge des demandes/réponses Markdown
Prise en charge des requêtes/réponses CSV
Prise en charge d'autres formats de données populaires
GPTyped est un logiciel open source publié sous licence MIT. N'hésitez pas à l'utiliser, à le modifier et à le distribuer selon les termes de la licence.