首先导入open_ai key
import openai
import os
from dotenv import load_dotenv, find_dotenv
# 导入第三方库_ = load_dotenv(find_dotenv())
# 读取系统中的环境变量openai.api_key = os.getenv('OPENAI_API_KEY')
# path1.api_key = os.getenv('path')
print(openai.api_key)
# print(path1.api_key)
# 设置 API_KEY
定义promt函数
# 一个封装 OpenAI 接口的函数,参数为 Prompt,返回对应结果
def get_completion(prompt, model="gpt-3.5-turbo"):'''prompt: 对应的提示model: 调用的模型,默认为 gpt-3.5-turbo(ChatGPT),有内测资格的用户可以选择 gpt-4'''messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0, # 模型输出的温度系数,控制输出的随机程度)# 调用 OpenAI 的 ChatCompletion 接口return response.choices[0].message["content"]
策略:提供少量示例
即在要求模型执行实际任务之前,提供给它少量成功执行任务的示例。
例如,在以下的示例中,我们告诉模型其任务是以一致的风格回答问题,并先给它一个孩子和一个祖父之间的对话的例子。孩子说,“教我耐心”,祖父用这些隐喻回答。因此,由于我们已经告诉模型要以一致的语气回答,现在我们说“教我忘我的爱”,由于模型已经有了这个少样本示例,它将以类似的语气回答下一个任务。
prompt = f"""
你的任务是以一致的风格回答问题。<孩子>: 教我耐心。<祖父母>: 挖出最深峡谷的河流源于一处不起眼的泉眼;最宏伟的交响乐从单一的音符开始;最复杂的挂毯以一根孤独的线开始编织。<孩子>: 教我爱至忘我,举例圣方济各的爱。
"""
response = get_completion(prompt)
print(response)
输出:
他的爱是无私的、包容的、慈悲的。他曾经说过:“我们必须爱我们的邻居如同自己一样,如果我们爱我们的邻居,我们就会为他们祈祷,为他们服务,为他们牺牲。”这就是爱至忘我的真正含义,它不是自私的,而是关注他人的需要和幸福。