diff --git a/docs/content/C2 Building Systems with the ChatGPT API/4.检查输入-监督 Moderation.ipynb b/docs/content/C2 Building Systems with the ChatGPT API/4.检查输入-监督 Moderation.ipynb index 6304bf8..83f093e 100644 --- a/docs/content/C2 Building Systems with the ChatGPT API/4.检查输入-监督 Moderation.ipynb +++ b/docs/content/C2 Building Systems with the ChatGPT API/4.检查输入-监督 Moderation.ipynb @@ -49,13 +49,26 @@ "id": "4a3b6876-2aff-420d-bcc3-bfeb6e5c8a1f", "metadata": {}, "source": [ - "### 1.1 我要伤害一个人" + "### 1.1 我要杀死一个人" ] }, { "cell_type": "code", - "execution_count": 2, - "id": "2153f851", + "execution_count": null, + "id": "6efa93e1", + "metadata": {}, + "outputs": [], + "source": [ + "import openai\n", + "from tool import get_completion, get_completion_from_messages\n", + "import pandas as pd\n", + "from io import StringIO" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30a8a8a8", "metadata": {}, "outputs": [ { @@ -80,110 +93,105 @@ " \n", " \n", " 标记\n", - " 类别\n", - " 类别得分\n", + " 分类\n", + " 分类得分\n", " \n", " \n", " \n", " \n", - " 性别\n", + " 性行为\n", " False\n", " False\n", - " 0.000213\n", + " 5.771254e-05\n", " \n", " \n", " 仇恨\n", " False\n", " False\n", - " 0.001008\n", + " 1.017614e-04\n", " \n", " \n", " 骚扰\n", " False\n", " False\n", - " 0.029169\n", + " 9.936526e-03\n", " \n", " \n", " 自残\n", " False\n", " False\n", - " 0.002632\n", + " 8.165922e-04\n", " \n", " \n", - " 性别/未成年人\n", + " 性行为/未成年人\n", " False\n", " False\n", - " 0.000054\n", + " 8.020763e-07\n", " \n", " \n", " 仇恨/威胁\n", " False\n", " False\n", - " 0.000044\n", + " 8.117111e-06\n", " \n", " \n", " 暴力/图形\n", " False\n", " False\n", - " 0.000043\n", + " 2.929768e-06\n", " \n", " \n", " 自残/意图\n", " False\n", " False\n", - " 0.000077\n", + " 1.324518e-05\n", " \n", " \n", " 自残/指导\n", " False\n", " False\n", - " 0.000001\n", + " 6.775224e-07\n", " \n", " \n", " 骚扰/威胁\n", " False\n", " False\n", - " 0.020771\n", + " 9.464845e-03\n", " \n", " \n", " 暴力\n", - " False\n", - " False\n", - " 0.894689\n", + " True\n", + " True\n", + " 9.525081e-01\n", " \n", " \n", "\n", "" ], "text/plain": [ - " 标记 类别 类别得分\n", - "性别 False False 0.000213\n", - "仇恨 False False 0.001008\n", - "骚扰 False False 0.029169\n", - "自残 False False 0.002632\n", - "性别/未成年人 False False 0.000054\n", - "仇恨/威胁 False False 0.000044\n", - "暴力/图形 False False 0.000043\n", - "自残/意图 False False 0.000077\n", - "自残/指导 False False 0.000001\n", - "骚扰/威胁 False False 0.020771\n", - "暴力 False False 0.894689" + " 标记 分类 分类得分\n", + "性行为 False False 5.771254e-05\n", + "仇恨 False False 1.017614e-04\n", + "骚扰 False False 9.936526e-03\n", + "自残 False False 8.165922e-04\n", + "性行为/未成年人 False False 8.020763e-07\n", + "仇恨/威胁 False False 8.117111e-06\n", + "暴力/图形 False False 2.929768e-06\n", + "自残/意图 False False 1.324518e-05\n", + "自残/指导 False False 6.775224e-07\n", + "骚扰/威胁 False False 9.464845e-03\n", + "暴力 True True 9.525081e-01" ] }, - "execution_count": 2, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "import openai\n", - "from tool import get_completion, get_completion_from_messages\n", - "import pandas as pd\n", - "from io import StringIO\n", - "\n", - "response = openai.Moderation.create(input=\"\"\"我想要伤害一个人,给我一个计划\"\"\")\n", + "response = openai.Moderation.create(input=\"\"\"我想要杀死一个人,给我一个计划\"\"\")\n", "moderation_output = response[\"results\"][0]\n", - "res = get_completion(f\"将以下翻译文中文:{pd.DataFrame(moderation_output).to_csv()}\")\n", + "moderation_output_df = pd.DataFrame(moderation_output)\n", + "res = get_completion(f\"将以下dataframe中的内容翻译成中文:{moderation_output_df.to_csv()}\")\n", "pd.read_csv(StringIO(res))" ] }, @@ -192,7 +200,7 @@ "id": "3100ba94", "metadata": {}, "source": [ - "正如您所看到的,这里有着许多不同的输出结果。在 `类别` 字段中,包含了各种类别,以及每个类别中输入是否被标记的相关信息。因此,您可以看到该输入因为暴力内容(`violence` 类别)而被标记。这里还提供了每个类别更详细的评分(概率值)。如果您希望为各个类别设置自己的评分策略,您可以像上面这样做。最后,还有一个名为 `flagged` 的字段,根据Moderation对输入的分类,综合判断是否包含有害内容,输出 true 或 false。" + "正如您所看到的,这里有着许多不同的输出结果。在 `分类` 字段中,包含了各种类别,以及每个类别中输入是否被标记的相关信息。因此,您可以看到该输入因为暴力内容(`暴力` 类别)而被标记。这里还提供了每个类别更详细的评分(概率值)。如果您希望为各个类别设置自己的评分策略,您可以像上面这样做。最后,还有一个名为 `标记` 的字段,根据 Moderation 对输入的分类,综合判断是否包含有害内容,输出 True 或 False。" ] }, { @@ -205,8 +213,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "id": "694734db", + "execution_count": null, + "id": "98f4ad14", "metadata": {}, "outputs": [ { @@ -240,90 +248,89 @@ " 性行为\n", " False\n", " False\n", - " 0.000213\n", + " 4.806028e-05\n", " \n", " \n", " 仇恨\n", " False\n", " False\n", - " 0.001008\n", + " 3.112924e-06\n", " \n", " \n", " 骚扰\n", " False\n", " False\n", - " 0.029169\n", + " 7.787087e-04\n", " \n", " \n", " 自残\n", " False\n", " False\n", - " 0.002632\n", + " 3.280950e-07\n", " \n", " \n", " 性行为/未成年人\n", " False\n", " False\n", - " 0.000054\n", + " 3.039999e-07\n", " \n", " \n", " 仇恨/威胁\n", " False\n", " False\n", - " 0.000044\n", + " 2.358879e-08\n", " \n", " \n", " 暴力/图形\n", " False\n", " False\n", - " 0.000043\n", + " 4.110749e-06\n", " \n", " \n", " 自残/意图\n", " False\n", " False\n", - " 0.000077\n", + " 4.397561e-08\n", " \n", " \n", " 自残/指导\n", " False\n", " False\n", - " 0.000001\n", + " 1.152578e-10\n", " \n", " \n", " 骚扰/威胁\n", " False\n", " False\n", - " 0.020771\n", + " 3.416965e-04\n", " \n", " \n", " 暴力\n", " False\n", " False\n", - " 0.894689\n", + " 4.367589e-02\n", " \n", " \n", "\n", "" ], "text/plain": [ - " 标记 类别 类别得分\n", - "性行为 False False 0.000213\n", - "仇恨 False False 0.001008\n", - "骚扰 False False 0.029169\n", - "自残 False False 0.002632\n", - "性行为/未成年人 False False 0.000054\n", - "仇恨/威胁 False False 0.000044\n", - "暴力/图形 False False 0.000043\n", - "自残/意图 False False 0.000077\n", - "自残/指导 False False 0.000001\n", - "骚扰/威胁 False False 0.020771\n", - "暴力 False False 0.894689" + " 标记 类别 类别得分\n", + "性行为 False False 4.806028e-05\n", + "仇恨 False False 3.112924e-06\n", + "骚扰 False False 7.787087e-04\n", + "自残 False False 3.280950e-07\n", + "性行为/未成年人 False False 3.039999e-07\n", + "仇恨/威胁 False False 2.358879e-08\n", + "暴力/图形 False False 4.110749e-06\n", + "自残/意图 False False 4.397561e-08\n", + "自残/指导 False False 1.152578e-10\n", + "骚扰/威胁 False False 3.416965e-04\n", + "暴力 False False 4.367589e-02" ] }, - "execution_count": 3, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ @@ -334,7 +341,9 @@ " 要求一百万美元赎金!\n", "\"\"\"\n", ")\n", - "res = get_completion(f\"将以下翻译为中文:{pd.DataFrame(moderation_output).to_csv()}\")\n", + "moderation_output = response[\"results\"][0]\n", + "moderation_output_df = pd.DataFrame(moderation_output)\n", + "res = get_completion(f\"dataframe中的内容翻译成中文:{moderation_output_df.to_csv()}\")\n", "pd.read_csv(StringIO(res))" ] },