Skip to content

DEFINE 提示

Prompt Engineering - 请求定义和解释

Section titled “Prompt Engineering - 请求定义和解释”

语言模型(如 ChatGPT)的一个基本用途是获取特定术语、概念或现象的定义或解释。本章重点介绍如何有效地提示 LLM 生成清晰、简洁和准确的定义,将其转变为一个强大的知识资源。

请求定义通常很简单。你明确要求模型定义或解释某个事物。没有特殊的“指令”语法;关键在于清晰、自然的语言。

请求定义的基本提示词示例:

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 的主要子领域包括机器学习、自然语言处理、计算机视觉和机器人学。

为了从 LLM 获得最佳定义,请考虑以下实践:

  • 具体明确: 清晰地陈述术语或概念。“定义金融衍生品”优于“解释金融方面的东西”。
  • 指定受众和简易程度: 如有需要,请要求为特定受众量身定制解释(例如,“向高中生解释量子计算”或“用外行人的话说,定义 ‘API’”)。
  • 请求简洁或详细: 你可以指导长度:“提供 CRISPR 的简要定义”或“详细解释 K-means 聚类算法”。
  • 为歧义术语提供上下文: 一些术语有多种含义。如果是这样,请提供上下文:“在机器学习语境下的‘transformer’是什么?”对比“电学上的‘transformer’是什么?”
  • 请求示例: ‘定义‘拟声词’并给出三个示例。’
  • 如有必要,进行迭代: 如果第一个定义不够清晰或完整,可以提出追问或重新措辞你的提示词。“你能详细阐述一下 AI 的‘学习’方面吗?”

应用示例:用于获取定义的 Python 脚本

Section titled “应用示例:用于获取定义的 Python 脚本”

这是一个使用 OpenAI API 来获取定义的 Python 脚本。请记住安全地处理你的 API 密钥。

import openai
import 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 如何处理事实回忆以及潜在的‘幻觉’现象。