首页IT科技python api接口调用(10分钟学会python对接【OpenAI API篇】)

python api接口调用(10分钟学会python对接【OpenAI API篇】)

时间2025-05-04 05:44:02分类IT科技浏览3821
导读:今天学习 OpenAI API,你将能够访问 OpenAI 的强大模型,例如用于自然语言的 GPT-3、用于将自然语言翻译为代码的 Codex 以及用于创建和编辑原始图像的 DALL-E。...

今天学习 OpenAI API            ,你将能够访问 OpenAI 的强大模型                  ,例如用于自然语言的 GPT-3            、用于将自然语言翻译为代码的 Codex 以及用于创建和编辑原始图像的 DALL-E            。

首先获取生成 API 密钥

在我们开始使用 OpenAI API 之前     ,我们需要登录我们的 OpenAI 帐户并生成我们的API 密钥                  。

注意         ,OpenAI 不会在生成 API 密钥后再次显示它                  ,因此请及时复制你的 API 密钥并保存     。我将创建一个名为 OPENAI_API_KEY 的环境变量        ,它将包含我的 API 密钥并将在下一节中使用         。

使用 Python接入 OpenAI API

要与 OpenAI API 交互      ,我们需要通过运行以下命令来安装官方OpenAI包                  。

pip install openai

1.文本生成

文本生成可用于文字鉴别                  、文本生成     、自动对话         、转换                  、摘要等        。要使用它                  ,我们必须使用completion endpoint并为模型提供触发指令           ,然后模型将生成匹配上下文/模式的文本      。

假设我们要对以下文本进行鉴别   ,我们向AI输入指令(中英文都可以):

判断以下Mike的发言情绪是正面        、中立还是负面: Mike:我不喜欢做作业! Sentiment: import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") prompt = """ Decide whether a Mikes sentiment is positive, neutral, or negative. Mike: I dont like homework! Sentiment: """ response = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=100, temperature=0 ) print(response)

根据 OpenAI 文档                  ,GPT-3 模型是与文本生成的endpoint一起使用                  。 这就是我们在此示例中使用模型 text-davinci-003 的原因           。

以下是返回值的部分打印:

{ "choices": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "text": "Negative" } ], ... }

在此示例中              ,推文的情绪被归类为负面Negative   。

让我们看一下这个例子中使用的参数:

model :要使用的模型的 ID(在这里你可以看到所有可用的模型)

Prompt:生成结果的触发指令

max_token:完成时生成的最大token数量(这里可以看到OpenAI使用的tokenizer)

temperature:要使用的采样策略                  。 接近 1 的值会给模型带来更多风险/创造力,而接近 0 的值会生成明确定义的答案              。

2. 代码生成

代码生成与文本生成类似               ,但这里我们使用 Codex 模型来理解和生成代码。

Codex 模型系列是经过自然语言和数十亿行代码训练的 GPT-3 系列的后代               。 借助 Codex                 ,我们可以将注释转化为代码      、重写代码以提高效率等等                 。

让我们使用模型 code-davinci-002 和下面的触发指令生成 Python 代码  。

import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") response = openai.Completion.create( model="code-davinci-002", prompt="\"\"\"\nCreate an array of weather temperatures for Shanghai\n\"\"\"", temperature=0, max_tokens=256, top_p=1, frequency_penalty=0, presence_penalty=0 ) print(response)

以下是返回值的部分打印:

{ "choices": [ { "finish_reason": "stop", "index": 0, "logprobs": null, "text": "\n\nimport numpy as np\n\ndef create_temperatures(n):\n \"\"\"\n Create an array of weather temperatures for Shanghai\n \"\"\"\n temperatures = np.random.uniform(low=14.0, high=20.0, size=n)\n return temperatures" } ], ... } }

把text部分重新显示格式化一下  ,你就会看到规整的代码生成了:

import numpy as np def create_temperatures(n): temperatures = np.random.uniform(low=14.0, high=20.0, size=n) return temperatures

3. 图像生成

我们可以使用 DALL-E 模型生成图像            ,我们使用图像生成endpoint并提供文本指令            。

以下是我的测试指令(我们在指令中提供的细节越多                  ,我们就越有可能获得我们想要的结果)                  。

例如: 一只毛茸茸的蓝眼睛白猫坐在花篮里     ,可爱地抬头看着镜头

import openai response = openai.Image.create( prompt="A fluffy white cat with blue eyes sitting in a basket of flowers, looking up adorably at the camera", n=1, size="1024x1024" ) image_url = response[data][0][url] print(image_url)

即可生成图片     。

当然更有趣的是         ,还可以使用images编辑图像并生成原图像的调整         。

详细请查看官方文档:openAI官方文档

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
chatgpt是什么意思(chatGPT身份指令) 路径规划算法总结(路径规划 | 图解D* Lite算法(附ROS C++/Python/Matlab仿真))