Prompt通用技巧1

发布于:2025-02-13 ⋅ 阅读:(14) ⋅ 点赞:(0)

Prompt 的典型构成

  • 角色:给 AI定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」
  • 指示:对任务进行描述
  • 上下文: 给出与任务相关的其它背景信息(尤其在多轮交互中)。
  • 例子 : 必要时给出举例,学术中称为 one-shot learning,few-shot learning 或 in-context learning;实践证明其对输出正确性有帮助。
  • 输入: 任务的输入信息;在提示词中明确的标识出输入
  • 输出: 输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、XML)
    大模型对 prompt 开头和结尾的内容更敏感

设置Prompt的通用技巧

使用 清晰,明确,避免模糊的词语

from openai import OpenAIimport os
from dotenv import load dotenv
load dotenv()
os.environ["http_proxy"]="http://127.0.0.1:7897"
os.environ["https proxy"]="http://127.0.0.1:7897"

client = OpenAI()
“““1、具体性”“”
# prompt ='输出一个九九乘法口诀表”#prompt ='请使用python语言 只能利用for循环不能使用其他的语法 输出一个九九乘法口诀表并写好相应的注释'
"““2、示例与格式"""
instruction =
你的任务是识别用户输入的的信息
提取出对应的时间(time),地点(Locations)、人物(character)

output ="""
并以JSON格式输出
"""
input_text="""在北京,小明和小红在下午两点钟相约去公园散步。"""
# input text ="""在本周末,我将和我的同事王五一起去海洋公园玩吸。""”
# input text ="""今天晚上 我会和我的闺家小关一起夫酒馆酒"""
examples =
"""在北京,小明和小红在下午两点钟相约去公园散步。:"Locations":"北京","character":「"小明","小红"1,"time":"下午两点钟")在本周末,我将和我的同事王五一起去海洋公园玩耍。:{"时间":"本周末","地点":"海洋公园","人物":["","我的同事王五"]}

prompt =f"""
#{instruction}
#{output}
#{examples}
用户输入:#{input text)
#"""

def get_completion(prompt, model = "gpt-3.5-yurbo"):
messages ={"role":"user","content": prompt}]
response = client.chat.completions.create(
model=model,
messages=messages,
temperature=0,#型输出的随机性,8 表示随机性最小
return response.choices[0].message.content
print(get completion(prompt))