深度学习-108-大语言模型LLM之基于langchain的结构化输出功能提取结构化信息
文章目录
- 1 langchain的结构化输出
-
- 1.1 推荐的使用流程
- 1.2 模式定义
- 1.3 返回结构化输出
-
- 1.3.1 工具调用(方式一)
- 1.3.2 JSON模式(方式二)
- 1.3.3 结构化输出法(方式三)
- 2 提取结构化信息
-
- 2.1 定义数据模型
- 2.2 配置提示模板
- 2.3 设置执行链
- 3 参考附录
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提供了一个