深度学习-148-langchain之如何使用with_structured_output()从模型中返回结构化数据
文章目录
- 1 方法with_structured_output()
-
- 1.1 支持高级功能的langchain类
- 1.2 模型列表
- 1.3 方法简介
- 2 应用示例
-
- 2.1 大语言模型
- 2.2 Pydantic类【推荐】
- 2.3 TypedDict类或JSON Schema字典
-
- 2.3.1 TypedDict类【推荐】
- 2.3.2 JSON Schema字典【不推荐】
- 2.4 指定method="json_mode"
-
- 2.4.1 通义千问
- 2.4.2 结构化输出
- 3 参考附录
拥有与特定模式匹配的模型返回输出通常很有用。
一个常见的用例是从文本中提取数据以插入数据库或与其他下游系统一起使用。
使用langchain封装的with_structured_output()方法,提取结构化数据。推荐使用Pydantic类(返回pydantic对象)或者TypedDict类(返回字典),这两种方式。注意使用此方式一定要确保调用的大模型本身已经实现了结构化输出的API。
1 方法with_structured_output()
这是获得结构化输出的最简单和最可靠的方法。with_structured_output()是为提供了结构化输出原生API能力的模型实现的。
也就是说需要模型本身就提供了结构化输出的API。
1.1 支持高级功能的langchain类
虽然所有这些LangChain类都支持指定的高级功能,但您可能必须打开特定于提供商的文档,才能了解哪些托管模型或后端支持该功能。
1.2 模型列表
需要了解哪些托管模型或后端支持该功能。