O TypeChat é uma biblioteca que facilita a criação de interfaces de linguagem natural usando tipos.
A construção de interfaces de linguagem natural tem sido tradicionalmente difícil. Esses aplicativos geralmente se baseavam em árvores de decisão complexas para determinar a intenção e coletar as entradas necessárias para agir. Os grandes modelos de idiomas (LLMs) facilitaram isso, permitindo -nos obter informações sobre a linguagem natural de um usuário e corresponder à intenção. Isso introduziu seus próprios desafios, incluindo a necessidade de restringir a resposta do modelo de segurança, respostas de estrutura do modelo para processamento adicional e garantir que a resposta do modelo seja válida. A engenharia rápida visa resolver esses problemas, mas vem com uma curva de aprendizado acentuada e aumento da fragilidade à medida que o prompt aumenta de tamanho.
O TypeChat substitui a engenharia imediata por engenharia de esquema .
Basta definir tipos que representam as intenções suportadas em seu aplicativo de linguagem natural. Isso pode ser tão simples quanto uma interface para categorizar sentimentos ou exemplos mais complexos, como tipos para um carrinho de compras ou aplicativo musical. Por exemplo, para adicionar intenções adicionais a um esquema, um desenvolvedor pode adicionar tipos adicionais a um sindicato discriminado. Para tornar os esquemas hierárquicos, um desenvolvedor pode usar um "meta-schema" para escolher um ou mais sub-esquemas com base na entrada do usuário.
Depois de definir seus tipos, o TypeChat cuida do resto por:
Os tipos são tudo que você precisa!
Instale o TypeChat para TypeScript/JavaScript:
npm install typechat
Você também pode trabalhar com o TypeChat da fonte para:
Para ver o TypeChat em ação, recomendamos explorar os projetos de exemplo do TypeChat. Você pode experimentá -los em sua máquina local ou em um espaço de codificação do Github.
Para saber mais sobre o TypeChat, visite a documentação, que inclui mais informações sobre o TypeChat e como começar.
Este projeto recebe contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA) declarando que você tem o direito e, na verdade, concede -nos os direitos de usar sua contribuição. Para detalhes, visite https://cla.opensource.microsoft.com.
Quando você envia uma solicitação de tração, um BOT do CLA determina automaticamente se você precisa fornecer um CLA e decorar o PR adequadamente (por exemplo, verificação de status, comentar). Simplesmente siga as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios usando nosso CLA.
Este projeto adotou o Código de Conduta Open Microsoft. Para obter mais informações, consulte o Código de Conduta Perguntas frequentes ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.
Este projeto pode conter marcas comerciais ou logotipos para projetos, produtos ou serviços. O uso autorizado de marcas comerciais ou logotipos da Microsoft está sujeito e deve seguir as diretrizes de marca registrada e marca da Microsoft. O uso de marcas comerciais da Microsoft ou logotipos em versões modificadas deste projeto não deve causar confusão ou implicar o patrocínio da Microsoft. Qualquer uso de marcas comerciais ou logotipos de terceiros estão sujeitas às políticas de terceiros.