Python调用ChatGPT API接口的用法详解
作者:陶老师运维笔记 发布时间:2022-10-11 23:29:25
标签:Python,ChatGPT,API,接口
Python 调用ChatGPT API 接口介绍
ChatGPT 介绍
https://platform.openai.com/examples
https://platform.openai.com/docs/api-reference
ChatGPT可以实现chat,生成图片,识别关键,改错等等功能,本文简单介绍如何使用python调用ChatGPT API 接口。
1. 生成API Key
从openai官网网址:https://platform.openai.com/account/api-keys,生成我们的API key:
获得key后我们就可以调用API接口了。
2. 安装openai
使用pip安装openai库,命令: pip install openai。
安装openai库: pip install openai
3. python代码调用API
3.1 主要步骤
# 调用openai api的步骤
# 1. 安装openai库 pip install openai
# 2. 设置openai的api_key
# 3. 调用openai的api
# 4. 参考文档
# https://platform.openai.com/docs/api-reference/completions/create
# https://platform.openai.com/docs/api-reference/authentication
# https://platform.openai.com/docs/api-reference/completions/create
# https://platform.openai.com/docs/libraries/community-libraries
3.2 代码示例
API可以实现chat,生成图片,识别关键,改错等等功能。 下面是主要示例代码。 注意:openai.api_key = "sk-xxxFQ" #要更换成自已的API KEY
#!/usr/local/bin/python3.8
# -*- coding: utf8 -*-
# 调用openai api的步骤
# 1. 安装openai库 pip install openai
# 2. 设置openai的api_key
# 3. 调用openai的api
# 4. 参考文档
# https://platform.openai.com/docs/api-reference/completions/create
# https://platform.openai.com/docs/api-reference/authentication
# https://platform.openai.com/docs/api-reference/completions/create
# https://platform.openai.com/docs/libraries/community-libraries
import os
import openai
import json
# 1. 准备好请求的url
#openai.organization = "YOUR_ORG_ID" #
#openai.api_key = os.getenv("OPENAI_API_KEY")
openai.api_key = "sk-xxxFQ" #要更换成自已的API KEY
# 查看可以使用的模型列表
def get_model_list():
models= openai.Model.list()
print(models)
# 生成文本示例
def generate_text(prompt):
completions = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
message = completions.choices[0].text
return message.strip()
# 调用openai 画图示例
def generate_image(prompt):
response = openai.Image.create(
prompt = prompt,
n=1,
size="512x512"
)
image_url = response['data'][0]['url']
return image_url
# 调用openai 问答示例
def chat(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content":prompt}
]
)
answer = response.choices[0].message.content
return answer
# 调用openai 改正错词输出正确句子
def correct():
prompt="改正错词输出正确句子:\n\n我在京东电商平台买了苹果耳几和华为体脂称" #建议prompt: 改正错词输出正确句子:\n\n input_sentence
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content":prompt}
]
)
answer = response.choices[0].message.content
return answer
# 调用openai 识别关键词
def keyword():
prompt="对下面内容识别2个关键词,每个词字数不超过3个字:\n\n齐选汽车挂件车内挂饰车载后视镜吊坠高档实心黄铜玉石出入平安保男女 红流苏-玉髓平安扣" #建议prompt: 对下面内容识别n个关键词,每个词字数不超过m个字:\n\n input data
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content":prompt}
]
)
answer = response.choices[0].message.content
return answer
# 抽取文本向量 (Embedding)
def embedding():
content = '苹果手机'
response = openai.Embedding.create(
model="text-embedding-ada-002",
input=content
)
answer = response.data[0].embedding
return answer
def api_test():
# 测试chat
# prompt = "人口最多的国家?"
# response = chat(prompt)
# print(response)
#
# 测试generate_text
# prompt = "Hello, how are you today?"
# response = generate_text(prompt)
# print(response)
# 测试generate_image
#prompt = "a delicious dessert"
#response = generate_image(prompt)
#print(response)
# 测试correct
# response = correct()
# print(response) #输出结果: 我在京东电商平台买了苹果耳机和华为体脂秤。
# 测试keyword
#response = keyword()
#print(response) #输出结果: 挂件、平安扣
# 测试embedding
result = embedding()
print(len(result))
print(result)
if __name__ == '__main__':
api_test()
4. flask实现chat效果的示例
https://github.com/openai/openai-quickstart-python
下载git代码:
git clone https://github.com/openai/openai-quickstart-python.git
cd openai-quickstart-python
cp .env.example .env
python -m venv venv
. venv/bin/activate
pip install -r requirements.txt
flask run
运行效果:
来源:https://juejin.cn/post/7235965783632969788
0
投稿
猜你喜欢
- .asa是文件后缀名,它是Active Server Application的首字母缩写。Global.asa文件可以管理在ASP应用中两个
- 前言其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要
- 今天在设置input的readonly属性遇到问题,上网查到下面的内容,作个标记。今天系统需要使用javascript 动态设置textbo
- 通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为https://github.com/Geospatial
- 本文实例讲述了Python实现基本数据结构中栈的操作。分享给大家供大家参考,具体如下:#! /usr/bin/env python#codi
- 首先,在models.py中创建UserModels类from django.db import modelsfrom django.con
- CSS Sprites技术早在2005年 CSS Zengarden 的园主 Dave Shea就在ALA发表对该技术的详细阐述。原先只在C
- python版本:3.8class object: """ The most base type "
- 在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip()
- 上节我们介绍了表连接,更确切的说是inner joins內连接. 內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包
- 当where子句对某一列使用函数时,除非利用这个简单的技术强制索引,否则Oracle优化器不能在查询中使用索引。通常情况下,如果在WHERE
- 学生成绩管理系统简介一个带有登录界面具有增减改查功能的学生成绩管理系统(面向对象思想,利用tkinter库进行制作,利用.txt文件进行存储
- 如下所示:result = os.popen('ps aux') res = result.read()
- 静态页面是蜘蛛喜欢的,会得到蜘蛛经常光顾的,以至于网站上的内容会得到搜索引擎更多的收录。这里介绍一个asp伪静态的程序实现方法数据库是acc
- 应该是开心网(kaixin.com)的宠物功能又升级了,这几次发来的邮件内容不仅不能让我开心,反而让我觉得很恶心。开心网注册也一段时间了,之
- 目录0. 前言1. ipaddress模块介绍1.1 IP主机地址1.2 定义网络1.3 主机接口1.4 检查address/network
- 不论是做WEB设计还是做交互模型,最快确立创意与设计效果的最好办法就是用笔在纸上绘制出来。不过从事IT行业的人很少一部分是来自美术学院。当然
- 首先说登陆在config.inc.php文件中,有一个选项需要设置查找:$cfg['Servers'][$i]['a
- 一、类和对象Python属于动态类型的语言,而动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时创建的,而是运行时动态创建的,比方
- 线性回归在整个财务中广泛应用于众多应用程序中。在之前的教程中,我们使用普通最小二乘法(OLS)计算了公司的beta与相对索引的比较。现在,我