文章目录
1 langchain的结构化输出
对于许多应用程序,例如聊天机器人,模型需要直接用自然语言响应用户。然而,在某些情况下,我们需要模型以结构化格式输出。例如,我们可能希望将模型输出存储在数据库中,并确保输出符合数据库模式。这种需求激发了结构化输出的概念,其中可以指示模型以特定的输出结构进行响应。
1.1 推荐的使用流程
(1)模式定义:输出结构表示为模式,可以通过几种方式定义。
(2)返回结构化输出:模型被赋予这个模式,并被指示返回符合它的输出。
此伪代码说明了使用结构化输出时推荐的工作流程。
# 定义模式
schema = {"foo": "bar"}
# 模式绑定到模型
model_with_structure = model.with_structured_output(schema)
# 调用模型以生成与模式匹配的结构化输出
structured_output = model_with_structure.invoke(user_input)
LangChain提供了一个方法with_structured_output(),该方法自动化了将模式绑定到模型并解析输出的过程。
此辅助函数适用于所有支持结构化输出的模型提供程序。