¡Bienvenido a GPTyped! ? Un paquete NPM pequeño pero potente que le permite interactuar con el modelo de lenguaje GPT de OpenAI de forma segura. Con GPTyped, puede enviar objetos como indicaciones y recibir respuestas estructuradas de LLM AI en un abrir y cerrar de ojos, ya sea que lo esté ejecutando en la Web o en el servidor.
Envía objetos TypeScript como mensajes y recibe objetos TypeScript como respuestas.
? Totalmente personalizable con interceptores para modificar solicitudes o respuestas en cualquier momento.
? Viene precargado con un cliente OpenAI para una fácil integración con GPT.
Valida los esquemas de objetos devueltos usando Zod.
Soporte para patrones de indicaciones comunes, como memoria y metaindicaciones.
Puede instalar GPTyped usando NPM o Yarn:
npm instala zod escrito con gp
o
hilo agregar zod tipo gp
¿Listo para empezar? Consulte los documentos completos aquí.
Usar GPTyped es simple. A continuación se muestra un ejemplo de cómo puede enviar objetos como mensajes y recibir respuestas de objetos de tipo seguro:
import { OpenAiClientBuilder, PrompterForObjectBuilder } from "gptyped"import { z } from "zod"// Un esquema Zod que describe el tipo de respuesta de IA export const TweetSchema = z.object({ tweet: z.string().min(1), etiquetas: 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 sobre el tema. Máximo 140 caracteres.", etiquetas: "3 hashtags sobre el tweet.",}).build()// Utilice un objeto de entrada para realizar una solicitud a la API de OpenAI. La respuesta será tipo safe.const result = await PrompterForObject.send ({ topic: "¿Por qué la primavera es la mejor estación?",})// Accede al tipo de Tweet respuesta seguraconsole.log(result.tweet) // "La primavera es la mejor estación debido a las flores y la naturaleza."console.log(resultado .tags) // ["#primavera", "#flores", "#naturaleza"]
Las respuestas de LLM no son deterministas. Esto significa que exactamente el mismo mensaje puede dar lugar a diferentes respuestas por parte de la IA. Teniendo esto en cuenta, es imposible garantizar si la respuesta será una estructura de datos válida o no. GPTyped validará la respuesta con el esquema que proporcionó usando Zod y devolverá la respuesta si es válida. Si la respuesta no es válida, GPTyped arrojará un error.
Se recomienda volver a intentar la solicitud al menos un par de veces cada vez que encuentre un error de tipo, ya que normalmente las solicitudes posteriores devolverán una respuesta válida. Con GPT de OpenAI, también puedes intentar reducir el parámetro de temperatura de la IA para hacerla más predecible.
¡Las contribuciones son bienvenidas! No dude en abrir problemas o realizar solicitudes para corregir errores, solicitar funciones o mejorar. Eche un vistazo a algunas mejoras planificadas en las que puede participar:
Reintento automático en solicitudes fallidas
Clientes para otras API LLM populares
Soporte para solicitudes/respuestas de Markdown
Soporte para solicitudes/respuestas CSV
Soporte para otros formatos de datos populares
GPTyped es un software de código abierto publicado bajo la licencia MIT. Siéntase libre de usarlo, modificarlo y distribuirlo según los términos de la licencia.