Prompt Engineering 简明教程

Prompt Engineering - COLUMN Prompt

COLUMN 提示是一个强大的技术,它使我们能够对 ChatGPT 生成的响应进行结构化和格式化。通过使用 COLUMN 指令,我们可以创建结构化输出、以表格形式组织信息,并以清晰有序的方式呈现模型的响应。

Understanding the COLUMN Directive

COLUMN 指令允许我们定义列,并在生成的响应中设置这些列中的内容的格式。当我们要以表格格式呈现信息或者我们需要以特定方式组织输出时,这尤其有用。

COLUMN 指令通过指定列标题以及每列中的相应内容起作用。

COLUMN 指令的基本 syntax 如下所示 −

User: Can you compare the features of smartphones X and Y?
ChatGPT: Sure! Here's a comparison of the features:
------------------------------------------------------
| **Features** | **Smartphone X** | **Smartphone Y** |
|--------------|------------------|------------------|
| Camera       | 12 MP            | 16 MP            |
| Battery      | 3000 mAh         | 4000 mAh         |
| Storage      | 64 GB            | 128 GB           |
------------------------------------------------------

在这个示例中,用户要求比较智能手机 X 和 Y。来自 ChatGPT 的响应包括使用 COLUMN 指令创建的比较表格。表格包括列标题(“特性”、“智能手机 X”、“智能手机 Y”)和每列中的相应内容。

Best Practices for Using the COLUMN Directive

为了充分利用 COLUMN 指令,请考虑以下最佳实践 −

  1. Define Column Headers − 明确定义每一列的标题,以便提供背景和促进理解。列标题用作每列中呈现的信息的标签。

  2. Organize Content − 确保每一列中的内容正确对齐。保持一致的格式和对齐方式,以增强可读性。

  3. Limit Column Width − 考虑每一列的宽度,以避免表格过宽。窄一点的表格更易于阅读,尤其是当信息很长或者有很多列时。

Use Markdown or ASCII Tables − COLUMN 指令可以与 Markdown 或 ASCII 表格格式化相结合来创建视觉上吸引人、结构完善的表格。Markdown 或 ASCII 表格生成器可以用于自动为我们设置表格格式。

Example Application − Python Implementation

我们来看一个使用 COLUMN 指令与 ChatGPT 交互的 Python 脚本的实际示例。

在这个示例中,我们定义了一个 generate_chat_response() 函数,它接受一个提示并使用 OpenAI API 使用 ChatGPT 生成响应。

chat_prompt 变量包含用户的提示和 ChatGPT 响应,包括使用 COLUMN 指令设置格式的比较表格。

import openai
# Set your API key here
openai.api_key = 'YOUR_API_KEY'

def generate_chat_response(prompt):
   response = openai.Completion.create(
      engine="text-davinci-003",
      prompt=prompt,
      max_tokens=100,
      temperature=0.7,
      n=1,
      stop=None
   )
   return response

user_prompt = "User: Can you compare the features of smartphones X and Y?\n"
chat_prompt = user_prompt + "ChatGPT: Sure! Here's a comparison of the features:\n\n| **Features** | **Smartphone X** | **Smartphone Y** "

response = generate_chat_response(chat_prompt)
print(response)

Output

运行脚本后,我们将收到来自 ChatGPT 的生成响应,包括以比较表格形式呈现的结构化输出。

comparison table

Conclusion

在本章中,我们探索了在 ChatGPT 提示工程中 COLUMN 指令的功能。通过使用 COLUMN 指令,我们可以对 ChatGPT 生成的响应进行结构化和格式化,以表格格式或以特定的组织方式呈现信息。

我们讨论了 COLUMN 指令的语法,并提供了其用法的最佳实践,包括定义列标题、组织内容和考虑列宽。