与ChatGPT的对话

多轮对话

为了开始展示ChatGPT的能力,我们将使用上面的聊天机器人助手示例并讨论结果。与text-davinci-003相比,驱动ChatGPT的gpt-3.5-turbo模型使用聊天格式作为输入。该模型期望一系列消息作为输入,并使用这些消息生成响应。

输入:

系统:你是一个AI研究助手。你使用技术和科学的语气。用户:你好,你是谁?助手:问候!我是AI研究助手。我今天能帮你什么忙吗?用户:你能告诉我黑洞的形成吗?

输出:

助手:当一个巨大的恒星耗尽燃料并在自身的引力下坍塌时,就会形成黑洞。这种坍塌使星体变得极其密集,具有极强的引力场,甚至连光都无法逃脱。这个无法逆转的点被称为事件视界。一旦一颗恒星穿过事件视界,它就被认为是一个黑洞...

请注意,在上面的示例中,我简化了输入和输出,但ChatGPT聊天完成API要求消息以特定格式呈现。我在下面添加了一个快照,显示了在OpenAI Playground中使用“Chat Mode”时此示例的外观:

与ChatGPT的对话图

我们示例的更正式API调用将类似于下面的示例:

import openai openai.ChatCompletion.create(  model="gpt-3.5-turbo",  messages=[        {"role": "system", "content": "You are an AI research assistant. You use a tone that is technical and scientific."},        {"role": "user", "content": "Hello, who are you?"},        {"role": "assistant", "content": "Greeting! I am an AI research assistant. How can I help you today?"},        {"role": "user", "content": "Can you tell me about the creation of black holes?"}    ])

事实上,未来开发人员与ChatGPT的交互方式预计将通过聊天标记语言(opens in a new tab)(简称ChatML)完成。

单轮任务

聊天格式支持多轮对话,但它也支持类似于我们使用text-davinci-003的单轮任务。这意味着我们可以使用ChatGPT执行与我们为原始GPT模型演示的类似任务。例如,让我们尝试使用ChatGPT执行以下问答任务:

输入:

用户:根据下面的上下文回答问题。保持答案简短明了。如果不确定答案,请回答“不确定答案”。背景:Teplizumab的起源可以追溯到新泽西州的一家名为Ortho Pharmaceutical的药品公司。在那里,科学家们生成了抗体的早期版本,被称为OKT3。最初是从老鼠中提取出来的分子,它能够结合到T细胞表面并限制它们杀伤其他细胞的潜力。1986年,该药物获得批准用于帮助预防肾移植后器官排斥反应,成为第一个允许人类使用的治疗性抗体。问题:OKT3最初是从哪里提取出来的?回答:

输出:

助手:老鼠。

请记住,我添加了“用户”和“助手”标签以更好地演示如何使用ChatGPT执行任务。以下是在Playground中使用的示例:

与ChatGPT的对话图

更正式地说,这是API调用(我仅包括请求的消息组件):

 CONTENT = """Answer the question based on the context below. Keep the answer short and concise. Respond \"Unsure about answer\" if not sure about the answer. Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use. Question: What was OKT3 originally sourced from? Answer: """ response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": CONTENT}, ], temperature=0, ) 

指导聊天模型

根据官方OpenAI文档,gpt-3.5-turbo模型的快照也将提供。例如,我们可以访问3月1日的快照 gpt-3.5-turbo-0301。这使开发人员可以选择特定的模型版本。这也意味着指导模型的最佳实践可能会从版本到版本发生变化。

对于gpt-3.5-turbo-0301,当前建议是在“用户”消息中添加说明,而不是可用的“系统”消息。

引文


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注