一、前言
本文将教大家用python调用OpenAI API进行文本创作。
二、使用教程
2.1获取API密钥
使用OpenAI账户登录:https://openai.com/
,登录后选择:View API keys -> API Keys
页面。
API Keys:
点击 Create new secret key
获得一个API密钥,复制保存。
2.2 连接API
pip
命令安装OpenAI Python
包:
pip install openai
在要编写的Python程序中导入OpenAI包并使用刚才获得的API密钥进行身份验证:
import openai
openai.api_key = "YOUR_API_KEY" #刚才获取的API密钥
2.3 文本生成
使用openai.Completion.create()
方法来生成文本。以下是使用OpenAI API生成文本的示例代码:
prompt = "Once upon a time"
response = openai.Completion.create(
engine="davinci",
prompt=prompt,
temperature=0.5,
max_tokens=50,
n=1,
stop=None,
timeout=20,
)
print(response.choices[0].text)
在这个示例中:
prompt
:想要使用的文本,就是你要创作文本的主体和要求engine
:使用的OpenAI模型,可以通过访问OpenAI Docs Models 来查看全部可用模型temperature
:是用于控制生成文本的随机性的参数,取值在0到1,数值越高,生成的结果越具有创意性max_tokens
:是生成的最大字数n
:要生成的文本的数量stop
:指定停止生成文本的条件timeout
:超时时间(以秒为单位)
当运行上面的代码时,OpenAI API将生成文本并将其存储在response.choices[0].text
中,可以将其打印出来或使用它进行其他操作。
三、创作示例
3.1 诗歌创作
写一首关于思乡的诗歌(给文艺公众号的编辑们以启发):
import openai
openai.api_key = "YOUR_API_KEY" #刚才获取的API密钥
prompt = "写一首关于思想的诗歌" #要创作文本内容的主体和要求
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
temperature=0.8,
max_tokens=1000,
n=1,
stop=None,
timeout=20,
)
print(response.choices[0].text)
输出结果:
游子的思乡
行行路远远,去到天边外, 心想家乡里,想来又难来;
梦里游子去,梦中多山川, 思乡情深深,无法离开家;
故乡的景色,让人思念更浓, 家乡可能距离太远, 游子想去看看,又恐怕难行走;
绿水青山总在心里, 思乡情更浓,家乡的爱永不变, 游子的思乡,再也不能抹去!
3.2 推荐书单
通过程序推荐相关的阅读数据(原理是根据输入的要求自动匹配最符合的书籍):
import openai
openai.api_key = "YOUR_API_KEY" #刚才获取的API密钥
prompt = "推荐5本最适合学习python的书籍"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
temperature=0.8,
max_tokens=1000,
n=1,
stop=None,
timeout=20,
)
print(response.choices[0].text)
1、《Python编程:从入门到实践》(美)高汤·格林(Eric Matthes)著
2、《Python Cookbook》(美)约翰·罗斯柴尔德(John C. Rossbach)和马克· 埃文斯(Mark Lutz)著
3、《Python核心编程》(美)马克·埃文斯(Mark Lutz)著
4、《Python基础教程》(美)马克·埃文斯(Mark Lutz)著
5、《Python编程快速上手》(美)凯文·麦克米兰(Kevin M. Mcmillan)著
从推荐结果来看,还是有很高的参考价值的。
3.3 超级百度
使用百度查阅一些资料或寻找问题答案时,搜索引擎只会根据关键词匹配结果然后堆砌式的展现,现在的这个模型可以代替百度替我们回答一些问题并且有逻辑的说明原因。
例如:询问小白入门深度学习的推荐路线
import openai
openai.api_key = "YOUR_API_KEY" #刚才获取的API密钥
prompt = "小白入门深度学习的推荐路线"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
temperature=0.8,
max_tokens=1000,
n=1,
stop=None,
timeout=20,
)
print(response.choices[0].text)
输出:
- 深度学习的学习路线:
(1)首先,学习基础的数学知识,如概率论、线性代数、微积分、数值计算等;
(2)然后,学习深度学习的基础知识,如机器学习理论、深度神经网络结构、反向传播算法、神经网络优化方法等;
(3)接着,熟悉主流开源深度学习框架,如TensorFlow、PyTorch、Keras等;
(4)最后,根据自身需求,学习自然语言处理、计算机视觉、时序处理等应用案例,在自己的项目上运用深度学习的知识。
- 相关课程:
(1)Andrew Ng 的《深度学习》课程;
(2)林轩田的《机器学习基石》课程;
(3)林轩田的《机器学习技法》课程;
(4)元成毅老师的《神经网络与深度学习》课程;
(5)《深度学习之TensorFlow入门指南》课程;
四、总结
使用Python调用OpenAI API进行文本创作可以轻松地实现自然语言处理和文本生成,无需复杂的算法和底层编程;所生成文本的准确性也很高,具有一定的参考价值,是一些文字工作者的必备神器;