像你这样的读者帮助支持MUO。当你使用我们网站上的链接进行购买时,我们可能会赚取联盟佣金。阅读更多。
通过发布其API,OpenAI向所有人开放了ChatGPT的功能。您现在可以将ChatGPT的功能无缝整合到您的应用程序中。
无论您是想将ChatGPT整合到您现有的应用程序中,还是想用它来开发新的应用程序,都可以按照以下的初始步骤来开始。
获取OpenAI的API密钥
要开始使用ChatGPT的API,您首先需要获得OpenAI的API密钥。注册或登录到OpenAI官方平台。
登录后,点击右上方的个人标签。从下拉菜单中选择 "查看API密钥"选项,你就会登陆到API密钥页面。点击创建新的秘密密钥按钮,生成API密钥。
你将不能再查看该密钥,所以要把它保存在安全的地方。
本项目中使用的代码可在GitHub仓库中找到,在MIT许可下,你可以免费使用。
如何使用ChatGPT API
OpenAI API的gpt-3.5-turbo和gpt-4模型是ChatGPT和ChatGPT+分别使用的模型。这些强大的模型能够理解和生成自然语言文本。
请注意,ChatGPT API是一个通用术语,指的是使用基于GPT模型开发聊天机器人的OpenAI API,包括gpt-3.5-turbo和gpt-4模型。
ChatGPT API主要为聊天而优化,但它也能很好地用于文本完成任务。gpt-3.5-turbo和gpt-4型号比之前的GPT-3型号更强大,更便宜。然而,截至发稿时,你不能对GPT-3.5型号进行微调。你只能对GPT-3的基本型号进行微调,即DAVINCI、CURIE、ADA和CABAGE。
截至发稿时,GPT-4 API还在等待名单上。但GPT-3.5模型是每个人都可以使用的,所以我们将在本文中使用同样的模型。虽然,你现在就可以通过升级到ChatGPT+来使用GPT-4。
使用ChatGPT API来完成聊天
您需要配置聊天模型,使其为API调用做好准备。在一个例子的帮助下,可以更好地理解这一点:
import openai openai.api_key = "YOUR_API_KEY" completion = openai.ChatCompletion.create( model = "gpt-3.5-turbo", temperature = 0.8, max_tokens = 2000, messages = [ {"role": "system", "content": "You are a funny comedian who tells dad jokes."}, {"role": "user", "content": "Write a dad joke related to numbers."}, {"role": "assistant", "content": "Q: How do you make 7 even? A: Take away the s."}, {"role": "user", "content": "Write one related to programmers."} ] ) print(completion.choices[0].message)
运行这段代码会产生以下输出:
上面的代码演示了一个使用Python的ChatGPT API调用。请注意,模型能够理解上下文("爸爸的笑话")和我们所期望的响应类型(问答形式),即使我们在最后的用户提示中没有明确提到它。
因此,在构建应用程序时,你可以提前提供上下文,模型会相应地适应你的要求。
这里,最重要的部分是消息参数,它接受一个消息对象的数组。每个消息对象包含一个角色和内容。你可以为消息对象提供三种类型的角色:
- 系统:它设定了助手的上下文和行为。
- 用户:它用于向助手发出指令。它通常是由终端用户产生的。但你作为开发者也可以事先提供一些潜在的用户提示。
- 助理:我们事先向助理提供一些信息,以便它给我们提供我们期望的API的响应。
你可以进一步定制模型的温度和max_tokens参数,根据你的要求获得输出。
温度越高,输出的随机性越大,反之亦然。如果你希望你的反应更加集中和确定,就选择较低的温度值。而如果你想让它更有创造性,就选择更高的值。温度值在0到2之间。
与ChatGPT一样,其API也有字数限制。使用max_tokens参数来限制响应的长度。然而,设置一个较低的max_tokens值可能会引起潜在的问题,因为它可能会中途切断输出。截至目前,gpt-3.5-turbo模型的token限制为4,096,而gpt-4模型的限制为8,192 tokens。
你可以使用OpenAI提供的其他参数进一步配置该模型。
使用ChatGPT API进行文本完成
除了聊天完成任务,gpt-3.5-turbo模型在文本完成方面也做得不错。它的性能超过了之前的text-davinci-003模型,而且价格只有其十分之一。
下面的例子演示了你如何配置ChatGPT API来完成文本:
import openai openai.api_key = "YOUR_API_KEY" completion = openai.ChatCompletion.create( model = "gpt-3.5-turbo", temperature = 0.8, max_tokens = 2000, messages = [ {"role": "system", "content": "You are a poet who creates poems that evoke emotions."}, {"role": "user", "content": "Write a short poem for programmers."} ] ) print(completion.choices[0].message.content)
你甚至不需要提供系统角色和其内容。只提供用户提示就能为你完成工作。
messages = [ {"role": "user", "content": "Write a short poem for programmers."} ]
运行上述代码将为程序员生成一首诗:
ChatGPT API的响应格式
ChatGPT API会以以下格式发送响应:
你进一步需要提取存储在内容中的助手的回复。
使用ChatGPT API构建应用程序
你可以直接使用API端点或openaiPython/Node.js库来开始构建ChatGPT API驱动的应用程序。除了官方的openai库,你也可以使用OpenAI推荐的社区维护的库来开发应用程序。
然而,OpenAI并没有验证这些社区维护的库的安全性,所以最好直接使用API端点或使用官方openaiPython/Node.js库。
方法1:使用API端点
你需要使用**/v1/chat/completions端点来利用gpt-3.5-turbo和gpt-4**模型。
import requests openai.api_key = "YOUR_API_KEY" URL = "https://api.openai.com/v1/chat/completions" payload = { "model": "gpt-3.5-turbo", "temperature" : 1.0, "messages" : [ {"role": "system", "content": f"You are an assistant who tells any random and very short fun fact about this world."}, {"role": "user", "content": f"Write a fun fact about programmers."}, {"role": "assistant", "content": f"Programmers drink a lot of coffee!"}, {"role": "user", "content": f"Write one related to the Python programming language."} ] } headers = { "Content-Type": "application/json", "Authorization": f"Bearer {openai.api_key}" } response = requests.post(URL, headers=headers, json=payload) response = response.json() print(response['choices'][0]['message']['content'])
上面的示例代码演示了你如何直接使用端点来使用请求库进行API调用。
首先,将API密钥分配给一个变量。接下来,你需要提供模型名称给payload对象的模型参数。之后,我们将对话历史提供给消息参数。
在这里,我们保持了一个较高的温度值,这样我们的响应就更加随机,从而更有创意。
下面是响应的输出:
注意,OpenAI的ChatGPT存在一些问题,所以你可能也会从它的API中得到攻击性或有偏见的回复。
方法2:使用官方的openai库
使用pip安装openaiPython库:
pip install openai
现在,你已经准备好生成文本或聊天内容了。
import openai openai.api_key = "YOUR_API_KEY" response = openai.ChatCompletion.create( model = "gpt-3.5-turbo", temperature = 0.2, max_tokens = 1000, messages = [ {"role": "user", "content": "Who won the 2018 FIFA world cup?"} ] ) print(response['choices'][0]['message']['content'])
在这段代码中,我们只提供了一个用户提示。我们把温度值保持得很低,以使响应更具有确定性而不是创造性。
运行该代码后,你会得到以下响应:
ChatGPT的响应可能看起来很神奇,会让人怀疑ChatGPT的工作原理。但在幕后,它是由生成性预训练转化器(GPT)语言模型支持的,它完成了所有繁重的工作。
使用ChatGPT API构建下一代应用程序
你学会了如何配置ChatGPT API。ChatGPT API为你和世界各地的开发者打开了大门,利用人工智能的力量构建创新产品。
你可以使用这个工具来开发故事编写者、代码翻译者、电子邮件编写者、营销副本生成者、文本总结者等应用。你的想象力是利用这项技术构建应用程序的极限。
除了ChatGPT API之外,你还可以使用其他OpenAI模型来开发很酷的应用程序。