跳到内容

订阅我们的时事通讯,获取更新和技巧

如果您想获取新功能更新以及如何使用 Instructor 的技巧,可以订阅我们的时事通讯,在新内容发布时接收通知。

高级主题

  1. Instructor 中的统一提供者接口
  2. Instructor 实现 llms.txt
  3. 查询理解:超越嵌入
  4. 使用 GPT-3.5-turbo 实现 GPT-4 级别的摘要
  5. AI 模型中的防护栏和验证基础
  6. 验证 AI 生成内容中的引用
  7. AI 模型中的微调与蒸馏
  8. 使用 LangSmith 增强 OpenAI 客户端可观测性
  9. Logfire 与 Pydantic 集成

AI 开发与优化

语言模型与提示技术

集成与工具

媒体与资源

宣布统一提供者接口

我们很高兴地宣布 Instructor 的一项重要增强功能:from_provider() 函数。虽然 Instructor 一直专注于提供健壮的结构化输出,但我们观察到许多用户使用多个 LLM 提供者。这通常涉及为每个客户端进行重复的设置。

from_provider() 函数旨在简化此过程,使初始化客户端和在不同模型之间进行实验更加容易。

这项新功能提供了一种简化的、基于字符串的方法,用于初始化各种流行 LLM 提供者的 Instructor 增强型客户端。

结合 Instructor 使用 Anthropic 的网页搜索获取实时数据

Anthropic 的新网页搜索工具与 Instructor 结合使用时,提供了一种强大的方式来从网页获取实时、结构化数据。这使您能够构建可以回答问题并提供最新信息的应用程序,超越大型语言模型的知识截止日期。

在本文中,我们将探讨如何将 web_search 工具与 Instructor 一起使用,以获取最新信息并将其构建成 Pydantic 模型。即使是简单的结构也能非常有效地提高清晰度并便于后续处理。

Instructor 采用 Cursor 规则

AI 辅助编程正在改变我们使用版本控制的方式。许多开发者现在使用我称之为“氛围编程”的方式——在 AI 的帮助下编写代码。这给 Git 带来了新的挑战。今天我将分享我们在 Instructor 中如何使用 Cursor 规则来解决这些问题。

迁移到 uv

为什么我们迁移到 uv

我们最近从 poetry 迁移到了 uv,因为我们想受益于它的许多功能,例如

  • 更简单的依赖管理,内置自动缓存
  • 与 poetry 相比,CI/CD 显著更快,特别是在我们使用 Astral 团队提供的 caching 功能时
  • Cargo 风格的 lockfile,使得随着新 PEP 特性发布更容易采纳它们

我们花费了大约 1-2 天来处理迁移,并且对结果很满意。平均而言,对于 CI/CD,我们的作业速度有了巨大提升。

以下是我从我们的 CI/CD 运行中截取的一些作业时间。

总的来说,我想说一旦我们为单个 uv github actions 实现了缓存,我们的作业速度大约提高了 3 倍,所需时间减少了约 67%。

使用结构化提取从图像中提取元数据

像 gpt-4o 这样的多模态语言模型擅长处理多模态内容,使我们能够从图像中提取丰富的结构化元数据。

这在时尚等领域尤其有价值,我们可以利用这些能力从图像甚至视频中了解用户的风格偏好。在本文中,我们将介绍如何使用 instructor 将图像映射到给定的产品分类体系,以便我们可以为用户推荐类似产品。

使用 GPT-4o 生成一致的故事

语言模型难以生成具有大量节点的一致图。通常情况下,这是因为图本身对于模型来说太大,无法处理。这导致模型生成不一致的图,其中包含无效和断开的节点等问题。

在本文中,我们将通过一个生成“选择你自己的冒险”故事的简单示例,来看看如何使用两阶段方法来克服这一限制,用 gpt-4o 生成复杂的 DAG。

使用 GPT-4o 生成一致的故事

语言模型难以生成具有大量节点的一致图。通常情况下,这是因为图本身对于模型来说太大,无法处理。这导致模型生成不一致的图,其中包含无效和断开的节点等问题。

在本文中,我们将通过一个生成“选择你自己的冒险”故事的简单示例,来看看如何使用两阶段方法来克服这一限制,用 gpt-4o 生成复杂的 DAG。

使用结构化输出将混乱的表格转换为规范数据

为什么这是一个问题?

混乱的数据导出是一个常见问题。无论是表格中的多个标题、使分析变得困难的隐式关系,甚至是合并的单元格,使用带有结构化输出的 instructor 都可以轻松地将混乱的表格转换为规范数据,即使您拥有的只是表格的图像,如下所示。

让我们以前面的表格为例。它通过空单元格和隐式重复隐藏数据关系,不必要地增加了分析难度。如果我们将它用于数据分析,手动清理将是一个巨大的噩梦。