用Python调用OpenAI API做有趣的事

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

获取 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.0
  • top_p: 一个可用于代替 temperature 的参数对应机器学习中 nucleus sampling如果设置 0.1 意味着只考虑构成前 10% 概率质量的 tokens
  • frequency_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)

响应的结果文本

会议纪要

  1. 张三报告公司利润增长了50%。
  2. 李四报告新服务器已经上线。
  3. 王五报告需要更多时间来修复BUG李四表示可以提供帮助。
  4. 赵六报告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)

响应的结果文本

  1. 请描述你对Python后台开发的了解。
  2. 你有使用过哪些Python Web框架
  3. 你是如何处理数据库的
  4. 你曾经处理过大型数据集吗
  5. 你有使用过什么样的API
  6. 你有使用过Python中的任务调度模块吗
  7. 你有使用过Python中的日志模块吗
  8. 你有使用过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)

响应的结果文本

  1. 使用AI技术来自动生成测试用例通过分析已有的代码及其行为AI 可以自动生成覆盖所有可能情况的测试用例。
  2. 让 AI 来优化测试套件通过将历史上失败的样例和新出现的样例作为特征数据集AI 可以学习并改进当前的测试套件。
  3. 使用 AI 来预测应用性能通过利用数据采集、日志分析和即时监控来帮助开发人员了解如何优化应用性能。
  4. 通过 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)

响应的结果文本

  1. 中国古代文论的发展史从《诗经》到《文心雕龙》介绍中国古代文论的发展历程。
  2. 中国古代文论的主要思想介绍中国古代文论的主要思想如儒家文论、道家文论、墨家文论、法家文论等。
  3. 中国古代文论的主要著作介绍中国古代文论的主要著作如《论语》、《孟子》、《庄子》、《诗经》、《文心雕龙》等。
  4. 中国古代文论的影响介绍中国古代文论对中国文学、文化、思想等方面的影响。
  5. 中国古代文论的现代研究介绍中国古代文论的现代研究如文论史、文论理论、文论方法等。

创建食谱

输入 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汤匙

做法

  1. 先将木桶饭放入锅中加入适量清水用中火煮沸然后转小火煮5分钟直到饭熟透。
  2. 热锅放入适量油放入香肠炒香加入黑胡椒粉炒出香味。
  3. 加入鸡蛋翻炒均匀直到蛋液完全凝固。
  4. 加入煮好的木桶饭翻炒均匀直到饭粒完全熟透。
  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)

响应的结果文本

  1. 婴儿星空夜灯
  2. 可啃夜灯
  3. 持久夜灯
  4. 迷你夜灯

总结内容

输入 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次握手

  1. 主动关闭方发送FIN表示它不再有数据需要发送。
  2. 被动关闭方收到FIN发送ACK表示它已经收到FIN但它仍然有数据要发送。
  3. 被动关闭方发送FIN表示它也不再有数据需要发送。
  4. 主动关闭方收到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 main

import (
        "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 random

first_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_backend
    userData = db.UserData
    user = userData.find_one({"id": id})
    if user is None:
        return None
    else:
        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) == 3
  assert sum_numbers(1, -1) == 0
  assert sum_numbers(0, 0) == 0
  assert sum_numbers(10, -10) == 0
  assert sum_numbers(10, 10) == 20
  assert sum_numbers(0, 10) == 10
  assert sum_numbers(10, 0) == 10
  assert sum_numbers(10, 10) == 20
  assert sum_numbers(10, -10) == 0
  assert sum_numbers(0, 0) == 0
  assert sum_numbers(1, -1) == 0
  assert sum_numbers(1, 2) == 3
  print("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*b
        print (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 num
    else:
        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+b
            a = b
            b = c
            print(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 1
    elif num ==2:
        return 1
    else:
        return fib(num-1)+fib(num-2)
print(fib(10))

Python翻译成Java

输入 prompt 内容

### 把这个函数从Python翻译成Java
## Python
    def 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列=[CustomerIdFirstNameLastNameCompanyAddressCityStateCountryPostalCodePhoneFaxEmailSupportRepId]
# 创建MySQL查询所有住在深圳的姓张的用户
query = 

完整的调用代码

import openai
openai.api_key = 'xx-xxxxxxxx'

response = openai.Completion.create(
  model='code-davinci-002',
  prompt='# 表customers列=[CustomerIdFirstNameLastNameCompanyAddressCityStateCountryPostalCodePhoneFaxEmailSupportRepId]\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;
}
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python