用Python调用OpenAI API做有趣的事
获取 API KEY
首先需要 可以开全局的梯子,选择日本或韩国节点,可以通过 ipinfo 检查当前 IP 地址是否为日本或韩国地区,然后访问 OpenAI 网站注册账号并完成认证。
如果自己完成账号认证的成本太高,可以在某宝直接购买一个已经通过认证的 OpenAI 账号
获得可用 OpenAI 账号后,访问 View API keys -> API Keys 页面,点击 Create new secret key 获取一个 openai.api_key
再继续后面的内容。
使用 Python 调用 OpenAI API 的方式非常便捷,只需安装 OpenAI 提供的 openai
库就可以调用其 API 服务:
pip install openai
OpenAI 文本编写
调用 openai.Completion.create
函数需要了解几个基本参数:
model
: 要使用的模型的 ID,访问 OpenAI Docs Models 页面可以查看全部可用的模型prompt
: 生成结果的提示文本,即你想要得到的内容描述max_tokens
: 生成结果时的最大 tokens 数,不能超过模型的上下文长度,可以把结果内容复制到 OpenAI Tokenizer 来了解 tokens 的计数方式temperature
: 控制结果的随机性,如果希望结果更有创意可以尝试 0.9,或者希望有固定结果可以尝试 0.0top_p
: 一个可用于代替temperature
的参数,对应机器学习中 nucleus sampling,如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokensfrequency_penalty
: -2.0 ~ 2.0 之间的数字,正值会根据新 tokens 在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性presence_penalty
: -2.0 ~ 2.0 之间的数字,正值会根据到目前为止是否出现在文本中来惩罚新 tokens,从而增加模型谈论新主题的可能性stop
: 最大长度为 4 的字符串列表,一旦生成的 tokens 包含其中的内容,将停止生成并返回结果
故事创作
输入 prompt
内容:
主题: 早餐 风
两句话的恐怖故事:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='主题: 早餐 风\n两句话的恐怖故事:',temperature=0.8,max_tokens=120,top_p=1.0,frequency_penalty=0.5,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
传说当晨风吹过的时候,一个可怕的早餐怪物就会出现,它会从你的厨房里抓走你的食物,然后吞下它们!
餐厅评论
输入 prompt
内容:
根据这些笔记写一篇餐厅评论
名称:大头鱼烧烤
茄子很棒,很吵,服务态度好,价格便宜。
评论:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='根据这些笔记写一篇餐厅评论\n名称:大头鱼烧烤\n茄子很棒,很吵,服务态度好,价格便宜。\n评论:',temperature=0.5,max_tokens=300,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
我最近去了大头鱼烧烤,真的很棒!服务态度很好,价格也很便宜。我尤其喜欢他们的茄子,味道非常棒!唯一缺点就是有点吵,但是这也是一家烧烤店的常态,所以我还是很满意的。总而言之,我强烈推荐大头鱼烧烤!
广告文案
输入 prompt
内容:
为以下产品写一则创意广告,在微博上针对家长进行宣传:
产品:云课堂是一个网络平台,帮助从幼儿园到高中的学生在学校表现出色。
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='为以下产品写一则创意广告,在微博上针对家长进行宣传:\n产品:云课堂是一个网络平台,帮助从幼儿园到高中的学生在学校表现出色。',temperature=0.5,max_tokens=300,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
家长们,你们的孩子是否想要在学校表现出色?云课堂是一个网络平台,可以帮助从幼儿园到高中的学生提高学习成绩,让他们在学校里取得更好的成绩。云课堂拥有丰富的资源,专业的老师,精心设计的课程,可以帮助孩子们更好地理解学习内容,提高学习效率。让你的孩子在学校表现出色,就选择云课堂吧!
会议记录
输入 prompt
内容:
将我的速记转换成会议纪要
张三:利润增长50%
李四:新服务器上线了
王五:需要更多时间来修复BUG
李四:可以帮忙
赵六:Beta测试即将完成
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='将我的速记转换成会议纪要\n张三:利润增长50%\n李四:新服务器上线了\n王五:需要更多时间来修复BUG\n李四:可以帮忙\n赵六:Beta测试即将完成',temperature=0.0,max_tokens=300,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
会议纪要:
- 张三报告,公司利润增长了50%。
- 李四报告,新服务器已经上线。
- 王五报告,需要更多时间来修复BUG,李四表示可以提供帮助。
- 赵六报告,Beta测试即将完成。
面试问题
输入 prompt
内容:
为我面试一位Python后台开发创建一个包含8个问题的清单:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='为我面试一位Python后台开发创建一个包含8个问题的清单:',temperature=0.5,max_tokens=500,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
- 请描述你对Python后台开发的了解。
- 你有使用过哪些Python Web框架?
- 你是如何处理数据库的?
- 你曾经处理过大型数据集吗?
- 你有使用过什么样的API?
- 你有使用过Python中的任务调度模块吗?
- 你有使用过Python中的日志模块吗?
- 你有使用过Python中的安全和加密模块吗?
头脑风暴
输入 prompt
内容:
集思广益,提出一些结合AI和自动化测试的想法:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='集思广益,提出一些结合AI和自动化测试的想法:',temperature=0.6,max_tokens=500,top_p=1.0,frequency_penalty=1.0,presence_penalty=1.0,
)print(response.choices[0].text)
响应的结果文本:
- 使用AI技术来自动生成测试用例:通过分析已有的代码及其行为,AI 可以自动生成覆盖所有可能情况的测试用例。
- 让 AI 来优化测试套件:通过将历史上失败的样例和新出现的样例作为特征数据集,AI 可以学习并改进当前的测试套件。
- 使用 AI 来预测应用性能:通过利用数据采集、日志分析和即时监控来帮助开发人员了解如何优化应用性能。
- 通过 AI 来实现对大量信息中快速定高限和低限: 通过场景建立、数学优化方法、回归方法等, AI 系统可以帮助开发者在一定限度之内尽快找出合理考虑各要素之间关系, 精准地定高低界限。
论文大纲
输入 prompt
内容:
为一篇关于《浮士德》中魔鬼形象及其矛盾性的文章创建一个大纲:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='为一篇关于《浮士德》中魔鬼形象及其矛盾性的文章创建一个大纲:',temperature=0.3,max_tokens=600,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
I. 引言
A. 《浮士德》的背景
B. 主要角色
II. 魔鬼形象
A. 魔鬼的外表
B. 魔鬼的性格特征
III. 魔鬼的矛盾性
A. 对人类的态度
B. 对浮士德的态度
IV. 结论
A. 魔鬼的矛盾性
B. 对浮士德的影响
学习笔记
输入 prompt
内容:
研究中国古代文论时我应该知道的5个要点是什么?
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='研究中国古代文论时我应该知道的5个要点是什么?',temperature=0.3,max_tokens=800,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
- 中国古代文论的发展史:从《诗经》到《文心雕龙》,介绍中国古代文论的发展历程。
- 中国古代文论的主要思想:介绍中国古代文论的主要思想,如儒家文论、道家文论、墨家文论、法家文论等。
- 中国古代文论的主要著作:介绍中国古代文论的主要著作,如《论语》、《孟子》、《庄子》、《诗经》、《文心雕龙》等。
- 中国古代文论的影响:介绍中国古代文论对中国文学、文化、思想等方面的影响。
- 中国古代文论的现代研究:介绍中国古代文论的现代研究,如文论史、文论理论、文论方法等。
创建食谱
输入 prompt
内容:
根据这些食材编写食谱:黑椒蛋炒饭
食材:黑胡椒 农家土鸡蛋 隔夜的木桶饭 切小块的香肠 葱花
食谱:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='根据这些食材编写食谱:黑椒蛋炒饭\n食材:黑胡椒 农家土鸡蛋 隔夜的木桶饭 切小块的香肠 葱花\n食谱:',temperature=0.3,max_tokens=800,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
黑椒蛋炒饭
材料:
- 隔夜的木桶饭:2杯
- 农家土鸡蛋:2个
- 黑胡椒:1茶匙
- 切小块的香肠:2汤匙
- 葱花:2汤匙
做法:
- 先将木桶饭放入锅中,加入适量清水,用中火煮沸,然后转小火煮5分钟,直到饭熟透。
- 热锅,放入适量油,放入香肠炒香,加入黑胡椒粉炒出香味。
- 加入鸡蛋,翻炒均匀,直到蛋液完全凝固。
- 加入煮好的木桶饭,翻炒均匀,直到饭粒完全熟透。
- 最后,加入葱花,翻炒均匀,即可出锅。
推荐书单
输入 prompt
内容:
推荐10本育儿方面的书:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='推荐10本育儿方面的书:',temperature=0.5,max_tokens=900,top_p=1.0,frequency_penalty=0.52,presence_penalty=0.5,stop=['11.'],
)print(response.choices[0].text)
响应的结果文本:
1.《宝宝育儿百科》(李淑霞著)
2.《幸福的孩子——健康快乐成长的智慧》(布莱恩·斯特劳斯著)
3.《家庭教育的全过程》(徐佳琪、刘星主编)
4. 《一步一个脚印——0~6岁儿童教育实用手册》(张小龙、吴保国等主编)
5. 《读者文摘·孩子需要什么样的教养?》 (当代读者出版社出版)
6. 《如何培养孩子的独立性? 》 (郭双双著)
7. 《孩子不是木头人——中国传统教养之道与当代家庭教育之道对比分析》 (王勇、张雪琴主编)
8. 《如何帮助孩子成长得快乐、健康、有能力? 》 (李重光、李重光、姚明宣主编)
9. 《小孩大心理——从出生到12岁家庭教育之道》 (郭双双著)
10. 《早期教养——了解并帮助0-3岁年龄段的孩子成长与发展。 》 (杜德耀、王海波主编)
产品名称
输入 prompt
内容:
根据下面的描述想几个产品名称
产品描述:夜灯
种子词:适合婴儿 可以啃咬 续航整晚 小巧
产品名称:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='根据下面的描述想几个产品名称\n产品描述:夜灯\n种子词:适合婴儿 可以啃咬 续航整晚 小巧\n产品名称:',temperature=0.8,max_tokens=600,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
- 婴儿星空夜灯
- 可啃夜灯
- 持久夜灯
- 迷你夜灯
总结内容
输入 prompt
内容:
帮我总结一下:
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='帮我总结一下:\n由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。',temperature=0.7,max_tokens=600,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
关闭TCP连接的4次握手:
- 主动关闭方发送FIN,表示它不再有数据需要发送。
- 被动关闭方收到FIN,发送ACK,表示它已经收到FIN,但它仍然有数据要发送。
- 被动关闭方发送FIN,表示它也不再有数据需要发送。
- 主动关闭方收到FIN,发送ACK,表示它已经收到FIN,此时TCP连接被完全关闭。
电子表格
输入 prompt
内容:
包含世界人口数和统计年份的两列电子表格:\n统计年份 | 世界人口数
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='包含世界人口数和统计年份的两列电子表格:\n统计年份 | 世界人口数',temperature=0.5,max_tokens=100,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
------------ | -------------
1950 | 2,556,000,000
1960 | 3,040,000,000
1970 | 3,700,000,000
1980 | 4,440,000,000
1990 | 5,286,000,000
2000 | 6,082,000,000
2010 | 6,908,000,000
2020 | 7,800,000,000
电子邮件
输入 prompt
内容:
帮我给张三写一封邮件,祝他生日快乐,同时祝贺他获得晋升。
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='text-davinci-003',prompt='帮我给张三写一封邮件,祝他生日快乐,同时祝贺他获得晋升。',temperature=1.0,max_tokens=300,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果文本:
亲爱的张三:
祝贺你获得晋升!期待你将更大的潜力发挥出来,将工作做得更出色,达到更高的水平!
今天是你的生日,祝你生日快乐!愿你新的一年快乐无比,身体健康,心想事成!
此致
敬礼!
OpenAI 代码续写
Go代码
输入 prompt
内容:
/*
Go 语言
创建动物列表
创建城市列表
生成关于我在每个城市的动物园看到的故事列表
*/
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='/*\nGo 语言\n创建动物列表\n创建城市列表\n生成关于我在每个城市的动物园看到的故事列表\n*/',max_tokens=320,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,
)print(response.choices[0].text)
响应的结果代码:
package mainimport ("fmt""math/rand""time"
)func main() {rand.Seed(time.Now().UnixNano())animals := []string{"cat", "dog", "pig", "cow", "horse", "sheep", "goat", "chicken", "duck", "goose"}cities := []string{"beijing", "shanghai", "guangzhou", "shenzhen", "hangzhou", "chengdu", "wuhan", "chongqing", "tianjin", "nanjing"}for i := 0; i < 10; i++ {fmt.Printf("I saw a %s in %s zoo.\n", animals[rand.Intn(len(animals))], cities[rand.Intn(len(cities))])}
}
HTML代码
输入 prompt
内容:
<!-- 创建一个标题为 "OpenAI AUI" 的表单提交网页 -->
<!DOCTYPE html>
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='<!-- 创建一个标题为 "OpenAI AUI" 的表单提交网页 -->\n<!DOCTYPE html>',max_tokens=200,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['```'],
)print(response.choices[0].text)
响应的结果代码:
<html>
<head><meta charset="utf-8"><title>OpenAI AUI</title>
</head>
<body>
<form action="http://127.0.0.1:8000/api/v1/openai/aui" method="post"><input type="text" name="text" value="你好"><input type="submit" value="提交">
</form>
</body>
</html>
JavaScript函数
输入 prompt
内容:
// JavaScript 语言
// 创建一个从1数到100并返回和值的函数
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='// JavaScript 语言\n// 创建一个从1数到100并返回和值的函数',max_tokens=200,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['//'],
)print(response.choices[0].text)
响应的结果代码:
function sum(n) {var sum = 0;for (var i = 1; i <= n; i++) {sum += i;}return sum;
}
Python代码
输入 prompt
内容:
1、创建一个包含10个名字列表
2、创建一个包含10个姓氏列表
3、将它们随机组合成5个完整的姓名
4、将这些姓名打印出来
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='1、创建一个包含10个名字列表\n2、创建一个包含10个姓氏列表\n3、将它们随机组合成5个完整的姓名\n4、将这些姓名打印出来',temperature=0.0,max_tokens=1000,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,
)print(response.choices[0].text)
响应的结果代码:
import randomfirst_name = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈']
last_name = ['小明', '小红', '小刚', '小霞', '小强', '小芳', '小燕', '小丽', '小兰', '小红']for i in range(5):print(random.choice(first_name) + random.choice(last_name))
Python函数
输入 prompt
内容:
def getUserBalance(id):"""在MongoDB的tp_backend数据库的UserData表中查找用户并返回他们的账户余额"""
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='def getUserBalance(id):\n """\n 在MongoDB的tp_backend数据库的UserData表中查找用户并返回他们的账户余额\n """',max_tokens=200,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['def'],
)print(response.choices[0].text)
响应的结果代码:
client = MongoClient(host=MONGO_HOST, port=MONGO_PORT)db = client.tp_backenduserData = db.UserDatauser = userData.find_one({"id": id})if user is None:return Noneelse:return user["balance"]
Python测试代码
输入 prompt
内容:
# Python 3
def sum_numbers(a, b):return a + b
# Unit test
def
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='# Python 3\ndef sum_numbers(a, b):\n return a + b\n# Unit test\ndef',max_tokens=320,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['#'],
)print(response.choices[0].text)
响应的结果代码:
test_sum_numbers():assert sum_numbers(1, 2) == 3assert sum_numbers(1, -1) == 0assert sum_numbers(0, 0) == 0assert sum_numbers(10, -10) == 0assert sum_numbers(10, 10) == 20assert sum_numbers(0, 10) == 10assert sum_numbers(10, 0) == 10assert sum_numbers(10, 10) == 20assert sum_numbers(10, -10) == 0assert sum_numbers(0, 0) == 0assert sum_numbers(1, -1) == 0assert sum_numbers(1, 2) == 3print("YOUR CODE IS CORRECT!")
Python修复BUG
输入 prompt
内容:
import Random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):question = "What is "+a+" x "+b+"? "answer = input(question)if answer = a*bprint (Well done!)else:print("No.")
# 修复上面函数中的错误
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='import Random\na = random.randint(1,12)\nb = random.randint(1,12)\nfor i in range(10):\n question = "What is "+a+" x "+b+"? "\n answer = input(question)\n if answer = a*b\n print (Well done!)\n else:\n print("No.")\n# 修复上面函数中的错误',temperature=0.0,max_tokens=200,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['#', '\"\"\"'],
)print(response.choices[0].text)
响应的结果代码:
import random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):question = "What is "+str(a)+" x "+str(b)+"? "answer = input(question)if int(answer) == a*b:print ("Well done!")else:print("No.")
Python注释文档
输入 prompt
内容:
# Python 3.8
def fib(num):if num <= 1:return numelse:return fib(num-1) + fib(num-2)
print(fib(10))
# 上述函数的文档
"""
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='# Python 3.8\ndef fib(num):\n if num <= 1:\n return num\n else:\n return fib(num-1) + fib(num-2)\nprint(fib(10))\n# 上述函数的文档\n"""',temperature=0.0,max_tokens=200,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['#', '\"\"\"'],
)print(response.choices[0].text)
响应的结果代码:
fib(num)返回斐波那契数列的第num项
Python代码重构
输入 prompt
内容:
if num ==1:print(a)else:print(a)print(b)# 序列从0,1开始print(fib(10))for i in range(2,num):c = a+ba = bb = cprint(c)
fibonacci(10)
# 将代码重构成递归函数
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt=' if num ==1:\n print(a)\n else:\n print(a)\n print(b)\n # 序列从0,1开始\n print(fib(10))\n for i in range(2,num):\n c = a+b\n a = b\n b = c\n print(c)\nfibonacci(10)\n# 将代码重构成递归函数',temperature=0.0,max_tokens=200,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['#', '\"\"\"'],
)print(response.choices[0].text)
响应的结果代码:
def fib(num):if num ==1:return 1elif num ==2:return 1else:return fib(num-1)+fib(num-2)
print(fib(10))
Python翻译成Java
输入 prompt
内容:
### 把这个函数从Python翻译成Java
## Pythondef predict_proba(X: Iterable[str]):return np.array([predict_one_probas(tweet) for tweet in X])
## Java
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='### 把这个函数从Python翻译成Java\n## Python\n def predict_proba(X: Iterable[str]):\n return np.array([predict_one_probas(tweet) for tweet in X])\n## Java',temperature=0.0,max_tokens=200,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['##'],
)print(response.choices[0].text)
响应的结果代码:
public static double[][] predictProba(String[] X) {double[][] result = new double[X.length][];for (int i = 0; i < X.length; i++) {result[i] = predictOneProbas(X[i]);}return result;}
R代码
输入 prompt
内容:
# R 语言
# 计算points数组中的point的平均值
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='# R 语言\n# 计算points数组中的point的平均值',max_tokens=200,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['#'],
)print(response.choices[0].text)
响应的结果代码:
points <- c(1,2,3,4,5,6,7,8,9,10)
mean(points)
MySQL查询
输入 prompt
内容:
# 表customers,列=[CustomerId,FirstName,LastName,Company,Address,City,State,Country,PostalCode,Phone,Fax,Email,SupportRepId]
# 创建MySQL查询:所有住在深圳的姓张的用户
query =
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='# 表customers,列=[CustomerId,FirstName,LastName,Company,Address,City,State,Country,PostalCode,Phone,Fax,Email,SupportRepId]\n# 创建MySQL查询:所有住在深圳的姓张的用户\nquery = ',temperature=0.0,max_tokens=200,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['#', ';'],
)print(response.choices[0].text)
响应的结果代码:
SELECT * FROM customers WHERE City = 'Shenzhen' AND LastName = 'Zhang'
PostgreSQL查询
输入 prompt
内容:
# Postgres SQL 表及其属性:
Employee(id, name, department_id)
Department(id, name, address)
Salary_Payments(id, employee_id, amount, date)
# 查询列出过去3个月内雇用超过10名员工的部门名称:
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='# Postgres SQL 表及其属性:\nEmployee(id, name, department_id)\nDepartment(id, name, address)\nSalary_Payments(id, employee_id, amount, date)\n# 查询列出过去3个月内雇用超过10名员工的部门名称:',temperature=0.0,max_tokens=400,top_p=1.0,frequency_penalty=0.0,presence_penalty=0.0,stop=['#', ';'],
)print(response.choices[0].text)
响应的结果代码:
SELECT d.name
FROM Department d
WHERE (SELECT COUNT(*) FROM Employee e WHERE e.department_id = d.id) > 10
AND d.id IN (SELECT DISTINCT department_id FROM Employee e WHERE e.id IN (SELECT employee_id FROM Salary_Payments WHERE date > NOW() - INTERVAL '3 months'))
TypeScript函数
输入 prompt
内容:
// TypeScript 语言
// 创建一个从1数到100并返回和值的函数
完整的调用代码:
import openai
openai.api_key = 'xx-xxxxxxxx'response = openai.Completion.create(model='code-davinci-002',prompt='// TypeScript 语言\n// 创建一个从1数到100并返回和值的函数',max_tokens=200,temperature=0.0,top_p=1.0,presence_penalty=0.0,frequency_penalty=0.0,stop=['//'],
)print(response.choices[0].text)
响应的结果代码:
function sum(n: number): number {let result = 0;for (let i = 1; i <= n; i++) {result += i;}return result;
}
用Python调用OpenAI API做有趣的事相关推荐
- 用Python调用OpenAI API进行文本创作
文章目录 一.前言 二.使用教程 2.1获取API密钥 2.2 连接API 2.3 文本生成 三.创作示例 3.1 诗歌创作 3.2 推荐书单 3.3 超级百度 四.总结 一.前言 本文将教大家用py ...
- Python调用OpenAI API示例
使用pip命令导入OpenAI 库: pip install openai 连接API 前提:你需要要获取到API_key,自行申请. import openai openai.api_key = & ...
- Python调用OpenAI实例大全
GPT 迭代过程概要表: 版本 发布时间 训练方案 参数量 是否开放接口 GPT(GPT-1) 2018 年 6 月 无监督学习 1.17 亿 是 GPT-2 2019 年 2 月 多任务学习 15 ...
- python调用lib_基于python调用libvirt API
基于python调用libvirt API 1.程序代码 #!/usr/bin/python import libvirt import sys def createConnection(): con ...
- python 图表_Python入门学习系列——使用Python调用Web API实现图表统计
使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...
- python调用高德api路径规划_Python调用高德API实现批量地址转经纬度并写入表格的功能...
本段代码是先将需要转换经纬度的地址爬取在 '地址.csv' 文件里,文件截图示例: 代码展示 # coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv ...
- python电脑怎么打开任务管理器_利用Python调用Windows API,实现任务管理器功能
任务管理器具体功能有: 1. 列出系统当前所有进程. 2. 列出隶属于该进程的所有线程. 3. 如果进程有窗口,可以显示和隐藏窗口. 4. 强行结束指定进程. 通过Python调用Windows AP ...
- Python调用WPS API
Python调用WPS API 完整文档 最佳实践 WPS 在对于Office或WPS的操作场景中,最适合的其实是Pywin32的方式,因为这种方式可以直接调度由原厂商开放的API,目前我们的场景中最 ...
- 使用Python调用Flickr API抓取图片数据
Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...
最新文章
- 再见 Python,Hello Julia!
- 为什么一些现有成熟客户不愿意上S/4
- 如何将一个列表当作元组的一个元素
- web测试的平台的开发
- 修改Smartfroms默认文本编辑器
- Unix awk使用手册
- 逻辑门电路的知识点归纳
- 支付结算之路由系统设计
- 计算机组成原理与系统结构本章小结,计算机组成原理本章小结精简版.doc
- http://jingyan.baidu.com/article/2009576193ee38cb0721b416.html
- 第二篇:Dos下运行java程序
- teradata 数据定义
- drupal7 payment module:把支付form元素注入到form中
- win10系统怎么改奇摩输入法_Win10系统如何切换输入法
- Spring中使用aop操作需要用到的aspectjweaver-1.8.7.jar包
- 博弈论总结 四大博弈模型 SG函数
- gyb优化事项(4)
- 忘记mysql的root密码啷个办
- 学习云客户端安装流程
- win10 桌面体验 服务器,windows server 2012 R2 安装桌面体验
热门文章
- MySQL连接查询(内连接,外连接,全连接)
- 第七章:Tensorflow2.0 RNN循环神经网络实现IMDB数据集训练(理论+实践)
- Nsight Compute使用出现does not have permission to profile错误如何解决
- dpkg 删除软件_ubuntu删除软件clean ubuntu彻底卸载软件
- sdut 离散数学11 判断是否为双射
- anltr oracle,Antlr4官方参考手册
- 最新简易商城小程序源码+易优CMS后台内核
- 交互媒体设计作业:Processing射击游戏
- 保存图片到相册及图片变黑问题
- C语言:Unix时间戳-转-UTC时间