DEFINE 提示
Prompt Engineering - 请求定义和解释
Section titled “Prompt Engineering - 请求定义和解释”语言模型(如 ChatGPT)的一个基本用途是获取特定术语、概念或现象的定义或解释。本章重点介绍如何有效地提示 LLM 生成清晰、简洁和准确的定义,将其转变为一个强大的知识资源。
如何请求定义
Section titled “如何请求定义”请求定义通常很简单。你明确要求模型定义或解释某个事物。没有特殊的“指令”语法;关键在于清晰、自然的语言。
请求定义的基本提示词示例:
User: What is Artificial Intelligence?
User: Can you explain the concept of 'blockchain' in simple terms?
User: Define 'photosynthesis' for a 5th grader.然后,LLM 将尝试生成相关的定义或解释。
User: What is Artificial Intelligence?ChatGPT: 人工智能(AI)是指在机器中模拟人类智能,这些机器被编程用来像人类一样思考并模仿人类的行为。该术语也可能应用于任何展现出与人类思维相关特征的机器,例如学习和解决问题。AI 的主要子领域包括机器学习、自然语言处理、计算机视觉和机器人学。请求定义的最佳实践
Section titled “请求定义的最佳实践”为了从 LLM 获得最佳定义,请考虑以下实践:
- 具体明确: 清晰地陈述术语或概念。“定义金融衍生品”优于“解释金融方面的东西”。
- 指定受众和简易程度: 如有需要,请要求为特定受众量身定制解释(例如,“向高中生解释量子计算”或“用外行人的话说,定义 ‘API’”)。
- 请求简洁或详细: 你可以指导长度:“提供 CRISPR 的简要定义”或“详细解释 K-means 聚类算法”。
- 为歧义术语提供上下文: 一些术语有多种含义。如果是这样,请提供上下文:“在机器学习语境下的‘transformer’是什么?”对比“电学上的‘transformer’是什么?”
- 请求示例: ‘定义‘拟声词’并给出三个示例。’
- 如有必要,进行迭代: 如果第一个定义不够清晰或完整,可以提出追问或重新措辞你的提示词。“你能详细阐述一下 AI 的‘学习’方面吗?”
应用示例:用于获取定义的 Python 脚本
Section titled “应用示例:用于获取定义的 Python 脚本”这是一个使用 OpenAI API 来获取定义的 Python 脚本。请记住安全地处理你的 API 密钥。
import openaiimport os
# 安全地加载你的 API 密钥# openai.api_key = os.getenv("OPENAI_API_KEY")# 对于本示例,请将 'YOUR_API_KEY_HERE' 替换为你的实际密钥:openai.api_key = 'YOUR_API_KEY_HERE'
def get_definition(term, audience=None): try: prompt_content = f"What is the definition of '{term}'?" if audience: prompt_content += f" Explain it for a {audience}."
response = openai.ChatCompletion.create( model="gpt-3.5-turbo", # 或使用更新的模型 messages=[ {"role": "system", "content": "You are a helpful assistant that provides clear definitions."}, {"role": "user", "content": prompt_content} ], max_tokens=150, # 根据定义长度调整 temperature=0.3, # 数值越低,定义越客观、非创意性 n=1, stop=None ) return response.choices[0].message['content'].strip() except Exception as e: return f"发生错误: {e}"
# 示例用法:term_to_define = "API (Application Programming Interface)"audience_level = "non-technical person"
definition = get_definition(term_to_define, audience_level)print(f"对 {audience_level} 而言,'{term_to_define}' 的定义:\n{definition}")
print("\n---\n")
term_to_define_simple = "osmosis"definition_simple = get_definition(term_to_define_simple)print(f"'{term_to_define_simple}' 的定义:\n{definition_simple}")对 non-technical person 而言,'API (Application Programming Interface)' 的定义:API,即应用程序编程接口,就像餐厅里的服务员。想象你在一家餐厅(这是一个应用程序或软件)。你不会直接走进厨房(复杂的代码)告诉厨师你想要什么。相反,你告诉服务员(API)你的订单,服务员将它传达给厨房。然后,服务员将你的食物(数据或功能)带回给你。因此,API 允许不同的软件程序之间相互通信和交换信息,而无需了解对方程序的所有复杂细节。
---
'osmosis' 的定义:渗透是指水分子穿过选择性渗透膜,从高水浓度区域移动到低水浓度区域的过程。这一过程旨在平衡膜两侧溶质的浓度。这是一个被动过程,意味着它不需要能量。向 LLM 请求定义和解释是提示词工程中一个直接而强大的应用。通过使用清晰、具体的语言,并可选择指导模型针对特定受众和深度,你可以快速获取有价值的信息。
请记住批判性地评估这些定义,特别是对于复杂或细微主题的定义,并在准确性至关重要时交叉参考权威来源。将此视为获取知识的起点,而非最终的权威。如需进一步研究,可以了解 LLM 如何处理事实回忆以及潜在的‘幻觉’现象。