Typechat,让大语言模型输出符合类型定义的稳定结果的库

1个回答

写回答

mxzyuyu119

2026-02-08 13:06

+ 关注

微软
微软

我来推荐。它可直接返回数据模型,处理非常便捷,值得尝试。Typechat 是微软推出的工具库,能让大语言模型生成符合类型定义的稳定输出,将自然语言转换为结构化数据,适用于业务场景。以Typechat的咖啡店案例为例,这是一个咖啡馆点单的实际应用场景。当用户用自然语言输入需求时,Typechat会依据预先定义的数据类型,返回对应的数据对象。例如,用户输入我想要一杯摩卡,Typechat将返回代表摩卡饮品菜单的结果数据。该结果以稳定且结构化的形式展现,便于逻辑处理。这种机制确保了系统能够准确解析用户的点单请求,并以规范的方式输出相关信息。Typechat 的核心流程如下:

Typechat的实现原理主要是借助prompt来引导LLM的输入与输出,以返回特定结构的数据。其提示词可分为几个部分,以下为具体构成:

Pydantic 是一个用于数据解析和验证的 Python 库,能够清晰定义数据模型并检查数据类型。例如,在定义 CoffeeDrink 数据类时,可以利用 Pydantic 的 Field 类为每个属性设置描述和默认值,从而实现更精确的数据结构控制。这种方式使数据模型更加规范且易于维护。Pydantic 支持将数据类转换为 JSON Schema,调用类方法 model_JSon_schema 即可生成。以下是 CoffeeDrink 的 JSON Schema 示例结果:JSON Schema 能以 JSON 格式清晰描述数据类的结构化信息,同时,像 GPT 这样的模型也能很好地理解和解析 JSON Schema 中定义的数据类内容。这为数据的规范化和跨平台理解提供了便利。数据转换流程与原生Typechat相似,只是将typescript的接口定义改为使用JSon schema来描述数据结构,整体逻辑保持一致。

咖啡
咖啡

通常,输入上述提示词后,回复会包含JSON内容,可使用{和}作为起始与结束标志提取所需信息。

通过 pydantic 的 model_validate 函数,可将提取的 JSON 结果转换为数据类。然而,若数据类校验未通过或 JSON 格式有误,可寻求 OpenAI 协助修正。以下是提示词示例,其中 {error_message} 表示具体的错误信息:请根据以下问题调整 JSON 数据:{error_message}。这有助于提高数据准确性与格式规范性。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号