Kor 开源项目教程
项目介绍
Kor 是一个用于从文本中提取结构化数据的工具,它利用大型语言模型(LLMs)来实现这一目标。Kor 允许用户指定提取数据的架构,并提供一些示例,然后生成一个提示,发送给指定的 LLM,并解析输出结果。Kor 与 LangChain 框架集成,提供了自然语言访问现有 API 的能力。
项目快速启动
安装
首先,通过 pip 安装 Kor:
pip install kor
基本使用
以下是一个简单的示例,展示如何使用 Kor 从文本中提取结构化数据:
from langchain.chat_models import ChatOpenAI
from kor import create_extraction_chain, Object, Text
# 初始化 LLM
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=(
"用户正在控制一个音乐播放器来选择歌曲、暂停或开始它们,或播放音乐"
),
attributes=[
Text(
id="action",
description="用户想要执行的操作,例如播放、暂停或停止",
required=True
)
]
)
# 创建提取链
chain = create_extraction_chain(llm, schema)
# 提取数据
result = chain.invoke("停止音乐现在")
print(result["validated_data"])
应用案例和最佳实践
数据提取
Kor 可以用于从文本中提取特定格式的数据,例如从用户请求中提取音乐播放器的操作指令。
自然语言访问 API
通过 Kor,可以实现自然语言访问现有 API,例如通过用户输入的自然语言指令来控制音乐播放器。
复杂结构提取
Kor 支持复杂的嵌套对象和列表,可以用于提取更复杂的结构化数据。
典型生态项目
LangChain
Kor 与 LangChain 框架集成,提供了强大的自然语言处理能力,使得开发者可以更方便地构建基于 LLM 的应用。
Pydantic
Kor 使用 Pydantic 进行数据验证,确保提取的数据符合预定义的架构。
Promptify
Promptify 是一个用于生成和优化提示的工具,与 Kor 结合使用可以提高数据提取的准确性和效率。
通过以上内容,您可以快速了解并开始使用 Kor 开源项目,结合实际应用案例和最佳实践,以及与其他生态项目的集成,进一步发挥 Kor 的潜力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考