python中结构化输出库Kor:一个用于从文本中提取结构化数据的LLM工具

在人工智能领域,大型语言模型(LLM)的应用越来越广泛,尤其是在自然语言处理(NLP)方面。然而,将LLM的输出转化为结构化数据一直是开发者面临的挑战之一。Kor 是一个开源项目,旨在帮助用户通过LLM从文本中提取结构化数据。本文将详细介绍 Kor 的功能、特点、使用方法以及与其他工具的比较。

一、Kor简介

Kor 是一个开源库,专注于从文本中提取结构化数据。它通过定义数据提取的模式(schema),生成相应的提示(prompt),并将这些提示发送给指定的LLM,从而解析出所需的结构化数据。Kor 的核心优势在于它能够与各种LLM兼容,无论这些模型是否支持工具调用(tool calling)或JSON模式。

Kor 的设计灵感来源于对传统LLM的扩展需求。它特别适合那些没有聊天接口且不支持工具调用的旧式LLM。如果你正在使用支持工具调用的聊天模型,建议优先考虑使用模型自带的工具调用API,而不是Kor。

二、Kor的核心功能

(一)数据提取模式(Schema)

Kor 使用模式(schema)来定义需要从文本中提取的数据结构。模式可以使用 Kor 自己的风格定义,也可以通过 Pydantic 模型定义。以下是两种风格的示例:

  1. Kor风格的模式定义

    Python复制

    from langchain.chat_models import ChatOpenAI
    from kor import create_extraction_chain, Object, Text
    
    llm = ChatOpenAI(
        model_name="gpt-3.5-turbo",
        temperature=0,
        max_tokens=2000,
        model_kwargs={
         
         
            'frequency_penalty': 0,
            'presence_penalty': 0,
            'top_p': 1.0
        }
    )
    
    schema = Object(
        id="player",
        description="User is controlling a music player to select songs, pause or start them or play music by a particular artist.",
        attributes=[
            Text(
                id="song",
                description="User wants to play this song",
                examples=[],
                many=True,
            )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大懒猫软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值