0

0

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

DDD

DDD

发布时间:2024-11-17 08:03:20

|

536人浏览过

|

来源于dev.to

转载

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

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

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

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

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

import instructor
from pydantic import basemodel
from openai import openai

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

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

假设1:pydantic的序列化

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

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

Text-To-Song
Text-To-Song

免费的实时语音转换器和调制器

下载
model.model_dump(...)  # dumps the model into a dictionary

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

假设 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 库的一点帮助和一点创意提示就可以驯服非结构化数据?

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

454

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

334

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API

Python FastAPI 异步开发利用 async/await 关键字,通过定义异步视图函数、使用异步数据库库 (如 databases)、异步 HTTP 客户端 (如 httpx),并结合后台任务队列(如 Celery)和异步依赖项,实现高效的 I/O 密集型 API,显著提升吞吐量和响应速度,尤其适用于处理数据库查询、网络请求等耗时操作,无需阻塞主线程。

28

2025.12.22

Python 微服务架构与 FastAPI 框架
Python 微服务架构与 FastAPI 框架

本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。

251

2026.02.06

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

548

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

30

2025.12.22

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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