当前位置: 首页 > news >正文

用 Python 调用 GPT-3 API

用 Python 调用 GPT-3 API

GPT-3 是去年由 Open AI 推出的语言机器学习模型。它因其能够写作、写歌、写诗,甚至写代码而获得了广泛的媒体关注!该工具免费使用,只需要注册一个电子邮件即可。

GPT-3 是一种叫 transformer 的机器学习模型。具体来说,它就是 Generative Pre-training Transformer,因此叫做“GPT”。Transformer 架构使用自我注意和强化学习来模拟会话文本。通常,它一次处理一个单词,并使用前面的单词预测序列中的下一个单词。

GPT-3 具有广泛的应用场景,涵盖科学、艺术和技术等所有领域。它可以用来回答有关科学和数学的基本问题。甚至可以准确回答研究生级别的数学和科学概念相关的问题。更令人惊讶的是,我询问了一些与我的物理化学博士研究有关的问题,它能够提供较好的解释。不过,它也有其局限性。当我询问 GPT-3 有关物理化学中更新奇的研究方法时,它无法提供明确的答案。因此,在作为教育和研究的搜索引擎使用时,应该谨慎使用 GPT-3。GPT-3 没有事实核查功能。随着事实核查功能的提高,我可以想象 GPT-3 在研究生阶段甚至在研究领域将非常有用。

此外,除了我个人的经验外,我还看到了其他很多很酷的工具应用。例如,一个开发人员使用 GPT-3 来编排完成复杂任务的云服务。其他用户使用 GPT-3 生成了工作的 python 和 SQL 脚本,以及其他语言的程序。在艺术领域,用户请 GPT-3 写一篇比较现代和当代艺术的文章。GPT-3 的潜在应用几乎在任何领域都是丰富的。

GPT-3 在回答有准确内容的基本问题方面表现得很好。例如,它可以对光合作用做出相当不错的解释。它不能很好地回答关于光合作用的前沿研究问题,例如,它不能描述光合作用的机理和涉及的量子概念。它可以给出体面的回应,但不太可能提供大多数研究问题的技术细节。同样,GPT-3 可以编写一些简单的工作代码,但是随着任务的复杂度增加,生成的代码就越容易出错。它也不能生成政治观点、伦理价值观、投资建议、准确的新闻报道等通常是由人类生成的内容。

尽管 GPT-3 有其局限性,但其广泛适用性令人印象深刻。我认为提出一些有趣的数据科学和机器学习提示,以看看它们是否可以补充数据科学工作流程的部分是有趣的。

首先,我们将根据一些简单的提示生成一些与数据科学有关的文本。一旦我们对该工具有了一些了解,就可以询问一些可以帮助解决数据科学任务的问题。有几个有趣的数据科学和机器学习问题,我们可以向 GPT-3 询问。例如,是否可以使用 GPT-3 源自公开可用的数据集?GPT-3 的训练数据有多少等。另一个有趣的应用是问题框架。 GPT-3 可以帮助用户构建良好的机器学习研究问题吗?虽然它难以给出具体的技术答案,但也许它可以很好地构建出未解决的研究问题。

另一个很酷的应用是使用 GPT-3 来决定用于特定应用程序的 ML 模型。这很好,因为对于在线文献丰富的经过验证的技术,它应该能够很好地帮助用户选择模型,并解释为什么选定的模型最适合。最后,我们可以尝试使用GPT-3 编写一些数据科学任务的 Python 代码。例如,我们将看看是否可以使用它来编写生成特定用例的合成数据的代码。

注意:GPT-3 API 的结果是不确定的。因此,您获得的结果可能与此处显示的输出略有不同。此外,由于 GPT-3 没有事实核查机制,建议您对计划用于工作,学校或个人项目的任何事实结果进行双重核查。

在这项工作中,我将在 Deepnote 中编写代码,它是一个协作数据科学笔记本,使得运行可再现实验非常简单。

安装 GPT-3

首先,让我们到 Deepnote 并创建一个新项目(如果您还没有账户,可以免费注册)。

创建一个名为“GPT3”的项目以及该项目中的一个名为“GPT3_ds”的 notebook。

接下来,我们在第一个单元中使用 pip 安装 OpenAI:

%pip install openai
%pip install catboost

将密钥保存在 openAI 对象的 api_key 属性:

import openai
openai.api_key = "your-key"

接下来就可以提问了,比如问“什么是 Pandas 库”,GP3 会给反馈:

completion = openai.Completion.create(engine="text-davinci-003", prompt="What is the pandas library?", max_tokens=1000)
print(completion.choices[0]['text'])

# output
Pandas is an open source software library written in Python for data manipulation and analysis. Pandas is widely used in data science, machine learning and many other fields. It provides high-level data structures and tools for handling and manipulating data, including data frames, series, plotting tools and more.

我们甚至可以询问更具体的问题,例如“Pandas 的一些常见用途是什么?”。它给出了合理的答案,列出了数据整理、数据可视化、数据聚合和时间序列分析:

completion = openai.Completion.create(engine="text-davinci-003", prompt="what are some common Pandas use cases?", max_tokens=240)
print(completion.choices[0]['text'])

# output
1. Data Cleaning and Transformation
2. Data Analysis and Exploration
3. Time Series Analysis
4. Data Visualization
5. Statistical Modeling
6. Predictive Modeling
7. Machine Learning
8. Web Scraping

询问“最常见的深度学习库是什么?”:

#what are the most common deep learning libraries?
completion = openai.Completion.create(engine="text-davinci-003", prompt="what are the most common deep learning libraries?", max_tokens=240)
print(completion.choices[0]['text'])

# output
. TensorFlow 
2. PyTorch 
3. Keras 
4. Caffe 
5. CNTK 
6. MXNet 
7. Theano 
8. Deeplearning4j 
9. Gensim 
10. LUNA

甚至可以询问“什么是深度神经网络?”:

completion = openai.Completion.create(engine="text-davinci-003", prompt="What is a deep neural network?", max_tokens=1000)
print(completion.choices[0]['text'])

# output
A deep neural network (DNN) is a type of artificial neural network (ANN) with multiple layers of neurons between the input and output layers. DNNs are designed to learn complex non-linear relationships from data, and have been successfully applied in a wide range of areas such as image recognition, natural language processing, and financial forecasting.

使用 GPT-3 进行事实搜索应该谨慎进行,因为没有任何事实核查机制。在大多数情况下,如果您想获得关于数据科学和机器学习的众多在线博客和论坛中已知概念的表面理解,GPT-3 应该能够很好地工作。

特征工程

GPT-3 的另一个有趣的应用案例是用作指导数据科学工作的辅助工具。例如,GPT-3 能否给出一些改进模型性能的特征变换的想法?让我们询问 GPT-3:

completion = openai.Completion.create(engine="text-davinci-003", prompt="give some ideas on feature transformations that can improve model performance", max_tokens=1000)
print(completion.choices[0]['text'])

# output


1. Standardization/Normalization: A common feature transform used to ensure features are on the same scale, standardizing or normalizing variables can help limit the severity of outliers and improve the overall model performance.

2. Feature Binning: Binning is a process of transforming numerical variables into categorical ones. This can be useful when working with variables that have too many levels and can have a significant effect on the model performance.

3. Polynomial Expansion: When a nonlinear relationship is expected between features and the output variable, a polynomial expansion feature transformation can help improve model performance.

4. Feature Selection: Removing redundant or irrelevant features from the dataset can help improve the model performance as these features may lead to overfitting.

5. Ensemble: Combining different types of models (or different versions of the same model) can often improve performance due to their combined capabilities.

我们看到它给出了一些很好的特征变换建议以及每个变换的解释。

让我们看看是否可以更进一步。让它写一些 Python 代码:

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that performs data standardization", max_tokens=1000)
print(completion.choices[0]['text'])

#output


# Import the necessary libraries
import numpy as np

# Define the data 
data = np.array([[-3908],
                 [ 46512],
                 [202315]])

# Calculate mean and standard deviation
mean = np.mean(data, axis=0)
std = np.std(data, axis=0)

# Perform data standardization
standardized_data = (data - mean) / std

# Print the results
print(standardized_data)

复制并粘贴到一个新单元格中并运行它:

# Import the necessary libraries
import numpy as np

# Define the data 
data = np.array([[-3908],
                 [ 46512],
                 [202315]])

# Calculate mean and standard deviation
mean = np.mean(data, axis=0)
std = np.std(data, axis=0)

# Perform data standardization
standardized_data = (data - mean) / std

# Print the results
print(standardized_data)

# output
[[-1.03881504  1.16247639 -1.29777137 -1.27872403]
 [-0.31164451  0.11624764  1.13554995  0.11624764]
 [ 1.35045955 -1.27872403  0.16222142  1.16247639]]

接下来,让我们对特征标准化变换做同样的操作:

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that performs data normalization on fake data", max_tokens=1000)
print(completion.choices[0]['text'])

# output


# Normalizing data will rescale features in the range [0,1]

data = [371013# Sample data

# Calculate the maximum and minimum of the data
max_data = max(data)
min_data = min(data)

# Normalize the data
normalized_data = [(x-min_data)/(max_data-min_data) for x in data]

# Print first value to check 
print(normalized_data[0]) # Prints 0.2

执行返回的代码:

# Normalizing data will rescale features in the range [0,1]

data = [371013# Sample data

# Calculate the maximum and minimum of the data
max_data = max(data)
min_data = min(data)

# Normalize the data
normalized_data = [(x-min_data)/(max_data-min_data) for x in data]

# Print first value to check 
print(normalized_data) 

模型选择

另一个酷的应用是模型选择。让我们看看 GPT-3 是否可以指导我们选择机器学习模型。询问“如何选择时间序列模型?”

completion = openai.Completion.create(engine="text-davinci-003", prompt="How do i select a time series model?", max_tokens=1000)
print(completion.choices[0]['text'])

# output
The selection of a time series model depends on the type of data that is being analyzed. If there are long-term trends or cycles in the data, then an autoregressive integrated moving average (ARIMA) model or a exponential smoothing (ETS) model may be the best option. If the data are seasonal or there are outliers present, then a Holt-Winters model may be a better choice. If the data do not contain any long-term trends or seasonality, a Box-Jenkins model may be suitable. Regardless of the model selected, it is important to consider the type of data that is being modeled when selecting a time series model.

答案是合理的,列出了平稳性、季节性、趋势以及模型性能评估的检查。让我们询问更具体的问题,例如“何时使用 ARIMA vs Prophet?”:

completion = openai.Completion.create(engine="text-davinci-003", prompt="When to use ARIMA vs FB prophet?", max_tokens=1000)
print(completion.choices[0]['text'])

# output

ARIMA and FB Prophet are both used for time series forecasting. ARIMA is a linear model and is better for predicting long-term trends with stationary data. FB Prophet is a non-linear model and is better for predicting short-term trends with non-stationary data. So, you would use ARIMA when you are mainly concerned with predicting long-term trends, and you would use FB Prophet when you are mainly concerned with predicting short-term trends.

生成合成数据

能用 GPT-3 生成合成数据吗?让我们看一看!我们将生成一个众所周知的数据:医院再入院和交易数据。

  • 医院再入院数据

询问 GPT-3:“编写 python 代码,生成合成医院再入院数据”。

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that generates synthetic healthcare readmission data stored in a dataframe", max_tokens=1000)
print(completion.choices[0]['text'])

# output


import pandas as pd
import numpy as np

# Create Dataframe 

df = pd.DataFrame(columns=['Patient_ID''Age''Admission_Type''Readmitted'])

# Generate Data

np.random.seed(0)
for i in range(10):
  admission_type = np.random.choice(['Urgent''Scheduled''Emergency'])
  patient_age = np.random.randint(1880)
  readmission = np.random.choice([01])
  df.loc[i] = [i+1, patient_age, admission_type, readmission]

# Print Dataframe to Console

print(df)

执行此代码:

import pandas as pd
import numpy as np

# Create Dataframe 

df = pd.DataFrame(columns=['Patient_ID''Age''Admission_Type''Readmitted'])

# Generate Data

np.random.seed(0)
for i in range(10):
  admission_type = np.random.choice(['Urgent''Scheduled''Emergency'])
  patient_age = np.random.randint(1880)
  readmission = np.random.choice([01])
  df.loc[i] = [i+1, patient_age, admission_type, readmission]

# Print Dataframe to Console

df

输出结果:

alt

让我们看看是否可以用这个合成数据构建一个分类模型,预测重新入院的人,并评估性能。

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that generates synthetic healthcare readmission data stored in a dataframe. From this write code that builds a catboost model that predicts readmission outcomes. Also write code to calculate and print performance", max_tokens=3000)
print(completion.choices[0]['text'])

# output
 metrics

## Generate Synthetic Healthcare Readmission Data

import pandas as pd 
import numpy as np 

# set the seed for reproducibility 
np.random.seed(1)

# create dataframe 
df = pd.DataFrame(np.random.randint(0100, size=(10010)), columns=['age','gender','length_of_stay','diagnosis','NIV','laboratory','past_hospitalizations','medications','bmi','readmission'])

# add labels to data frame 
df['age'] = np.random.randint(2080, size=(100))
df['gender'] = np.random.randint(12, size=(100))
df['length_of_stay'] = np.random.randint(214, size=(100))
df['diagnosis'] = np.random.randint(15, size=(100))
df['NIV'] = np.random.randint(02, size=(100))
df['laboratory'] = np.random.randint(16, size=(100))
df['past_hospitalizations'] = np.random.randint(010, size=(100))
df['medications'] = np.random.randint(16, size=(100))
df['bmi'] = np.random.randint(1835, size=(100))
df['readmission'] = np.random.randint(02, size=(100))

# print the dataframe 
print(df)

## Build a CatBoost Model
from catboost import CatBoostClassifier
from sklearn.metrics import confusion_matrix

# separate X and y
X = df.iloc[:, 0:9]
y = df.iloc[:, 9]

# initialize catboost classifier 
cat_clf = CatBoostClassifier(iterations=50,
                            learning_rate=0.3,
                            depth=8,
                            eval_metric='Accuracy',
                            random_seed=42)

# fit the model 
cat_clf.fit(X, y)

# predict values
y_pred = cat_clf.predict(X)

# print confusion matrix
conf_mat = confusion_matrix(y, y_pred)
print(conf_mat)

## Calculate and Print Performance Metrics
from sklearn.metrics import accuracy_score, precision_score, recall_score

# calculate performance metrics
acc = accuracy_score(y, y_pred)
precision = precision_score(y, y_pred)
recall = recall_score(y, y_pred)

# print performance metrics 
print("Accuracy: {}".format(acc))
print("Precision: {}".format(precision))
print("Recall: {}".format(recall))

复制上面的代码,并执行:

## Generate Synthetic Healthcare Readmission Data

import pandas as pd 
import numpy as np 

# set the seed for reproducibility 
np.random.seed(1)

# create dataframe 
df = pd.DataFrame(np.random.randint(0100, size=(10010)), columns=['age','gender','length_of_stay','diagnosis','NIV','laboratory','past_hospitalizations','medications','bmi','readmission'])

# add labels to data frame 
df['age'] = np.random.randint(2080, size=(100))
df['gender'] = np.random.randint(12, size=(100))
df['length_of_stay'] = np.random.randint(214, size=(100))
df['diagnosis'] = np.random.randint(15, size=(100))
df['NIV'] = np.random.randint(02, size=(100))
df['laboratory'] = np.random.randint(16, size=(100))
df['past_hospitalizations'] = np.random.randint(010, size=(100))
df['medications'] = np.random.randint(16, size=(100))
df['bmi'] = np.random.randint(1835, size=(100))
df['readmission'] = np.random.randint(02, size=(100))

# print the dataframe 
print(df)

## Build a CatBoost Model
from catboost import CatBoostClassifier
from sklearn.metrics import confusion_matrix

# separate X and y
X = df.iloc[:, 0:9]
y = df.iloc[:, 9]

# initialize catboost classifier 
cat_clf = CatBoostClassifier(iterations=50,
                            learning_rate=0.3,
                            depth=8,
                            eval_metric='Accuracy',
                            random_seed=42)

# fit the model 
cat_clf.fit(X, y)

# predict values
y_pred = cat_clf.predict(X)

# print confusion matrix
conf_mat = confusion_matrix(y, y_pred)
print(conf_mat)

## Calculate and Print Performance Metrics
from sklearn.metrics import accuracy_score, precision_score, recall_score

# calculate performance metrics
acc = accuracy_score(y, y_pred)
precision = precision_score(y, y_pred)
recall = recall_score(y, y_pred)

# print performance metrics 
print("Accuracy: {}".format(acc))
print("Precision: {}".format(precision))
print("Recall: {}".format(recall))

# output

  • 交易数据

询问 GPT-3:“编写 Python 代码,生成交易数据”。

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that generates synthetic transaction data stored in a dataframe", max_tokens=1000)
print(completion.choices[0]['text'])

# output


import pandas as pd 
import numpy as np 

#create randomly generated customer data
customer_id = np.arange(1,101
customer_names = [f'John Doe {x}' for x in range(1,101)] 

#create randomly generated transaction data
transaction_id = np.arange(1,101)
dates = [f'2020-07-{x}' for x in range(1,101)]
amounts = np.random.randint(low=1, high=1000, size=(100,)) 

#create dataframe with randomly generated data
transaction_data = pd.DataFrame({'Customer ID': customer_id, 
                            'Customer Name': customer_names,
                            'Transaction ID': transaction_id, 
                            'Date': dates, 
                            'Amount': amounts})

print(transaction_data)

拷贝代码,并执行:

import pandas as pd 
import numpy as np 

#create randomly generated customer data
customer_id = np.arange(1,101
customer_names = [f'John Doe {x}' for x in range(1,101)] 

#create randomly generated transaction data
transaction_id = np.arange(1,101)
dates = [f'2020-07-{x}' for x in range(1,101)]
amounts = np.random.randint(low=1, high=1000, size=(100,)) 

#create dataframe with randomly generated data
transaction_data = pd.DataFrame({'Customer ID': customer_id, 
                            'Customer Name': customer_names,
                            'Transaction ID': transaction_id, 
                            'Date': dates, 
                            'Amount': amounts})

transaction_data

(部分输出结果)

alt

现在有物品 ID、客户和购买金额。让我们看看是否可以更具体一点。再增加年龄、性别和邮政编码。

completion = openai.Completion.create(engine="text-davinci-003", prompt="Write example python code that generates synthetic transaction data stored in a dataframe. Include customer ID, transaction amount, item ID, item name, age, gender, and zipcode", max_tokens=2000)
print(completion.choices[0]['text'])

# output
import pandas as pd
import numpy as np

rows = ['customer_ID''transaction_amnt''item_ID''item_name''age''gender''zipcode']

data = pd.DataFrame(columns=rows)  

for i in range(1,100):
        customer_ID = int( np.random.uniform(100,600-100)) 
        transaction_amnt = np.random.uniform(1.2510.00)
        item_ID = int( np.random.uniform(1,35))
        item_name = np.random.choice(["phone""tablet""laptop""smartwatch"])
        age = int( np.random.uniform(17,75)) 
        gender = np.random.choice(["male""female"]) 
        zipcode = np.random.choice(["98101""98200""98469""98801"])
        data.loc[i] = [customer_ID, transaction_amnt, item_ID, item_name, age, gender, zipcode]

print (data)

执行代码:

import pandas as pd
import numpy as np

rows = ['customer_ID''transaction_amnt''item_ID''item_name''age''gender''zipcode']

data = pd.DataFrame(columns=rows)  

for i in range(1,100):
        customer_ID = int( np.random.uniform(100,600-100)) 
        transaction_amnt = np.random.uniform(1.2510.00)
        item_ID = int( np.random.uniform(1,35))
        item_name = np.random.choice(["phone""tablet""laptop""smartwatch"])
        age = int( np.random.uniform(17,75)) 
        gender = np.random.choice(["male""female"]) 
        zipcode = np.random.choice(["98101""98200""98469""98801"])
        data.loc[i] = [customer_ID, transaction_amnt, item_ID, item_name, age, gender, zipcode]

data

(部分输出结果)

alt

公共数据集的询问提示

另一种应用是询问 GPT-3 关于公共数据集。让我们询问 GPT-3 列出一些公共数据集:

completion = openai.Completion.create(engine="text-davinci-003", prompt=" list some good public datasets", max_tokens=1000)
print(completion.choices[0]['text'])

# output
1. US Census Data
2. Enron Email Dataset
3. Global Open Data Index
4. Air Quality Monitoring Data
5. New York City Taxi Trip Data
6. IMF Data
7. World Bank Open Data
8. Google Books Ngrams Dataset
9. Amazon Reviews Dataset
10. UCI Machine Learning Repository

让我们看看是否可以找到根据 Apache 2.0 许可的公共数据。还询问源链接:

completion = openai.Completion.create(engine="text-davinci-003", prompt=" list some good public datasets under apache 2.0 license. provide links to their source", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output
1. OpenStreetMap: https://www.openstreetmap.org/
2. US Census Data: https://www.census.gov/data.html
3. Google Books Ngrams: https://aws.amazon.com/datasets/google-books-ngrams/
4. Wikipedia: https://dumps.wikimedia.org/enwiki/
5. US Government Spending Data: https://www.usaspending.gov/
6. World Bank Open Data: https://data.worldbank.org/
7. Common Crawl: http://commoncrawl.org/
8. Open Images: https://storage.googleapis.com/openimages/web/index.html
9. OpenFlights: https://openflights.org/data.html
10. GDELT: http://data.gdeltproject.org/

虽然并不是所有这些链接都是正确的,但它在寻找源链接方面做得相当不错。Google Ngrams、Common Crawl和 NASA 数据都相当出色。如果不提供数据的确切位置,在大多数情况下,它提供了一个可以找到数据的网页链接。

再请求对数据进行描述。请注意,虽然结果可能重叠,但它们在每次运行时略有不同。据我所知,结果并不总是可以相同的:

completion = openai.Completion.create(engine="text-davinci-003", prompt=" list some good public datasets under apache 2.0 license. provide links to their source and descriptions", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output


1. OpenStreetMap: OpenStreetMap is a free, editable map of the world, created and maintained by volunteers and available for use under an open license. It contains millions of data points, including roads, buildings, and points of interest. Source: https://www.openstreetmap.org/

2. Google Books Ngrams: Google Books Ngrams is a dataset of over 5 million books from Google Books, spanning from 1500 to 2008. It contains word counts for each year, allowing researchers to track the usage of words over time. Source: https://aws.amazon.com/datasets/google-books-ngrams/

3. Wikipedia: Wikipedia is a free, open-source encyclopedia with millions of articles in hundreds of languages. It is available for use under the Creative Commons Attribution-ShareAlike license. Source: https://www.wikipedia.org/

4. Common Crawl: Common Crawl is a large-scale web crawl that collects data from over 5 billion webpages. It is available for use under the Apache 2.0 license. Source: https://commoncrawl.org/

5. Open Images Dataset: The Open Images Dataset is a collection of 9 million images annotated with labels spanning over 6000 categories. It is available for use under the Apache 2.0 license. Source: https://storage.googleapis.com/openimages/web/index.html

机器学习问题整理

最后一个示例,将看看 GPT-3 是否可以帮助我们整理机器学习问题。

  • 询问用例

虽然 GPT-3 中的数据仅截至2021年,但它仍然可以帮助我们构建与今天仍然相关的 ML 用例。让我们询问“社交媒体中有哪些新兴的机器学习用例?”:

completion = openai.Completion.create(engine="text-davinci-003", prompt="What are some emerging machine learning use-cases in social media?", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output


1. Automated Content Curation: Automatically curating content from social media platforms to create personalized content feeds for users.

2. Sentiment Analysis: Analyzing user sentiment from social media posts to gain insights into customer opinions and preferences.

3. Social Media Monitoring: Using machine learning algorithms to monitor social media conversations and detect potential issues or trends.

4. Social Media Advertising: Leveraging machine learning to optimize social media advertising campaigns and target the right audience.

5. Social Media Recommendations: Using machine learning to recommend content to users based on their interests and preferences.

我们也可以看到在医疗领域的回复:

completion = openai.Completion.create(engine="text-davinci-003", prompt="What are some emerging machine learning use-cases in healthcare?", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output


1. Automated Diagnosis: Machine learning algorithms can be used to analyze patient data and medical images to detect and diagnose diseases.

2. Personalized Medicine: Machine learning algorithms can be used to analyze patient data and medical images to create personalized treatment plans for each patient.

3. Drug Discovery: Machine learning algorithms can be used to analyze large datasets of chemical compounds to identify potential new drugs.

4. Clinical Decision Support: Machine learning algorithms can be used to analyze patient data and medical images to provide clinicians with real-time decision support.

5. Predictive Analytics: Machine learning algorithms can be used to analyze patient data and medical images to predict future health outcomes.

询问研究项目

现在让我们看看它是否可以提出一些研究问题。让我们询问:“使用深度学习进行图像检测有哪些好的研究项目?”

completion = openai.Completion.create(engine="text-davinci-003", prompt="What are some good research questions on using deep learning for image detection?", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output


1. What are the most effective deep learning architectures for image detection?
2. How can deep learning be used to improve the accuracy of image detection?
3. What are the most effective methods for training deep learning models for image detection?
4. How can deep learning be used to detect objects in images with varying levels of complexity?
5. How can deep learning be used to detect objects in images with varying levels of illumination?
6. How can deep learning be used to detect objects in images with varying levels of noise?
7. How can deep learning be used to detect objects in images with varying levels of resolution?
8. How can deep learning be used to detect objects in images with varying levels of occlusion?
9. How can deep learning be used to detect objects in images with varying levels of background clutter?
10. How can deep learning be used to detect objects in images with varying levels of rotation?

再问一下 NLP 方向:

completion = openai.Completion.create(engine="text-davinci-003", prompt="What are some good research questions related to NLP transformer models?", max_tokens=1000, temperature=0)
print(completion.choices[0]['text'])

# output

1. How can transformer models be used to improve the accuracy of natural language processing tasks?
2. What are the most effective methods for training transformer models for natural language processing tasks?
3. How can transformer models be used to improve the efficiency of natural language processing tasks?
4. What are the most effective methods for optimizing transformer models for natural language processing tasks?
5. How can transformer models be used to improve the interpretability of natural language processing tasks?
6. What are the most effective methods for deploying transformer models for natural language processing tasks?
7. How can transformer models be used to improve the scalability of natural language processing tasks?
8. What are the most effective methods for combining transformer models with other natural language processing techniques?
9. How can transformer models be used to improve the robustness of natural language processing tasks?
10. What are the most effective methods for evaluating transformer models for natural language processing tasks?

本文所有代码都发布在 GitHub 上。

原文链接:https://medium.datadriveninvestor.com/mastering-chatgpt-in-python-a53814e834b0

本文由 mdnice 多平台发布

相关文章:

用 Python 调用 GPT-3 API

用 Python 调用 GPT-3 API GPT-3 是去年由 Open AI 推出的语言机器学习模型。它因其能够写作、写歌、写诗,甚至写代码而获得了广泛的媒体关注!该工具免费使用,只需要注册一个电子邮件即可。 GPT-3 是一种叫 transformer 的机器学习模型。具体…...

类和对象实操之【日期类】

✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 The pessimist complains about the wind; the optimist expects it to change; the realist adjusts the sails. 悲观主义者抱怨风;乐观主义者期望它…...

微搭中如何实现弹性布局

我们在实际开发中经常可能会有一些社交的场景,比如开发一个类似朋友圈九宫格图片展示的功能。因为图片的数量不确定,所以需要实现图片的从左到右顺序排列。 在微搭中可以以可视化的方式设置样式。但是对于我们这类特殊需求,只用可视化设置显…...

九龙证券|外资强势出手!这只科创板百元股,被疯狂加仓

本周,北上资金净买入29.32亿元,连续第13周加仓A股。分商场看,北上资金加仓重点倾向于沪市的白马蓝筹股,沪股通取得50.34亿元,深股通则被净卖出21.02亿元。 食品饮料本周取得逾23亿元的增持,居职业首位&…...

51单片机最强模块化封装(4)

文章目录 前言一、创建key文件,添加key文件路径二、key文件编写三、模块化测试总结前言 本篇文章将为大家带来按键的模块化封装,这里使用到了三行按键使得我们的代码更加简便。 按键原理:独立按键 一、创建key文件,添加key文件路径 这里的操作就不过多解释了,大家自行看…...

五、Git本地仓库基本操作——分支管理

1. 什么是分支? master分支 我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的co…...

vscode搭建python Django网站开发环境

这里使用pip安装的方式,打开命令行,输入执行: pip install django2.2这里选择安装2.2版本是因为是新的lts版本,长期支持稳定版。 接下来再安装pillow,Django底层一部分是基于pillow进行的。 pip install pillowpylint…...

【mybatis】实现分页查询

一 .使用原生分页器的实体类 1.1 java代码部分 方法多 不易书写 package cn.bdqn.entity;public class Page {private Integer pageIndex;//页码private Integer pageSize;//页大小 显示多少行数据private Integer totalCounts;//数据的总行数private Integer totalPages;//…...

CF1560D Make a Power of Two 题解

CF1560D Make a Power of Two 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现备注题目 链接 https://www.luogu.com.cn/problem/CF1560D 字面描述 题面翻译 给定一个整数 nnn。每次操作你可以做两件事情中的一件&am…...

C#开发的OpenRA的读取文件的函数

C#开发的OpenRA的读取文件的函数 在OpenRA游戏里,读取文件是必备的功能。 因为游戏大部分文件都是图片、动画、语音。 很久以前,我以为开发游戏的主要功能是在程序开发上, 其实游戏的大部分工作都不是在开发上,而是在美工方面。 因为游戏跟电影是一样,就是不断地展示场景,…...

SpringBoot结合XXL-JOB实现定时任务

Quartz的不足 Quartz 的不足:Quartz 作为开源任务调度中的佼佼者,是任务调度的首选。但是在集群环境中,Quartz采用API的方式对任务进行管理,这样存在以下问题: 通过调用API的方式操作任务,不人性化。需要…...

【Node.js】 创建web服务器

Node.js什么是客户端,什么是服务器服务器和普通电脑的区别什么是http模块导入http模块服务器相关概念创建web服务器的基本步骤req请求对象req响应对象解决中文乱码根据不同的url响应不同的html内容什么是客户端,什么是服务器 客户端在网络节点中&#x…...

基于go语言实现RestFul交互

一、RestFul 1.1 RestFul的介绍 RESTFUL(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP或HTTPS,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景&…...

情感溢出:读《浣溪沙》

浣溪沙 谁念西风独自凉 作者 纳兰性德 谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳。 被酒莫惊春睡重,赌书消得泼茶香,当时只道是寻常。 记得年轻时学这篇词,就是愣背,现在也就记得这句当时只道是寻常…...

深入解读.NET MAUI音乐播放器项目(一):概述与架构

系列文章将分步解读音乐播放器核心业务及代码: 深入解读.NET MAUI音乐播放器项目(一):概述与架构深入解读.NET MAUI音乐播放器项目(二):播放内核深入解读.NET MAUI音乐播放器项目(三…...

【Python小游戏】某程序员将套圈游戏玩儿到了巅峰,好嗨哟~Pygame代码版《牛牛套圈》已上线,大人的套圈游戏太嗨了,小孩勿进。

前言 世上选择那么多。 关注栗子同学会是您最明智的选择哦。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 “幸运牛牛套圈圈”套住欢乐,圈住幸福,等你来挑战&#xf…...

php的declare命令如何使用?

php中的declare结构用来设定一段代码的执行指令declare用于执行3个指令:ticks,encoding,strict_typesdeclare结构用于全局范围,影响到其后的所有代码(但如果有declare结构的文件被其他文件包含,则对包含他的父文件不起作用&#x…...

嵌软工程师要掌握的硬件知识2:一文看懂什么开漏和推挽电路(open-drain / push-pull)

想了解开漏和推挽,就要先了解一下三极管和场效应管是什么,在其他章节有详细介绍,本文就不再进行赘述。 1 推挽(push pull)电路 1.1 理解什么是推挽电路 - 详细介绍 如图所示,Q3是个NPN型三极管,Q4是个PNP型三极管。 1)当Vin电压为正时,上面的N型三极管控制端有电…...

1.2.6存储结构-磁盘管理:单缓冲区与双缓冲区读取、流水线周期、计算流水线执行时间

1.2.6存储结构-磁盘管理:单缓冲区与双缓冲区读取、流水线周期、计算流水线执行时间流水线周期计算流水线执行时间微秒,时间单位,符号μs(英语:microsecond ),1微秒等于百万分之一秒(…...

【pytest接口自动化测试】结合单元测试框架pytest+数据驱动模型+allure

api: 存储测试接口 conftest.py :设置前置操作 目前前置操作:1、获取token并传入headers,2、获取命令行参数给到环境变量,指定运行环境commmon:存储封装的公共方法 connect_mysql.py:连接数据库http_requests.py: 封装…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...