探索教师库:结构化非结构化数据(以及沿途的一些乐趣)

DDD
发布: 2024-11-17 08:03:20
转载
536人浏览过

探索教师库:结构化非结构化数据(以及沿途的一些乐趣)

我最近访问了讲师库,不得不说,给我留下了深刻的印象。结构化非结构化数据的概念非常强大,而且我敢说,有点神奇。你可以获取无处不在的数据并以某种方式对其施加秩序——嗯,这就是我的魔法。

但是……它到底是如何工作的?

为了找到答案,我花了一些时间深入研究这个库的内部结构,我发现幕后有两个关键人物对它的大部分魔力负责。

认识一下玩家:pydantic 和一个不错的提示

import instructor
from pydantic import basemodel
from openai import openai

登录后复制

现在,如果您熟悉 python 的数据验证和设置管理,您可能听说过 pydantic。如果你还没有……好吧,系好安全带!这是一个令人惊叹的库,允许您定义数据结构,然后实时验证传入数据是否与这些结构匹配。将其视为高级俱乐部的保镖,确保只有正确的数据才能进入。

fastapi 是另一个很棒的工具,它很好地利用了 pydantic 来确保通过 api 传递的数据采用正确的格式。那么,下一步是什么?现在我们已经定义了我们的结构,我们如何让 llm(如 openai 的 gpt)遵循它?嗯……

假设1:pydantic的序列化

我的第一个假设是 pydantic 可能允许某种序列化——将数据结构转换为法学硕士可以轻松理解和使用的东西。事实证明,我没有错。

pydantic 允许您使用以下方法将数据序列化到字典中:

model.model_dump(...)  # dumps the model into a dictionary
登录后复制

此方法递归地将 pydantic 模型转换为字典,然后可以将其输入 llm 进行处理。到目前为止,一切都很好。但后来我偶然发现了一些更有趣的事情:

FaceSwapper
FaceSwapper

FaceSwapper是一款AI在线换脸工具,可以让用户在照片和视频中无缝交换面孔。

FaceSwapper 960
查看详情 FaceSwapper

假设 2:生成 json 模式

一切都变得更好了。 pydantic 不仅可以将数据转换为字典,还可以为您的模型生成 json 模式。这是关键,因为现在您已经有了希望 llm 遵循的结构蓝图。

这就是事情真正开始发生的地方:

# generate a json schema for a pydantic model
response_model.model_json_schema()
登录后复制

宾果游戏!现在您已经有了一个清晰的架构,它准确地定义了数据的外观。这是我们可以发送给 llm 的蓝图,因此它确切地知道如何构建其输出。

将一切整合在一起

message = dedent(
    f"""
    Understand the content and provide
    the parsed objects in json that match the following json_schema:\n

    {json.dumps(response_model.model_json_schema(), indent=2, ensure_ascii=False)}

    Make sure to return an instance of the JSON, not the schema itself
    """
)
登录后复制

在这里,图书馆将模式传递给 llm,要求它返回符合该结构的数据。消息很明确:“嘿 llm,在生成输出时请尊重此模式。”这就像给你的法学硕士一张详细的地图并说:“严格遵循这些指示。”

谢谢你对我的包容

因此,经过所有这些调查,我现在确信:pydantic 的序列化和 json 模式生成使得 instructor 库能够获得遵循结构化数据格式的 llm。

感谢您与我一起完成这个有趣(且有点复杂)的调查。谁知道通过 python 库的一点帮助和一点创意提示就可以驯服非结构化数据?

以上就是探索教师库:结构化非结构化数据(以及沿途的一些乐趣)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号