如何使用 ChatGPT API 与 Colab 或 Databricks 进行直接交互

491 阅读6分钟

您是否想知道如何使用 OpenAI 的 API 直接与 GPT 算法交互?它简单、免费,而且比www.openai.com上的“经典”网络界面更强大。在下面的教程中,我将指导您完成一些简单的步骤,使您可以使用 GPT 进行文本生成、图像创建或调试代码!

随着 ChatGPT 和其他自然语言处理 (NLP) 解决方案的使用增加,允许用户与这些尖端功能交互的工具和平台的数量也在增加。最流行的选项之一是 OpenAI Web 界面,它因其处理复杂 NLP 任务的能力而受到广泛赞誉。

然而,今天我们将探索一种替代方案:ChatGPT API。本文分为三个主要部分:

#1 设置您的 OpenAI 帐户并创建 API 密钥
#2 与 Google Colab 建立通用连接
#3 尝试不同的请求:文本生成、图像创建和错误修复

请注意:虽然本教程是在 Google Colab(免费)中完成的,但您可能想尝试其他环境。例如,所有代码也应用在Databricks中。

1 设置您的 OpenAI 帐户并创建 API 密钥

要与 GPT 算法交互,您需要注册 OpenAI 帐户(免费):platform.openai.com/signup/

注册并注册后,您将需要创建一个 API 密钥,以便您可以从 Google Colab 或 Databricks 等第三方服务向 OpenAI 发送请求。通过用户菜单导航至“查看 API 密钥”部分,或使用以下链接: https: //platform.openai.com/account/api-keys

在此部分中,只需单击“创建新密钥”并将创建的密钥保存在计算机上的某个位置(您很快就会需要它!)。

作者截图

请注意,ChatGPT API 提供免费试用(截至今天),每分钟的请求和令牌有限。请参阅下面的速率限制 [1]:

  • 免费试用用户:20 RPM 40000 TPM
  • 即用即付用户(前 48 小时):60 RPM 60000 TPM
  • 即用即付用户(48 小时后):3500 RPM 90000 TPM

(RPM = 每分钟请求数;TPM = 每分钟令牌数)

#2 从 Colab 建立一般连接

测试 API 最简单、最直接的方法是使用Google Colaboratory(“Colab”),它类似于“一个免费的 Jupyter 笔记本环境,无需设置且完全在云端运行。 尽管您可能想要探索许多更专业的环境(例如 Databricks),但我认为 Colab 是一个不错的服务,可以帮助您迈出使用 ChatGPT API 的第一步。

要在 Colab 中设置 ChatGPT 的基本环境,您可以按照以下几个步骤操作:

  1. 打开colab.research.google.com/并注册一个免费帐户
  2. 在 Colab 中创建一个新笔记本
  3. 安装并使用openai软件包:
pip 安装 openai

要使用GPT 3.5 Turbo 模型(请参阅本文末尾链接的文档中的其他可用模型)对 API 执行简单的聊天请求,与您从 OpenAI Web 界面中了解到的类似,您只需执行以下几行笔记本中的代码:

import os 
import openai 

openai.api_key = "请在此处粘贴您的 API 密钥"

 openai.ChatCompletion.create( 
  model= "gpt-3.5-turbo" , 
  messages=[ 
    { "role" : "user" , " content" : "Hello ChatGPT,这有效吗?" } 
  ] 
  )

一旦您在 Colab 中执行该命令,您就会收到一个 JSON 对象作为响应,其中包含预期的答案!(这很容易,不是吗?)

你好!作为一个AI语言模型,我不知道“this”所指的上下文。您能否具体说明您所指的内容,以便我更好地帮助您?

< OpenAIObject chat.completion id = chatcmpl - 70ErnAfGGwU7GhMXzCcLGyUvr4hA2 at 0x7f097f0a5f40 >  JSON : { 
  "choices" : [ 
    { 
      "finish_reason" : "stop" , 
      "index" : 0 , 
      "message" : { 
        "content" : "您好!作为AI语言模型,我不知道“这个”指的是什么上下文。您能具体说明您指的是什么,以便我更好地帮助您吗?、
        “角色”:


  ],
  “创建”:1680291503,
  “id”:“chatcmpl-70ErnAfGGwU7GhMXzCcLGyUvr4hA2”,
  “模型”:“gpt-3.5-turbo-0301”,
  “对象”:“chat.completion”,
  “用法”:{ 
    “completion_tokens” : 38 , 
    "prompt_tokens" : 17 , 
    "total_tokens" : 55
   } 
}

此外,JSON 对象还提供有关所使用的令牌数量以及请求结束原因的信息。如果您只想打印文本响应,则可以通过稍微修改代码来访问此元素:

import os 
import openai 

openai.api_key = "请在此处粘贴您的 API 密钥"

 response = openai.ChatCompletion.create( 
  model= "gpt-3.5-turbo" , 
  messages=[ 
    { "role" : "user" , "content" : "Hello ChatGPT,这有效吗?" } 
  ] 
  ) 

print (response.choices[ 0 ].message.content)

3 尝试不同的请求:文本生成、图像创建和错误修复

如果您像我发现这一点时一样兴奋,那么您可以开始向 API 发送大量不同的请求。模块化代码的一个有用方法是创建一些有用的函数,您可以根据不同的目的调用这些函数。让我给你一些想法。

与 ChatGPT 聊天的功能

以下代码简单总结了迄今为止在可调用函数中完成的工作,该函数允许您向 GPT 发出任何请求并仅获取文本响应作为结果。

import os 
import openai 

openai.api_key = "请在此处粘贴您的 API 密钥" 

def  chatWithGPT (提示):
  完成 = openai.ChatCompletion.create( 
  model= "gpt-3.5-turbo" , 
  messages=[ 
  { "角色" : "用户" , "内容" : 提示} 
  ] 
  ) 
  return  print (completion.choices[ 0 ].message.content)

你认为学习Python有意义吗?我们来问问GPT吧!

chatWithGPT( “开始学习Python是个好主意吗?” )

作为一种人工智能语言模型,我无法提供个人意见,但我可以说Python是一种流行且广泛使用的编程语言,深受初学者和经验丰富的开发人员的青睐。它拥有广泛的社区支持、大量的库和简单的语法,使得编程新手很容易掌握。它对于各种应用程序都很有用,例如数据分析、Web 开发、机器学习等。因此,如果您想从事编程职业或想在简历中添加另一项技能,那么开始学习 Python 可能是个好主意。

修复代码中的错误的功能

ChatGPT 的另一个用例是获取修复代码的想法。想象一下,您的 Python 命令返回一个错误,并且您想获得有关在不使用 Google 或 StackOverflow 的情况下该怎么做的建议:

导入操作系统
导入openai 

openai.api_key = “请在此处粘贴您的API密钥” 

def  fixMyCode(代码):
  完成= openai.ChatCompletion.create(
  模型= “gpt-3.5-turbo”,
  消息= [ 
    { “ role" : "user" , "content" : "在下面的 python 脚本中查找错误并修复它:" + code} 
  ] 
  ) 
  return  print (completion.choices[ 0 ].message.content)

看到我的 python 代码抛出了一个错误,我不知道为什么......

fixMyCode( """ 

def some_function(): 
    print("我要睡觉了") 
    time.sleep(10) 
    print("我又醒了") 

some_function() 

""" )

不出意外,ChatGPT 立即发现我在使用之前忘记导入该模块。这在日常生活中非常有帮助,特别是当您可以直接从编程环境中寻求帮助时。

创建图像的函数

我想在这里介绍的最后一个用例是图像的创建。请求本身返回包含图片的超链接。使用IPhython库,您可以直接在笔记本中显示图片。

导入IPython
导入os
导入openai 

openai.api_key = “请在此处粘贴您的API密钥” 

def  createImageWithGPT(提示):
  完成= openai.Image.create(
  提示=提示,
  n = 1,
  大小= “512x512”
   ) 
  return IPython.display.HTML( "<img src =" + Completion.data[ 0 ].url + ">" )

发挥创意,求一只会滑板的猫吧!

createImageWithGPT( "驾驶滑板的猫" )

概括

借助 ChatGPT API,企业和个人可以轻松、经济地将聊天机器人纳入其工作流程,而无需通常所需的技术知识或大量资源。该 API 还可用于创建虚拟助理、个人导师等。我推荐 OpenAI 为其 API 提供的文档: https: //platform.openai.com/docs/api-reference

总之,在您的编程环境中使用 API 很容易。这不仅有助于直接调试代码,而且与 OpenAI(有时不可用)的 Web 界面相比,它还显示出更稳定的响应率。凭借理解自然语言并随着时间的推移变得更加智能的能力,ChatGPT 有潜力彻底改变企业与客户互动的方式并简化其工作流程。亲自尝试一下,体验聊天机器人的未来!