跳至内容

概述

TensorZero Recipes是一套预构建的工作流,用于优化您的LLM应用。 您也可以创建自己的recipes来根据需求定制工作流程。

TensorZero Gateway 收集结构化推理数据及其相关的下游反馈。 该数据集为构建和优化LLM应用奠定了完美基础。 随着数据集的积累,您可以使用这些方案为您的函数生成强大的变体。 例如,您可以使用该数据集来筛选数据以微调自定义LLM,或运行自动化提示工程工作流。

换句话说,TensorZero Recipes通过从历史推理和反馈数据中生成新变体来优化TensorZero函数。

模型优化

监督式微调

微调配方会从您的历史推理中整理数据集,并基于此对LLM进行微调。 您可以使用与这些推理相关的反馈来选择正确的数据子集。 一个简单的例子是仅使用根据您定义的指标导致良好结果的推理。

我们提供以下微调配方示例:

查看以下配方中的完整示例。

强化学习人类反馈(RLHF)

DPO(偏好微调)

直接偏好优化(DPO)——也称为偏好微调——是一种在偏好对数据集上对大型语言模型(LLM)进行微调的方法。您可以使用TensorZero收集的演示反馈来筛选偏好对数据集,并基于此对LLM进行微调。

我们提供一个针对OpenAI的DPO配方示例:

动态上下文学习

动态上下文学习(DICL)是一种利用历史样本来提升大语言模型推理性能的技术。 该方法通过从过往交互数据库中筛选相关样本,并将其纳入提示词中,使模型能够实时从相似上下文中学习。 这种技术无需微调即可显著提升模型处理特定任务或领域的能力。

我们提供了一个使用OpenAI实现DICL的示例方案。该方案支持基于布尔指标、浮点指标和演示示例来选择样本。

提示词优化

TensorZero提供了一种名为MIPRO的提示优化方案,可同时优化指令和少量示例。 更多提示优化方案正在规划中。

推理时优化

TensorZero网关提供内置的推理时优化功能,例如动态上下文学习和最佳/N混合采样。

更多信息请参阅推理时优化

自定义配方

你也可以创建自己的配方。

简而言之,一个配方会获取TensorZero网关存储在您ClickHouse数据库中的推理和反馈数据,并为您的函数生成一组新的变体。 您应该能够在TensorZero中使用几乎任何LLM工程工作流,从自动化提示工程到高级RLHF工作流。 下面是一个使用DSPy的自定义配方示例。

示例

我们正在开发一系列完整可运行的示例,展示TensorZero的数据与学习飞轮。

  • Optimizing Data Extraction (NER) with TensorZero — 本示例展示了如何利用TensorZero优化数据抽取流程。我们将演示微调(fine-tuning)和动态上下文学习(DICL)等技术。最终,通过少量训练数据,优化后的GPT-4o Mini模型在该任务上的表现超越了GPT-4o,同时显著降低了成本和延迟。
  • Agentic RAG — 基于LLMs的多跳问答系统 — 本示例展示了如何使用TensorZero构建多跳检索智能体。该智能体会迭代搜索维基百科以收集信息,并自行判断何时获得足够上下文来回答复杂问题。
  • 为满足隐藏偏好评委而创作俳句 — 这个示例通过微调GPT-4o Mini来生成符合特定口味的俳句。您将看到TensorZero"开箱即用的数据飞轮"的实际运作:更好的变体产生更好的数据,更好的数据又催生更优的变体。通过多次微调大语言模型,您将直观看到进步过程。
  • Improving LLM Chess Ability with Best/Mixture-of-N Sampling — 本示例展示了如何通过从多个生成选项中选择最有潜力的走法,利用best-of-N采样和mixture-of-N采样显著提升LLM的国际象棋对弈能力。
  • Improving Math Reasoning with a Custom Recipe for Automated Prompt Engineering (DSPy) — TensorZero 提供了多种预置优化方案,涵盖常见的大语言模型工程工作流。但您也可以轻松创建自己的优化方案和工作流!本示例展示了如何使用任意工具(此处以DSPy为例)来优化TensorZero函数。