textgrad

让AI像训练神经网络一样,用自然语言反馈自动优化提示词和代码。

TextGrad 是一个基于文本自动微分的开源框架,核心思想是将传统数值梯度下降中的梯度替换为自然语言反馈,利用大语言模型对复杂系统中的各个组件(如代码、提示词、文本输出)生成结构化、可解释的文本梯度,并通过反向传播迭代优化。它解决了传统优化方法难以处理非数值、非可微目标(如文本质量、逻辑推理、多智能体协作)的问题。核心能力包括:定义任意可优化的文本变量、自动生成文本梯度、支持多种优化算法(如文本梯度下降)、与主流LLM API集成、提供丰富的内置优化案例(如代码生成、科学问题回答、医疗问答)。该框架已发表于Nature,适合研究者和开发者用于构建自适应AI系统。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3744
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队zou-group
所属国家
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型ai-optimization,compound-systems,large-language-models,prompt-optimization,textual-gradients
GitHub 星标★ 3744
30天Star增速
HF 下载量
上线时间2024-06-11 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数11

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 运行环境(README 未指定具体版本)
  • pip 或 conda 包管理器(二选一)
  • 可调用的 LLM 服务与对应 API 密钥(示例使用 gpt-4o)
  • 可选:需要使用 vllm 时,环境中需具备 vllm 支持

安装与启动步骤

  1. 1安装 TextGrad

    README 推荐的最简方式,直接用 pip 从 PyPI 安装 textgrad 包,适合大多数用户。

    pip install textgrad
  2. 2conda 方式安装

    与上一步二选一。若使用 conda 管理环境,可从 conda-forge 渠道安装,包由官方 feedstook 维护。

    conda install -c conda-forge textgrad
  3. 3安装最新开发版

    与上两步二选一。想用仓库中最新的 bleeding edge 代码时,直接从 GitHub 安装。

    pip install git+https://github.com/zou-group/textgrad.git
  4. 4可选安装 vllm 支持

    只有在需要 vllm 相关能力时才执行,会安装 textgrad 的 vllm 附加依赖。

    pip install textgrad[vllm]
  5. 5设置反向传播引擎

    导入 textgrad 并指定用于生成文本梯度的 LLM。新引擎基于 litellm,模型名需为 litellm 支持的名称。

    import textgrad as tg
    
    tg.set_backward_engine("gpt-4o", override=True)
  6. 6定义损失与优化器

    用 TextLoss 写清评判要求,交给 TGD 优化器管理要优化的文本变量,再调用损失函数得到反馈。README 示例中的 solution 变量需由你自己先行定义。

    loss_fn = tg.TextLoss("You will evaluate a solution to a math question. Do not attempt to solve it yourself, do not give a solution, only identify errors. Be super concise.")
    
    optimizer = tg.TGD(parameters=[solution])
    loss = loss_fn(solution)
  7. 7反向传播并更新

    对损失调用 backward() 生成文本梯度,再用 optimizer.step() 更新文本变量,最后打印优化后的文本。

    loss.backward()
    optimizer.step()
    print(solution.value)

关键配置

配置项必填说明示例
set_backward_engine 的模型名是指定生成文本梯度的 LLM,需为 litellm 支持的模型gpt-4o
override否设为 True 时覆盖此前已设置的反向传播引擎True
parameters是传给 TGD 优化器的待优化文本变量列表[solution]
TextLoss 的文本参数是写给 LLM 的评判指令,决定文本梯度如何生成You will evaluate a solution to a math question. Do not atte

如何确认成功

跑通 QuickStart:loss_fn 输出错误分析,loss.backward() 与 optimizer.step() 后 print(solution.value) 打印出修正后的解答即成功。

常见问题

Q:可以用 GPT-4o 以外的模型吗?

A:可以。新版引擎基于 litellm,只要该模型被 litellm 支持即可,README 明确提到 Bedrock、Together、Gemini 等都已支持。

Q:应该选 pip 还是 conda 安装?

A:两者都行。pip install textgrad 最直接;conda 用户可用 conda install -c conda-forge textgrad,该包在 conda-forge 的 textgrad-feedstock 仓库维护。

Q:怎么用最新的开发版代码?

A:执行 pip install git+https://github.com/zou-group/textgrad.git,可直接从 GitHub 仓库安装 bleeding edge 版本。

Q:需要 vllm 相关功能怎么办?

A:安装带附加依赖的版本:pip install textgrad[vllm],README 中给出了这一安装方式。

注意事项

  • README 节选未给出 API 密钥的环境变量设置命令,请按你所使用模型服务商的文档自行配置密钥后再运行。
  • README 提示基于 litellm 的新引擎目前仍是实验性的,未来计划的旧引擎会被弃用,选引擎时注意这一点。
  • QuickStart 代码片段中的 solution 变量定义未在节选中给出,需自行构造待优化的文本变量后再运行后续步骤。

核心亮点

  • 开创性地用文本梯度替代数值梯度,突破传统优化的可微性限制,可优化任意文本目标
  • 提供简洁的Python API,支持快速定义优化变量和循环,上手门槛低
  • 已发表于Nature,学术权威性强,且有大量真实案例(代码、科学QA)验证效果

不足之处

  • 依赖大模型生成梯度,优化过程消耗大量token和计算资源,成本较高
  • 文本梯度的稳定性和收敛性缺乏理论保证,复杂任务可能效果波动
  • 文档/社区待观察

适用场景

  • 自动优化提示词(Prompt)以提升LLM在特定任务上的表现
  • 对生成的代码进行迭代修复和优化,提高代码正确性
  • 多智能体系统中,通过文本反馈协调和优化各智能体的行为策略

替代项目

DSPy、PromptWizard、TextGrad

项目介绍

textgrad 是开发框架领域的开源项目,由 zou-group 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(3,744)位列前 30%,在开发框架分类的 803 个项目里位列前 14%。

近 42 天,它的 GitHub 星标从 3,693 增加到 3,744,净增 51。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:自动优化提示词(Prompt)以提升LLM在特定任务上的表现。同类可对比的替代方案包括 DSPy、PromptWizard、TextGrad。

上一篇:nexus

下一篇:Magick

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12