首页 > 其他分享 >使用 OpenAI GPT 模型的最佳实践

使用 OpenAI GPT 模型的最佳实践

时间:2023-08-23 16:34:09浏览次数:33  
标签:模型 openai content role user GPT OpenAI

推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

为了帮助用户获得最佳输出,OpenAI 提供了使用 GPT 模型的最佳实践。这来自体验,因为许多用户不断尝试使用此模型并找到了最有效的方法。

在本文中,我将总结使用 OpenAI GPT 模型应了解的最佳实践。这些做法是什么?让我们进入它。

GPT 最佳做法

GPT 模型输出仅与您的提示一样好。通过对您想要的内容的明确说明,它将提供您期望的结果。提高 GPT 输出的一些提示包括:

  1. 在提示中提供详细信息以获取相关答案。例如,我们可以写“通过 Python 中的代码示例为我提供标准分布计算”,而不是提示“给我代码来计算正态分布”。在每个部分中放置注释,并解释为什么每个代码都以这种方式执行。
  1. 给出一个角色或示例,并添加输出的长度。 我们可以将角色或示例引入模型,以便更清晰。例如,我们可以传递系统角色参数,以教师向学生解释的方式解释某些内容。通过提供角色,GPT 模型将以我们需要的方式带来结果。如果要更改角色,下面是一个示例代码。
import openai

openai.api_key = ""

res = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    max_tokens=100,
    temperature=0.7,
    messages=[
        {
            "role": "system",
            "content": """
          
          When I ask to explain something, bring it in a way that teacher 
          would explain it to students in every paragraph.
          
          """,
        },
        {
            "role": "user",
            "content": """
          
         What is golden globe award and what is the criteria for this award? Summarize them in 2 paragraphs.
             
          """,
        },
    ],
)

提供示例结果来指导 GPT 模型应如何回答您的问题也很棒。例如,在此代码中,我传递了如何解释情绪,GPT 模型应模仿我的风格。

res = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    max_tokens=100,
    temperature=0.7,
    messages=[
        {
            "role": "system",
            "content": "Answer in a consistent style.",
        },
        {
            "role": "user",
            "content": "Teach me about Love",
        },
        {
            "role": "assistant",
            "content": "Love can be sweet, can be sour, can be grand, can be low, and can be anything you want to be",
        },
        {
            "role": "user",
            "content": "Teach me about Fear",
        },
    ],
)
  1. 指定完成任务的步骤。 提供有关如何输出以获得最佳输出的详细步骤。详细说明 GPT 模型应如何操作的说明。例如,我们在此代码中放置了带有前缀和翻译的两步指令。
res = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        max_tokens=100,
        temperature=0.7,
        messages= [
            {
          "role": "system",
          "content": """
          Use the following step-by-step instructions to respond to user inputs.

        step 1 - Explain the question input by the user in 2 paragraphs or less with the prefix "Explanation: ".

        Step 2 - Translate the Step 1 into Indonesian, with a prefix that says "Translation: ".
          
          """,
         },
         {
          "role": "user",
          "content":"What is heaven?",
         },
        ])
  1. 提供参考、链接或引用。如果我们已经有各种问题参考,我们可以将它们用作 GPT 模型的基础来提供输出。提供您认为与您的问题相关的任何参考文献的列表,并将它们传递给系统角色。
  1. 给 GPT 时间“思考”。提供一个查询,允许 GPT 在急于给出不正确的结果之前详细处理提示。如果我们给助理角色传递错误的结果,并且我们希望 GPT 能够自己批判性地思考,则尤其如此。例如,下面的代码显示了我们如何要求 GPT 模型对用户输入更加严格。
res = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        max_tokens=100,
        temperature=0.7,
        messages= [
            {
          "role": "system",
          "content": """

        Work on your solution to the problem, then compare your solution to the user and evaluate
        if the solution is correct or not. Only decide if the solution is correct once you have done the problem yourself.
          
          """,
         }, 
         {
          "role": "user",
          "content":"1 + 1 = 3",
         },
        ])
  1. 使 GPT 使用代码执行来获得精确的结果。 对于更扩展和更复杂的计算,GPT 可能无法按预期工作,因为模型可能会提供不准确的结果。为了缓解这种情况,我们可以要求 GPT 模型编写和运行编码,而不是直接计算它们。这样,GPT 可以依赖代码而不是其计算。例如,我们可以提供如下输入。
res = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        max_tokens=100,
        temperature=0.7,
        messages= [
            {
          "role": "system",
          "content": """

      Write and execute Python code by enclosing it in triple backticks,
       e.g. ```code goes here```. Use this to perform calculations.
          
          """,
         }, 
         {
          "role": "user",
          "content":"""
          
          Find all real-valued roots of the following polynomial equation: 2*x**5 - 3*x**8- 2*x**3 - 9*x + 11.
          
          """,
         },
        ])

结论

GPT 模型是目前最好的模型之一,以下是改进 GPT 模型输出的一些最佳实践:

  1. 在提示中提供详细信息以获取相关答案
  2. 给出一个角色或示例,并添加输出的长度
  3. 指定完成任务的步骤
  4. 提供参考、链接或引用
  5. 给 GPT 时间“思考”
  6. 使 GPT 使用代码执行来获得精确的结果

原文链接:使用 OpenAI GPT 模型的最佳实践 (mvrlink.com)

标签:模型,openai,content,role,user,GPT,OpenAI
From: https://www.cnblogs.com/mvrlink/p/17652043.html

相关文章

  • 软件测试|使用ChatGPT帮助我们生成测试数据
    前言当进行软件开发过程中,测试数据的准备是至关重要的一环。为了确保应用程序在各种情况下都能正常运行,开发团队需要设计各种不同类型的测试用例。在这个过程中,使用人工智能模型如ChatGPT可以极大地简化和加速测试数据的构造过程。使用ChatGPT构造测试数据:简介与优势ChatGPT是......
  • BFT最前线|字节跳动AI对话产品“豆包”上线!联想集团推出AI大模型训练服务器!雷尼绍推出
    原创|文BFT机器人AI视界TECHNOLOGYNEWS看点1天才少年稚晖君首秀,官宣智元人形机器人!2023年8月18日上午,从华为离职的“天才少年”彭志辉,也是B站硬核科技UP主稚晖君,公布了他所在的智元团队创业半年的成果——名为“远征A1”的人形机器人。它长得像人,身高175cm,重53kg,可以双足行走,......
  • InnoDB 的事务模型
    目录InnoDB事务模型事务隔离级别REPEATABLEREADREADCOMMITTEDREADUNCOMMITTEDSERIALIZABLE不加锁的一致性读取ConsistentNonlockingReads加锁的读取锁定读取示例共享模式读取加锁读取使用NOWAIT和SKIPLOCKED锁定并发读取InnoDB事务模型InnoDB事务模型旨在将多版本(m......
  • Lnton羚通视频算法算力云平台【PyTorch】教程:学习基础知识如何保存和加载模型
    保存和加载模型是指将训练好的神经网络模型保存到文件中,以便在需要时重新加载该模型进行预测、推断或继续训练。保存模型的过程是将模型的参数和其他相关信息(如优化器状态等)保存到文件中。通过保存模型,我们可以在不重新训练的情况下保留模型的状态,方便后续使用。加载模型的过程是从......
  • 文心一言 VS 讯飞星火 VS chatgpt (80)-- 算法导论7.4 5题
    五、如果用go语言,当输入数据已经“几乎有序”时,插入排序速度很快。在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上层的快速排序调用返回后,对整个数组运行插人排序来完成排序过程。试证明:这一排序......
  • Auto-GPT学习笔记
    官方文档参考:https://docs.agpt.co/setup/入门介绍参考:https://blog.csdn.net/qq_45562377/article/details/130251727......
  • CUDA -编辑模型
    编程模型可以理解为,我们要用到的语法,内存结构,线程结构等这些我们写程序时我们自己控制的部分,这些部分控制了异构计算设备的工作模式,都是属于编程模型。GPU中大致可以分为:核函数内存管理线程管理流从宏观上我们可以从以下几个环节完成CUDA应用开发:领域层逻辑层硬件层第......
  • 词袋模型、word2vec
    Bag-of-words模型,BOW模型(词袋模型)假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个词汇的出现都是独立的,不依赖于其它词汇是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。基于词袋模型的文......
  • 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2
    Llama2是Meta的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从70亿到700亿个。MetaLlama2可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在(之前的文章)中,我们详细地介绍了Llama2的使用和优势以及FAQ。......
  • 轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2
    Llama2是Meta的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从70亿到700亿个。MetaLlama2可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在之前的文章中,我们详细地介绍了Llama2的使用和优势以及FAQ。......