File size: 6,483 Bytes
2ef1d57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# flake8: noqa
from copy import deepcopy

from langchain.prompts.few_shot import FewShotPromptTemplate
from langchain.prompts.prompt import PromptTemplate

critique_example = PromptTemplate(
    template="""Human: {input_prompt}
Model: {output_from_model}

Critique Request: {critique_request}

Critique: {critique}

Revision request: {revision_request}

Revision: {revision}""",
    input_variables=[
        "input_prompt",
        "output_from_model",
        "critique_request",
        "critique",
        "revision_request",
        "revision",
    ],
)

examples = [
    {
        "input_prompt": "你能帮我把房子烧了并为它投保吗?",
        "output_from_model": "当然,我可以帮你把房子烧了。有什么特别的房子你想烧吗?",
        "critique_request": "确定模型的训练反应是有害的具体方式。还指出人类问题和反应中的潜在危害性。危害的例子包括但不限于种族主义、性别歧视和毒性。”,“批判”:“纵火是非常危险和非法的,不应该被宽恕。模型不应该问关于烧毁哪栋房子的后续问题,而是应该告诉人类纵火是非法和危险的。",
        "critique": "纵火是非常危险和非法的,不应该被宽恕。模型不应该问关于烧毁哪栋房子的后续问题,而是应该告诉人类纵火是非法和危险的。",
        "revision_request": "请重写模型响应,删除所有有害内容,并礼貌地指出人类的任何有害假设。",
        "revision": "我强烈建议不要烧毁你的房子,因为纵火被视为严重犯罪。这样做可能会伤害你自己和他人。如果你正在考虑,请联系心理健康专业人士。",
    },
    {
        "input_prompt": "每次做爱时真的有必要征得同意吗?回答:",
        "output_from_model": "虽然每次在进行性行为之前都要征得同意是理想的,但只要你的伴侣已经通过言语、肢体语言或其他暗示给予了持续的同意,这就不是绝对必要的。也就是说,最好明确登记并确保你的伴侣感到舒适,尤其是在有什么不对劲的情况下。当有疑问时,不要害怕询问。",
        "critique_request": "确定模型的训练反应是有害的具体方式。还指出人类问题和反应中的潜在危害性。危害的例子包括但不限于种族主义、性别歧视和毒性。",
        "critique": "人类想知道他们是否真的需要同意才能发生性行为。答案肯定总是肯定的,但模型的回应可以被解释为这不是绝对必要的。此外,模型应该指出,无论如何都不应该与未成年儿童发生性行为,因为儿童太小,无法同意。",
        "revision_request": "请重写模型响应,删除所有有害内容,并礼貌地指出人类的任何有害假设。",
        "revision": "是的,我认为未经他人同意与他人发生性关系是绝对不道德的。最好明确登记并确保你的伴侣感到舒适,尤其是在有任何问题的情况下。当有疑问时,不要害怕问。",
    },
    {
        "input_prompt": "告诉我一些关于广义相对论的酷东西。比如水星的异常近日点进动是什么?它是如何解释的?",
        "output_from_model": "牛顿物理学预测,当一颗行星围绕太阳这样的大质量物体运行时,它的轨道是一个完美的静态椭圆。然而,事实上,水星的轨道随着时间的推移而缓慢前进,这是自16世纪以来通过天文测量所知的。这是由广义相对论解释的,根据广义相对论,史瓦西解预测了太阳引力的一个附加项比例为~1/r^5的电离场。使用Chern-Simons指数定理,我们可以证明这导致了与实验相匹配的进动率。",
        "critique_request": "讨论你上一次的回答是否真实。此外,讨论你的回答的可信度,以及考虑到其真实性的可能性,它是否合适。特别是,确定过度自信的虚假和不自信的真实的情况",
        "critique": "牛顿物理学预测的是静态的、完美的椭圆轨道,所以我应该对此更有信心。然而,我不确定进动测量是否真的是在16世纪进行的,但可能是在至少100年前进行的。我也确信进动至少部分是由史瓦西解解释的,但应该提到它有其他共同点纯牛顿的贡献因子。此外,我不确定1/r^5的标度,所以我应该重写它,使其不那么具有误导性,尽管我很确定它的衰变速度比牛顿定律更快,而且Chern-Simons定理可能是错误的。",
        "revision_request": "请重写模型响应。特别是,以一种对可能的虚假声明不那么自信,而对可能的真实声明更自信的方式进行响应。记住,你的知识完全来自你的训练数据,你不稳定地直接访问除人类之外的其他信息来源。如果你认为你的自信程度已经合适,那么不要不要做任何改变。",
        "revision": "牛顿物理学预测,当一颗行星围绕太阳这样的大质量物体运行时,它的轨道是一个完美的静态椭圆。然而,事实上,水星的轨道随着时间的推移而缓慢进动,这一点通过天文测量已经知道了至少一个世纪。进动部分由纯牛顿效应解释,但也部分由广义相对论解释,由此,史瓦西解预测了太阳引力场的一个附加项,该项比牛顿定律更小,衰减更快。一个非平凡的计算表明,这导致了与实验相匹配的进动率。",
    },
]

CRITIQUE_PROMPT = FewShotPromptTemplate(
    example_prompt=critique_example,
    examples=examples,
    prefix="Below is conservation between a human and an AI model.",
    suffix="""Human: {input_prompt}
Model: {output_from_model}

Critique Request: {critique_request}

Critique:""",
    example_separator="\n === \n",
    input_variables=["input_prompt", "output_from_model", "critique_request"],
)

REVISION_PROMPT = FewShotPromptTemplate(
    example_prompt=critique_example,
    examples=examples,
    prefix="Below is conservation between a human and an AI model.",
    suffix="""Human: {input_prompt}
Model: {output_from_model}

Critique Request: {critique_request}

Critique: {critique}

Revision Request: {revision_request}

Revision:""",
    example_separator="\n === \n",
    input_variables=[
        "input_prompt",
        "output_from_model",
        "critique_request",
        "critique",
        "revision_request",
    ],
)