Langchain 101 提取结构化数据(JSON)
Langchain 101 Extracting Structured Data (JSON)
使用Langchain控制输出格式为JSON的实际示例
根据VoAGI的新政策,我将开始撰写一系列仅涉及LLM相关软件实际方面的简短文章。
教程
在本教程中,我们将学习如何从自由文本中提取结构化数据。让我们获取一些数据。
# 获取一些文本 https://arxiv.org/abs/2308.03279
abstractinp = """大型语言模型(LLMs)展示了非凡的泛化能力,例如理解任意实体和关系。调整指令已被证明有效,可以将LLMs蒸馏成更具成本效益的模型,如Alpaca和Vicuna。然而,这些学生模型在下游应用中仍然远远落后于原始的LLMs。在本文中,我们探讨了针对特定任务的指令调整蒸馏,以训练能在广泛应用类别(如开放信息提取)中表现出色的学生模型。以命名实体识别(NER)为案例研究,我们展示了如何将ChatGPT蒸馏成更小的UniversalNER模型,用于开放NER。为了评估,我们汇集了迄今为止最大的NER基准,包括43个数据集,涵盖生物医学、编程、社交媒体、法律、金融等9个不同领域。在不使用任何直接监督的情况下,UniversalNER在成千上万个实体类型上实现了非凡的NER准确性,在平均水平上比Alpaca和Vicuna等通用指令调整模型高出30个绝对F1分数。仅使用一小部分参数,UniversalNER不仅具备ChatGPT在识别任意实体类型方面的能力,还在平均水平上比其NER准确性高出7-9个绝对F1分数。值得注意的是,UniversalNER甚至在很大程度上胜过了InstructUIE等最先进的多任务指令调整系统,后者使用有监督的NER示例。我们还进行了全面的消融研究,评估了我们的蒸馏方法中各个组成部分的影响。为了促进未来的针对蒸馏的研究,我们将发布蒸馏配方、数据和UniversalNER模型。