Guidance

正常
GitHub Jupyter Notebook MIT

简介

Guidance 是一个用于控制大语言模型输出的编程框架,支持结构化生成、约束解码和模板化提示,确保 LLM 输出符合预定义格式。

核心特性

  • 约束解码 — 通过正则表达式和上下文无关文法控制 LLM 输出格式
  • Pythonic 接口 — 使用 Python 上下文管理器和装饰器编写 LLM 控制逻辑
  • 选择函数 — select() 从预定义列表中约束模型输出选项
  • 离线文法调试 — 使用 Mock 模型在本地验证约束文法,无需 API 调用
  • 自定义 Guidance 函数 — 通过 @guidance 装饰器创建可复用的 LLM 控制函数
  • 多后端支持 — 支持 Transformers、llama.cpp、OpenAI 等多种推理后端

适用场景

💡 确保 LLM 输出符合 JSON 或特定数据结构格式
💡 构建需要精确格式控制的结构化数据提取管道
💡 在 Agent 工具调用中保证函数参数格式正确
💡 降低 LLM 输出延迟和成本通过约束解码

快速开始

pip install guidance

from guidance import system, user, assistant, gen
from guidance.models import Transformers

lm = Transformers("microsoft/Phi-4-mini-instruct")

with system():
    lm += "You are a helpful assistant"
with user():
    lm += "Hello. What is your name?"
with assistant():
    lm += gen(max_tokens=20)

print(lm)

相关项目