Created
Aug 19, 2024 12:48 AM
Favorite
Favorite
Priority
备注
推荐
类型
模型测试
前言
在使用大模型进行信息抽取任务时,如何使得大模型的输出结果更加可控、稳定(输出稳定的json等)非常重要,这关系到抽取的数据后期开发使用。常见的方法有:
- 微调法:微调大模型输出稳定格式的结果(json等)
- few-shot法:通过在prompt中告知大模型几个示例,要求大模型输出相似的格式
但是,尽管如此,在实际操作过程中,仍然会面对着输出不稳定的情况,那么,经常采用的方法就是对输出的结果进行校验,如:要求输出json时,常校验json是否合理。校验失败时,常对大模型进行重复请求多次,以此达到输出结构化的格式。
下面,介绍一个输出控制的工具-outlines,并通过一个招聘领域(简历信息抽取并json结构化)的小demo,介绍下使用方法。
一、实践
直接上demo代码、用法
安装:
1. 简历文本(输入)
2. schema定义
该步骤主要定义需要从简历中抽取的实体类型及能够被outlines接收的schema结构。
3. LLM信息抽取完整代码
4. 输出json结构化结果
二、其他格式控制案例
Multiple choices
Type constraint
Efficient regex-structured generation
Efficient JSON generation following a Pydantic model
Efficient JSON generation following a JSON Schema
Using context-free grammars to guide generation
Open functions
Prompting
总结
本文介绍了大模型输出结构控制的技巧工具-outlines,并通过一个简历信息抽取的实践demo,验证其有效性。还简单记录了一些其他格式控制的代码。
参考文献
https://github.com/outlines-dev/outlines
往期相关
自然语言处理57
大语言模型28
信息抽取10
自然语言处理 · 目录
上一篇【RAG】GraphRAG开源:查询聚焦摘要的图RAG方法下一篇