Bem-vindo ao GPTyped! ? Um pacote NPM pequeno, mas poderoso, que permite interagir com o modelo de linguagem GPT da OpenAI de maneira segura. Com GPTyped, você pode enviar objetos como prompts e receber respostas estruturadas de LLM AIs com facilidade, esteja você executando-o na Web ou no servidor.
Envia objetos TypeScript como prompts e recebe objetos TypeScript como respostas.
? Totalmente personalizável com interceptores para alterar solicitações ou respostas a qualquer momento.
? Vem pré-carregado com um cliente OpenAI para fácil integração com GPT.
Valida esquemas de objetos retornados usando Zod.
Suporte para padrões de prompt comuns, como memória e metaprompts.
Você pode instalar o GPTyped usando NPM ou Yarn:
npm instalar gptyped zod
ou
fio adicionar gptyped zod
Pronto para começar? Confira a documentação completa aqui?
Usar GPTyped é simples. Aqui está um exemplo de como você pode enviar objetos como prompts e receber respostas de objetos de tipo seguro:
import { OpenAiClientBuilder, PrompterForObjectBuilder } from "gptyped"import { z } from "zod"// Um esquema Zod que descreve o tipo de resposta de IAexport const TweetSchema = z.object({ tweet: z.string().min(1), tags: 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: "Um tweet sobre o assunto. Máximo de 140 caracteres.", tags: "3 hashtags sobre o tweet.",}).build()// Use um objeto de entrada para fazer uma solicitação à API OpenAI. A resposta será do tipo safe.const result = await prompterForObject.send ({ topic: "Por que a primavera é a melhor estação?",})// Acesse o Tweet type safe responseconsole.log(result.tweet) // "A primavera é a melhor estação por causa das flores e da natureza."console.log(result .tags) // ["#primavera", "#flores", "#natureza"]
As respostas do LLM não são determinísticas. Isso significa que exatamente o mesmo prompt pode resultar em respostas diferentes da IA. Tendo isto em mente, é impossível garantir se a resposta será uma estrutura de dados válida ou não. GPTyped validará a resposta em relação ao esquema que você forneceu usando Zod e retornará a resposta se for válida. Se a resposta não for válida, GPTyped gerará um erro.
É recomendável tentar novamente a solicitação pelo menos algumas vezes sempre que encontrar um erro de tipo, pois normalmente as solicitações subsequentes retornarão uma resposta válida. Com o GPT da OpenAI, você também pode tentar diminuir o parâmetro de temperatura da IA para torná-la mais previsível.
Contribuições são bem-vindas! Sinta-se à vontade para abrir problemas ou obter solicitações de correções de bugs, solicitações de recursos ou melhorias. Por favor, dê uma olhada em algumas melhorias planejadas onde você pode participar:
Nova tentativa automática em solicitações com falha
Clientes para outras APIs LLM populares
Suporte para solicitações/respostas Markdown
Suporte para solicitações/respostas CSV
Suporte para outros formatos de dados populares
GPTyped é um software de código aberto lançado sob a licença MIT. Sinta-se à vontade para usá-lo, modificá-lo e distribuí-lo de acordo com os termos da licença.