Guidance 项目推荐
项目基础介绍和主要编程语言
Guidance 是一个用于控制大型语言模型的编程范式。该项目的主要编程语言是 Python。通过 Guidance,用户可以控制输出的结构,并获得高质量的输出,同时减少延迟和成本,相比于传统的提示或微调方法。
项目核心功能
- 控制生成:用户可以通过正则表达式(regex)和上下文无关文法(CFGs)等工具来约束生成内容。
- 状态控制和生成:支持在生成过程中无缝插入控制逻辑(如条件语句、循环、工具使用等)。
- 工具调用:项目支持工具的轻松调用和部署,模型在调用工具时会自动停止生成,调用工具后继续生成。
- 多后端兼容:Guidance 可以在多种后端(如 Transformers、llama.cpp、OpenAI 等)上执行,用户可以编写一个 Guidance 程序并在多个后端上运行。
- 速度优化:通过状态控制和生成函数的结合,Guidance 程序比传统的链式调用更快。
- 多模态支持:支持图像等多模态数据的处理。
项目最近更新的功能
- 加速的 Rust 解析器:引入了基于 Rust 的加速解析器,提升了处理速度。
- Azure AI 支持:增加了对 Azure AI 中 Phi 模型的支持,并提供了详细的加载说明和使用指南。
- 流式支持:集成了对 Jupyter 笔记本的流式支持,使得在交互式环境中使用 Guidance 更加便捷。
- 预构建组件:增加了一些常见的语法元素作为预构建组件,如子字符串和 JSON 处理。
- 抽象聊天接口:引入了适用于任何聊天模型的抽象聊天接口,确保使用正确的特殊标记。
通过这些更新,Guidance 项目在功能和性能上都有了显著的提升,为用户提供了更加强大和灵活的工具来控制大型语言模型。