Guidance
一、项目简介
Guidance 是微软开源的模板化 LLM 输出控制库。它用类似模板的语法精确控制生成过程(包括分支、循环、变量插值与约束),让模型输出更可控、更符合预期格式。
二、核心特性
- 模板化控制:用模板描述生成流程与固定文本;
- 分支与选择:支持条件分支、候选选择;
- 格式约束:可强制 JSON、正则等输出格式;
- 高效生成:减少无效 token 与后处理;
- 多后端:Transformers、llama.cpp、OpenAI 等。
三、适用场景
- 需要严格输出格式的生成任务;
- 交互式提示工程与多轮控制;
- 结构化抽取与工具调用。
四、快速上手
pip install guidance
import guidance
g = guidance.models.Transformers("Qwen/Qwen2.5-0.5B-Instruct")
out = g + "问题:1+1=?n答案:" + guidance.gen(max_tokens=5)
print(out)
五、注意事项
- 与后端绑定较紧密,切换模型需适配;
- 版本更新可能调整 API,注意兼容;
- 约束过强可能限制模型创造力,需权衡。