Using GPT⑶.5 and GPT⑷ via the OpenAI API in Python(free openai api keys for hobbyists)
I. OpenAI API密钥概述
A. OpenAI API密钥是甚么?
OpenAI API密钥是用于与OpenAI的AI模型进行无缝集成的凭证。用户可以通过API密钥访问OpenAI的强大功能,并利用其进行自然语言处理和其他AI任务。
B. 取得OpenAI API密钥的方法
-
访问OpenAI API密钥生成器以获得密钥:
-
密钥生成器提供了简单易用的界面,供用户自动生成他们的API密钥。
-
输入必要的信息后,用户将取得属于自己的唯一API密钥。
-
-
登录OpenAI账户并查看API密钥:
-
在OpenAI账户中找到并点击API密钥页面,可以查看和管理已生成的API密钥。
-
-
注册OpenAI账户并取得不要钱信用额度:
-
创建OpenAI账户后,用户将取得不要钱信用额度,可用于实验和探索OpenAI API的功能。
-
II. OpenAI API密钥的使用
A. 使用OpenAI API密钥进行自然语言处理
OpenAI API提供了强大的自然语言处理功能,可以用于文本生成、翻译、摘要等任务。用户可以通过将API密钥与他们的利用程序或软件集成,快速使用这些功能。
B. 使用OpenAI API密钥进行图象处理
OpenAI API还支持图象相关的任务,如图象辨认、生成和编辑。用户可以通过在利用程序中使用API密钥,将OpenAI的图象处理功能直接集成到他们的项目中。
III. OpenAI API密钥的安全性
A. 保护OpenAI API密钥的重要性
API密钥是访问OpenAI API的身份凭证,用户应将其视为敏感信息并妥善保管。泄漏API密钥可能致使未经授权的访问和潜伏的安全风险。
B. 安全措施和最好实践
-
将API密钥存储在安全的位置,确保只有授权的人员可以获得。
-
定期更换API密钥,以增加安全性并下降潜伏的风险。
总结
本文介绍了OpenAI API密钥的概念、获得方法和使用方式,并强调了保护API密钥的重要性和必要的安全措施。通过公道利用OpenAI API密钥,用户可以充分发挥AI的强大功能,实现自然语言处理和图象处理等任务。同时,用户还可以通过OpenAI的不要钱信用额度,纵情探索和实验OpenAI API的各项功能。保持API密钥的安全性是确保系统和数据安全的关键,用户应妥善保管API密钥并采取适当的安全措施来保护其利用程序和个人信息的安全。
free openai api keys for hobbyists的进一步展开说明
开头:
介绍
ChatGPT是一种先进的大型语言模型,用于生成文本。它已改变了我们撰写几近所有类型的文本的方式,从像本教程一样的教程,到自动生成的产品描写,Bing的搜索引擎结果,和ChatGPT数据科学速查表中描写的许多数据使用用例。
对API与Web界面的选择:
API和Web界面的选择
ChatGPT的Web利用程序是与GPT模型的极佳界面。但是,如果你想将人工智能引入数据流水线或软件中,API更适合。数据从业者可能的一些用例包括:
– 从数据库或其他API中获得数据,然后要求GPT进行总结或生成关于数据的报告
– 在仪表板中嵌入GPT功能,以自动提供结果的文本摘要
– 为数据集提供自然语言接口
– 通过学术(PyPI、Conda)包获得期刊论文,并要求GPT对结果进行总结
设置OpenAI开发者账户:
设置OpenAI开发者账户
要使用API,你需要在OpenAI创建一个开发者账户。你需要提供你的电子邮件地址、电话号码、借记卡或信用卡的详细信息。
以下是创建开发者账户的步骤:
1. 访问API注册页面
2. 创建账户(需要提供你的电子邮件地址和电话号码)
3. 转到API密钥页面,创建一个新的秘密密钥,并将其复制下来(如果丢失,删除密钥并创建一个新的)
4. 转到付款方式页面,点击“添加付款方式”并填写你的卡片详细信息
安全地存储账户凭证:
安全地存储账户凭证
秘密密钥需要保密!否则,其他人可使用它来访问API,你将为此付费。以下是怎样使用DataCamp Workspace安全地存储密钥的步骤。如果你使用的是其他平台,请查看该平台的文档。你也能够向ChatGPT咨询建议。下面是一个示例提示:
> 你是一位IT安全专家。你正在与一名数据科学家交谈。请解释安全存储用于API访问的私钥的最好实践。
请依照以下步骤在工作区进行操作:
1. 点击“Integrations”
2. 点击“Create integration”加号按钮
3. 选择“Environment Variables”集成
4. 在“Name”字段中输入“OPENAI”
5. 在“Value”字段中粘贴你的秘密密钥
6. 点击“Create”,连接新的集成
安装Python:
安装Python
要使用API调用GPT,你需要导入`os`和`openai` Python包。
如果你使用的是Jupyter Notebook(如DataCamp Workspace),那末导入来自`IPython.display`的一些函数对你也是有帮助的。
还有一个设置任务是将刚刚创建的环境变量放在openai包可以看到的位置。
以下是导入和设置Python的代码:
“`python
# 导入os包
import os
# 导入openai包
import openai
# 从IPython.display包导入display和Markdown
from IPython.display import display, Markdown
# 导入yfinance作为yf
import yfinance as yf
“`
调用GPT API的代码模式:
使用GPT API的代码模式
用于调用OpenAI API并获得与Chat的响应的代码模式以下:
“`python
response = openai.ChatCompletion.create(
model=”MODEL_NAME”,
messages=[
{“role”: “system”, “content”: ‘SPECIFY HOW THE AI ASSISTANT SHOULD BEHAVE’},
{“role”: “user”, “content”: ‘SPECIFY WHAT YOU WANT THE AI ASSISTANT TO SAY’}
]
)
“`
在这里有几点需要解释一下。
GPT的OpenAI API模型名称
模型名称列在开发者文档的模型概述页中。在本教程中,你将使用`gpt⑶.5-turbo`,这是ChatGPT使用的最新模型,具有公共API访问权限。(当它广泛推出时,你将希望切换到`gpt⑷`。)
OpenAI API GPT消息类型
在聊天文档的介绍中,有三种消息类型:
– 系统消息描写了AI助手的行动。对数据科学用例,一个有用的系统消息是“您是一个懂数据科学的有用助手。”。
– 用户消息描写了你希望AI助手说的内容。我们将在本教程中介绍用户消息的示例。
– 助手消息描写了对话中先前的回复。我们将在后面的任务中介绍如何进行交互式对话。
第一条消息应当是系统消息。其他的消息应当在用户和助手之间交替。
您的第一个对话:生成数据集
生成示例数据集对针对区别数据场景测试代码或向他人演示代码非常有用。为了能够从GPT取得有用的响应,你需要准确地指定数据集的详细信息,包括:
– 行数和列数
– 列的名称
– 每列包括的内容的描写
– 数据集的输出格式
以下是创建数据集的用户消息示例。
“`python
Create a small dataset about total sales over the last year. The format of the dataset should be a data frame with 12 rows and 2 columns. The columns should be called “month” and “total_sales_usd”. The “month” column should contain the shortened forms of month names from “Jan” to “Dec”. The “total_sales_usd” column should contain random numeric values taken from a normal distribution with mean 100000 and standard deviation 5000. Provide Python code to generate the dataset, then provide the output in the format of a markdown table.
“`
让我们将这条消息包括在之前的代码模式中。
“`python
# 定义系统消息
system_msg = ‘You are a helpful assistant who understands data science.’
# 定义用户消息
user_msg = ‘Create a small dataset about total sales over the last year. The format of the dataset should be a data frame with 12 rows and 2 columns. The columns should be called “month” and “total_sales_usd”. The “month” column should contain the shortened forms of month names from “Jan” to “Dec”. The “total_sales_usd” column should contain random numeric values taken from a normal distribution with mean 100000 and standard deviation 5000. Provide Python code to generate the dataset, then provide the output in the format of a markdown table.’
# 使用GPT创建数据集
response = openai.ChatCompletion.create(model=”gpt⑶.5-turbo”, messages=[{“role”: “system”, “content”: system_msg}, {“role”: “user”, “content”: user_msg}])
“`
检查GPT的响应会不会正常
API调用是“有风险”的,由于问题可能产生在你的笔记本以外,例如互联网连接问题,或服务器发送数据的问题,或由于你的API配额不足而没法使用。你应当检查你得到的响应会不会正常。
GPT模型返回一个带有四个值之一的状态码,这些值在聊天文档的响应格式部份有记录。
– `stop`:API返回完全的模型输出
– `length`:由于`max_tokens`参数或令牌限制,模型输出不完全
– `content_filter`:由于来自内容过滤器的标志,省略了内容
– `null`:API响应仍在进行中或不完全
GPT API将数据以JSON格式发送给Python,因此响应变量包括深度嵌套的列表和字典。这有点麻烦!
对名为`response`的响应变量,状态码存储在以下位置。
`response[“choices”][0][“finish_reason”]`
提取AI助手的消息
在响应变量中,我们要求GPT生成的文本隐藏在其中。荣幸的是,它总是在同一个位置。
`response[“choices”][0][“message”][“content”]`
响应内容可以像平常一样打印`print(content)`,但它是Markdown内容,Jupyter笔记本可以渲染,通过`display(Markdown(content))`
以下是生成数据集的Python代码:
“`python
# 这是用于生成数据集的Python代码
import numpy as np
import pandas as pd
# 为了可重现性而设置的随机种子
np.random.seed(42)
# 生成随机销售数据
sales_data = np.random.normal(loc=100000, scale=5000, size=12)
# 创建月份缩写列表
month_abbr = [‘Jan’, ‘Feb’, ‘Mar’, ‘Apr’, ‘May’, ‘Jun’, ‘Jul’, ‘Aug’, ‘Sep’, ‘Oct’, ‘Nov’, ‘Dec’]
# 创建数据框
sales_df = pd.DataFrame({‘month’: month_abbr, ‘total_sales_usd’: sales_data})
# 打印数据框
print(sales_df)
“`
以下是输出结果的Markdown格式:
“`
| month | total_sales_usd |
|——-|—————-|
| Jan | 98728.961189 |
| Feb | 106931.030292 |
| Mar | 101599.514152 |
| Apr | 97644.534384 |
| May | 103013.191014 |
| Jun | 102781.514665 |
| Jul | 100157.741173 |
| Aug | 104849.281004 |
| Sep | 100007.081991 |
| Oct | 94080.272682 |
| Nov | 96240.993328 |
| Dec | 104719.371461 |
“`
使用辅助函数调用GPT
为了履行这三个简单任务,你需要编写大量重复的样板代码。具有包装函数来摆脱这些乏味部份是有用的。这样,我们就能够专注于数据科学用例。
希望OpenAI会改进他们的Python包的接口,使得这类类似的功能内置。与此同时,你可以自由地在你的代码中使用这个功能。
该函数接受两个参数。
– `system`:包括系统消息的字符串。
– `user_assistant`:一个包括用户和助手消息交替的字符串的数组。
返回值是生成的内容。
“`python
def chat(system, user_assistant):
assert isinstance(system, str), “`system` should be a string”
assert isinstance(user_assistant, list), “`user_assistant` should be a list”
system_msg = [{“role”: “system”, “content”: system}]
user_assistant_msgs = [
{“role”: “assistant”, “content”: user_assistant[i]} if i % 2 else {“role”: “user”, “content”: user_assistant[i]}
for i in range(len(user_assistant))
]
msgs = system_msg + user_assistant_msgs
response = openai.ChatCompletion.create(model=”gpt⑶.5-turbo”, messages=msgs)
status_code = response[“choices”][0][“finish_reason”]
assert status_code == “stop”, f”The status code was {status_code}.”
return response[“choices”][0][“message”][“content”]
“`
该函数的示例用法是:
“`python
response_fn_test = chat(“You are a machine learning expert.”,[“Explain what a neural network is.”])
display(Markdown(response_fn_test))
“`
“`
一个神经网络是一种机器学习模型,它遭到人类大脑结构的启发。它由相互连接的处理单元(称为神经元)层组成,这些神经元共同处理和分析数据。每一个神经元接收来自其他神经元或外部来源的输入,使用数学函数对输入进行处理,然后产生输出传递给网络中的其他神经元。神经网络的结构和行动可以通过改变神经元之间的连接权重和偏差来调剂。在训练进程中,网络通过接收的输入学习辨认模式并基于输入进行预测。神经网络常常用于图象分类、语音辨认和自然语言处理等任务,已显示在解决传统的基于规则的编程方法难以解决的复杂问题方面非常有效。
“`
重用AI助手的响应
在许多情况下,您希望与AI进行更长的对话。也就是说,您发送一个提示给GPT,得到一个响应,然后再发送另外一个提示继续对话。在这类情况下,您需要将GPT的上一个响应包括在第二次调用API中,以便GPT具有完全的上下文。这将提高响应的准确性,并增加对话的一致性。
为了重复使用GPT的消息,你需要从响应中检索它,然后将其传递给chat的新调用。
示例:分析样本数据集
让我们尝试计算先前生成数据集的销售列的均值。注意,由于我们第一次没有使用`chat()`函数,所以我们一定要使用更长的子集代码来访问之前的响应文本。如果使用`chat()`函数,则代码会更简单。
“`python
# 将Task 1 中的响应内容赋值给 assistant_msg
assistant_msg = response[“choices”][0][“message”][“content”]
# 定义新的用户消息
user_msg2 = ‘Using the dataset you just created, write code to calculate the mean of the `total_sales_usd` column. Also include the result of the calculation.’
# 创建用户和助手消息的数组
user_assistant_msgs = [user_msg, assistant_msg, user_msg2]
# 请GPT履行要求
response_calc = chat(system_msg, user_assistant_msgs)
# 显示生成的内容
display(Markdown(response_calc))
“`
“`
固然!这是计算 `total_sales_usd`列均值的代码:
“`python
mean_sales = sales_df[‘total_sales_usd’].mean()
print(“Mean sales: $”, round(mean_sales, 2))
“`
这是代码的输出:
“`
Mean sales: $ 100077.57
“`
因此,过去一年的总销售均值约为100,077.57美元。
“`
在流水线中使用GPT
使用API而不是Web界面的一个巨大优势是您可以将GPT与其他API结合使用。从一个或多个来源获得数据,然后将人工智能利用于这些数据是强大的工作流程。
将GPT利用于天气数据
在这里,我们将使用`weather2`包(PyPI)获得天气预报,并使用GPT提出活动建议。
“`python
# 导入weather2包
import weather
# 获得来自Miami的天气预报
location = “Miami”
forecast = weather.forecast(location)
# 获得明天中午的天气预报数据
fcast = forecast.tomorrow[“12:00″]
# 创建用户消息
user_msg_weather = f”In {location}, tomorrow at midday, the temperature is forecast to be {fcast.temp}, the wind speed is forecast to be {fcast.wind.speed} m/s, and the amount of precipitation is forecast to be {fcast.precip}. Make a list of suitable leisure activities.”
# 调用GPT
response_activities = chat(“You are a travel guide.”, [user_msg_weather])
# 显示生成的内容
display(Markdown(response_activities))
“`
“`
在低温和微风的情况下,Miami是进行休闲活动的理想场所。以下是一些建议:
1. 参观Miami的海滩,享受阳光或在海里游泳!
2. 探索Miami的艺术场景,参观Perez Art Museum Miami或Wynwood Walls。
3. 沿着著名的Ocean Drive漫步,欣赏五彩缤纷的装潢艺术建筑。
4. 前往Little Havana体验古巴文化和美食。
5. 穿过Miami的许多公园,如Bayfront Park或South Pointe Park,进行风景优美的步行或骑车。
6. 参观迈阿密海洋公园,近距离观赏一些使人惊叹的海洋生物。
7. 参加船游,从水上欣赏迈阿密壮观的天际线。
8. 购物爱好者可以探索许多高端精品店和室外购物中心,如Lincoln Road Mall。
9. 美食家可以参加全年各地举行的许多美食节。
10. 最后,还有许多夜总会和现场音乐场所可让你享受夜生活。
“`
太棒了!我多希望明天我在迈阿密!
进一步发展
您可以在《ChatGPT介绍》课程中了解更多有关使用GPT的信息。(关于使用OpenAI API的完全课程行将推出!)
对您刚刚学到的内容的参考,请参阅OpenAI API in Python速查表,或观看《Getting Started with the OpenAI API and ChatGPT》的视频。如果您对语音转文本感兴趣,请浏览使用OpenAI Whisper API进行语音到文本转录的教程。
free openai api keys for hobbyists的常见问答Q&A
问题1:如何获得OpenAI API密钥?
答案:获得OpenAI API密钥的步骤以下:
- 登录OpenAI的官方网站。
- 点击页面右上角的个人资料图标,并选择“View API Keys”。
- 点击“+ Create New Key”按钮创建一个新的密钥。
- 将密钥复制下来保存好(如果丢失了可以删除旧密钥并创建新的密钥)。
问题2:OpenAI API密钥是不要钱的吗?
答案:OpenAI提供了不要钱的API密钥,但同时也提供了付费的API套餐。
在创建OpenAI账号时,OpenAI会给予不要钱的信用额度供用户试用API。
问题3:有无OpenAI API密钥生成器?
答案:没有公然的OpenAI API密钥生成器。要取得OpenAI API密钥,需要通过官方渠道进行申请和获得。
问题4:如何控制OpenAI API密钥的使用?
答案:要控制OpenAI API密钥的使用,可以选择OpenAI的按需付费套餐,根据实际需求选择相应的API访问限额。
在使用OpenAI API时,可以设置要求的参数来控制API的行动,例如设置要求的最大回复长度、设定回复中的提示文本等。