微软发布TypeChat:一款使用类型构建自然语言接口变得简单的AI库

微软发布TypeChat:一款简化自然语言接口构建的AI库

微软的TypeChat库是为了方便创建基于类型的大型语言模型(LLM)的自然语言接口而进行的尝试。TypeChat是一个GitHub项目,旨在通过TypeScript和生成式人工智能来弥合API、应用程序模式和自然语言之间的差距。TypeChat通过使用应用程序的类型定义来检索类型安全的结构化AI响应。安德斯·海尔斯伯格(Anders Hejlsberg)是微软的技术研究员,也是C#和TypeScript的首席开发人员,他在7月20日推出了TypeChat,以解决为依赖于复杂决策树来推断用户意图并收集所需数据以采取行动的应用程序创建自然语言接口的挑战。

TypeChat是一个简化创建具有类型的自然语言理解(NLU)的过程的库。直到最近,开发能够与自然语言交互的界面是具有挑战性的。这些应用程序经常使用复杂的决策树来推断用户意图并收集相关数据以供进一步处理。使用大型语言模型(LLMs),将用户的自然语言输入与其意图匹配变得更加简单。这带来了新的困难,例如确保模型响应的有效性,并对模型的输出施加必要的安全约束。然而,prompt工程的学习曲线很陡峭,而且prompt的脆弱性随着其增长而增加,即使目标是解决这些问题。

TypeChat的开发人员声称,该产品可以有效地将prompt工程替换为模式工程。开发人员可以将可用于自然语言应用程序的意图定义为类型。这可以是一个用于标记情感的简单系统,也可以是一组用于数字音乐商店的复杂类别。

TypeChat获取开发人员定义的类型,并使用它们构建LLM的prompt,然后检查以确保其遵循模式。当验证失败时,再次与语言模型进行交互以修复输出,使其符合规范。TypeChat还总结情况并验证其是否符合用户的期望。

TypeChat的开发人员表示,最近对LLMs的“兴奋迸发”引发了许多问题。这些模型最明显的用例是聊天机器人。然而,人们对如何将它们整合到现有的应用程序界面中提出了问题,例如通过将传统用户界面与自然语言界面相结合或使用AI将用户请求转换为应用程序可以处理的形式。TypeChat的目的就是解决这些问题。

我们非常重视您在这项努力中的意见和想法。大多数捐赠都需要签署贡献者许可协议(CLA),该协议声明贡献者具有法律权限并授权我们使用其贡献。请访问https://cla.opensource.microsoft.com/了解更多信息。

如果需要CLA,则CLA机器人将自动更新拉取请求的样式(例如状态、备注)以反映这一点。只需按照机器人告诉您的做即可。在使用我们的CLA时,他们只需为所有存储库执行此操作一次。