diff --git a/content/2. 提示原则 Guidelines.ipynb b/content/2. 提示原则 Guidelines.ipynb index dab5071..bd5628a 100644 --- a/content/2. 提示原则 Guidelines.ipynb +++ b/content/2. 提示原则 Guidelines.ipynb @@ -1127,7 +1127,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "模型会输出看上去非常真实的编造知识,这有时会很危险。因此,请确保使用我们在本笔记本中介绍的一些技巧,以尝试在构建自己的应用程序时避免这种情况。这是模型已知的一个弱点,也是我们正在积极努力解决的问题。在你希望模型根据文本生成答案的情况下,另一种减少幻觉的策略是先要求模型找到文本中的任何相关引用,然后要求它使用这些引用来回答问题,这种追溯源文档的方法通常对减少幻觉非常有帮助。" + "模型会输出看上去非常真实的编造知识,这有时会很危险。因此,请确保使用我们在本节中介绍的一些技巧,以尝试在构建自己的应用程序时避免这种情况。这是模型已知的一个弱点,也是我们正在积极努力解决的问题。在你希望模型根据文本生成答案的情况下,另一种减少幻觉的策略是先要求模型找到文本中的任何相关引用,然后要求它使用这些引用来回答问题,这种追溯源文档的方法通常对减少幻觉非常有帮助。" ] }, { @@ -1140,7 +1140,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -1154,7 +1154,38 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.8.13" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": true } }, "nbformat": 4, diff --git a/content/3. 迭代优化 Itrative.ipynb b/content/3. 迭代优化 Itrative.ipynb index 8b197a8..398b0b6 100644 --- a/content/3. 迭代优化 Itrative.ipynb +++ b/content/3. 迭代优化 Itrative.ipynb @@ -539,7 +539,7 @@ "source": [ "## 问题三:需要一个表格形式的描述\n", "\n", - "以上是许多开发人员通常会经历的迭代提示开发的简短示例。我的建议是,像上一章中所演示的那样,Prompt 应该保持清晰和明确,并在必要时给模型一些思考时间。在这些要求的基础上,通常值得首先尝试编写 Prompt ,看看会发生什么,然后从那里开始迭代地完善 Prompt,以逐渐接近所需的结果。因此,许多成功的提示都是通过这种迭代过程得出的。我将向您展示一个更复杂的提示示例,可能会让您对ChatGPT的能力有更深入的了解。\n", + "以上是许多开发人员通常会经历的迭代提示开发的简短示例。我的建议是,像上一章中所演示的那样,Prompt 应该保持清晰和明确,并在必要时给模型一些思考时间。在这些要求的基础上,通常值得首先尝试编写 Prompt ,看看会发生什么,然后从那里开始迭代地完善 Prompt,以逐渐接近所需的结果。因此,许多成功的Prompt都是通过这种迭代过程得出的。我将向您展示一个更复杂的提示示例,可能会让您对ChatGPT的能力有更深入的了解。\n", "\n", "这里我添加了一些额外的说明,要求它抽取信息并组织成表格,并指定表格的列、表名和格式,还要求它将所有内容格式化为可以在网页使用的 HTML。" ] @@ -809,13 +809,20 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "本章的主要内容是 LLM 在开发应用程序中的迭代式提示开发过程。开发者需要先尝试编写提示,然后通过迭代逐步完善它,直至得到需要的结果。关键在于拥有一种有效的开发提示的过程,而不是知道完美的提示。对于一些更复杂的应用程序,可以对多个样本进行迭代开发提示并进行评估。最后,可以在更成熟的应用程序中测试多个提示在多个样本上的平均或最差性能。在使用 Jupyter 代码笔记本示例时,请尝试不同的变化并查看结果。" + "本章的主要内容是 LLM 在开发应用程序中的迭代式提示开发过程。开发者需要先尝试编写提示,然后通过迭代逐步完善它,直至得到需要的结果。关键在于拥有一种有效的开发Prompt的过程,而不是知道完美的Prompt。对于一些更复杂的应用程序,可以对多个样本进行迭代开发提示并进行评估。最后,可以在更成熟的应用程序中测试多个Prompt在多个样本上的平均或最差性能。在使用 Jupyter 代码笔记本示例时,请尝试不同的变化并查看结果。" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -829,7 +836,38 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.8.13" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": true } }, "nbformat": 4, diff --git a/content/4. 文本概括 Summarizing.ipynb b/content/4. 文本概括 Summarizing.ipynb index b40c397..7b2f940 100644 --- a/content/4. 文本概括 Summarizing.ipynb +++ b/content/4. 文本概括 Summarizing.ipynb @@ -594,9 +594,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python [conda env:chatgpt]", + "display_name": "Python 3", "language": "python", - "name": "conda-env-chatgpt-py" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -608,7 +608,38 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.8.13" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": true } }, "nbformat": 4, diff --git a/content/5. 推断 Inferring.ipynb b/content/5. 推断 Inferring.ipynb index 7ab3077..f660517 100644 --- a/content/5. 推断 Inferring.ipynb +++ b/content/5. 推断 Inferring.ipynb @@ -156,7 +156,7 @@ "source": [ "# 中文\n", "prompt = f\"\"\"\n", - "以下用三重反引号分隔的产品评论的情感是什么?\n", + "以下用三个反引号分隔的产品评论的情感是什么?\n", "\n", "评论文本: '''{lamp_review_zh}'''\n", "\"\"\"\n", @@ -218,7 +218,7 @@ ], "source": [ "prompt = f\"\"\"\n", - "以下用三重反引号分隔的产品评论的情感是什么?\n", + "以下用三个反引号分隔的产品评论的情感是什么?\n", "\n", "用一个单词回答:「正面」或「负面」。\n", "\n", @@ -355,7 +355,7 @@ "source": [ "# 中文\n", "prompt = f\"\"\"\n", - "以下评论的作者是否表达了愤怒?评论用三重反引号分隔。给出是或否的答案。\n", + "以下评论的作者是否表达了愤怒?评论用三个反引号分隔。给出是或否的答案。\n", "\n", "评论文本: '''{lamp_review_zh}'''\n", "\"\"\"\n", @@ -447,7 +447,7 @@ "- 评论者购买的物品\n", "- 制造该物品的公司\n", "\n", - "评论文本用三重反引号分隔。将你的响应格式化为以 “物品” 和 “品牌” 为键的 JSON 对象。\n", + "评论文本用三个反引号分隔。将你的响应格式化为以 “物品” 和 “品牌” 为键的 JSON 对象。\n", "如果信息不存在,请使用 “未知” 作为值。\n", "让你的回应尽可能简短。\n", " \n", @@ -548,7 +548,7 @@ "- 评论者购买的物品\n", "- 制造该物品的公司\n", "\n", - "评论用三重反引号分隔。将您的响应格式化为 JSON 对象,以 “Sentiment”、“Anger”、“Item” 和 “Brand” 作为键。\n", + "评论用三个反引号分隔。将您的响应格式化为 JSON 对象,以 “Sentiment”、“Anger”、“Item” 和 “Brand” 作为键。\n", "如果信息不存在,请使用 “未知” 作为值。\n", "让你的回应尽可能简短。\n", "将 Anger 值格式化为布尔值。\n", diff --git a/content/6. 文本转换 Transforming.ipynb b/content/6. 文本转换 Transforming.ipynb index 306fb68..b6d0308 100644 --- a/content/6. 文本转换 Transforming.ipynb +++ b/content/6. 文本转换 Transforming.ipynb @@ -219,7 +219,7 @@ { "cell_type": "code", "execution_count": null, - "id": "70d0e10d", + "id": "6a884190", "metadata": {}, "outputs": [], "source": [ @@ -626,9 +626,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python [conda env:chatgpt]", + "display_name": "Python 3", "language": "python", - "name": "conda-env-chatgpt-py" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -640,7 +640,38 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.8.13" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": true } }, "nbformat": 4, diff --git a/content/7. 文本扩展 Expand.ipynb b/content/7. 文本扩展 Expand.ipynb index a871431..9ac5924 100644 --- a/content/7. 文本扩展 Expand.ipynb +++ b/content/7. 文本扩展 Expand.ipynb @@ -419,7 +419,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -433,7 +433,38 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.8.13" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false } }, "nbformat": 4, diff --git a/content/8. 聊天机器人 Chatbot.ipynb b/content/8. 聊天机器人 Chatbot.ipynb index 5ab654b..5397a7c 100644 --- a/content/8. 聊天机器人 Chatbot.ipynb +++ b/content/8. 聊天机器人 Chatbot.ipynb @@ -381,6 +381,16 @@ "现在,我们将设置并运行这个 UI 来显示订单机器人。初始的上下文包含了包含菜单的系统消息。请注意,上下文会随着时间的推移而不断增长。" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "d9f97fa0", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install panel" + ] + }, { "cell_type": "code", "execution_count": 43,