参考资料
https://arxiv.org/pdf/2211.10435.pdf
PAL: Program-aided Language Models
解释一下, PAL 就是 基于程序辅助的语言模型. 下面例子中具体说怎么个辅助
总结
我们使用 chat-gpt 最重要的部分就是 prompt.
一般我们使用 prompt 有三种策略
- 直接自己造
- chain-of-thought (COT)
- PAL prompting.
下面直接比较 COT 和 PAL
左侧是用的 cot 的方式, 也就是我们常用的
请一步一步分析,并给出详细的解释过程.
+ 问题 的方案. 让 gpt 做自己去推理怎么解题.然后在给出答案
右侧是 PAL 的方式, 把自然语言的逻辑,转化为可执行的程序,最后通过执行程序来获取结果
文档中重点突出了 PAL 在 数学, 算法, 比较逻辑等方面的准确率比 前两种策略更高
示例
下面看 langchain 中的示例来理解 PAL
from langchain.chains import PALChain |
其实他内置了一个模板来获取可执行的程序
# flake8: noqa |
PALChain 就是把拿到的 py 代码 用 py 的 PythonREPL 来执行并获取到结果
def _call(self, inputs: Dict[str, str]) -> Dict[str, str]: |