当前位置:   article > 正文

【AI 大模型】OpenAI 接口调用 ① ( 安装 openai 软件包 | 查看 openai 软件包版本 | PyCharm 中开发 Python 程序调用 OpenAI 接口 )_openai sdk

openai sdk


博客源码下载地址 : https://download.csdn.net/download/han1202012/89478137





一、安装 Python SDK



参考 【开发环境】Windows 中安装 Python 各个版本 ( 下载 Python 各版本 SDK | 安装 Python ) 博客 , 在 Windows 上安装 Python SDK ;

安装了 Python SDK 之后 , 才能 使用 Python 的包管理工具 pip , 通过 pip install 命令 , 可以方便地将各种 Python 包安装到本地的 Python 环境中 ;

安装 Python 包命令如下 :

pip install package_name
  • 1

package_name 就是要安装的 Python 包的名称 ;





二、安装 OpenAI Python SDK




1、安装 openai 软件包


安装 OpenAI 的 Python SDK , 执行

pip install openai
  • 1

命令 , 安装 OpenAI SDK ;

OpenAI Python SDK 安装过程输入结果如下 :

C:\Users\octop>pip install openai
Collecting openai
  Downloading openai-1.35.3-py3-none-any.whl (327 kB)
     |████████████████████████████████| 327 kB 218 kB/s
Collecting sniffio
  Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Collecting anyio<5,>=3.5.0
  Downloading anyio-3.7.1-py3-none-any.whl (80 kB)
     |████████████████████████████████| 80 kB 2.6 MB/s
Collecting cached-property; python_version < "3.8"
  Downloading cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Collecting distro<2,>=1.7.0
  Downloading distro-1.9.0-py3-none-any.whl (20 kB)
Requirement already satisfied: typing-extensions<5,>=4.7 in d:\001_develop\022_python\python37_64\lib\site-packages (from openai) (4.7.1)
Collecting pydantic<3,>=1.9.0
  Downloading pydantic-2.5.3-py3-none-any.whl (381 kB)
     |████████████████████████████████| 381 kB 2.2 MB/s
Collecting httpx<1,>=0.23.0
  Downloading httpx-0.24.1-py3-none-any.whl (75 kB)
     |████████████████████████████████| 75 kB 5.5 MB/s
Collecting tqdm>4
  Downloading tqdm-4.66.4-py3-none-any.whl (78 kB)
     |████████████████████████████████| 78 kB 2.6 MB/s
Collecting exceptiongroup; python_version < "3.11"
  Downloading exceptiongroup-1.2.1-py3-none-any.whl (16 kB)
Collecting idna>=2.8
  Downloading idna-3.7-py3-none-any.whl (66 kB)
     |████████████████████████████████| 66 kB 4.5 MB/s
Collecting pydantic-core==2.14.6
  Downloading pydantic_core-2.14.6-cp37-none-win_amd64.whl (1.9 MB)
     |████████████████████████████████| 1.9 MB 3.3 MB/s
Collecting annotated-types>=0.4.0
  Downloading annotated_types-0.5.0-py3-none-any.whl (11 kB)
Requirement already satisfied: importlib-metadata; python_version == "3.7" in d:\001_develop\022_python\python37_64\lib\site-packages (from pydantic<3,>=1.9.0->openai) (6.7.0)
Collecting certifi
  Downloading certifi-2024.6.2-py3-none-any.whl (164 kB)
     |████████████████████████████████| 164 kB 504 kB/s
Collecting httpcore<0.18.0,>=0.15.0
  Downloading httpcore-0.17.3-py3-none-any.whl (74 kB)
     |████████████████████████████████| 74 kB 5.5 MB/s
Requirement already satisfied: colorama; platform_system == "Windows" in d:\001_develop\022_python\python37_64\lib\site-packages (from tqdm>4->openai) (0.4.4)
Requirement already satisfied: zipp>=0.5 in d:\001_develop\022_python\python37_64\lib\site-packages (from importlib-metadata; python_version == "3.7"->pydantic<3,>=1.9.0->openai) (3.15.0)
Collecting h11<0.15,>=0.13
  Downloading h11-0.14.0-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 2.8 MB/s
Installing collected packages: sniffio, exceptiongroup, idna, anyio, cached-property, distro, pydantic-core, annotated-types, pydantic, certifi, h11, httpcore, httpx, tqdm, openai
Successfully installed annotated-types-0.5.0 anyio-3.7.1 cached-property-1.5.2 certifi-2024.6.2 distro-1.9.0 exceptiongroup-1.2.1 h11-0.14.0 httpcore-0.17.3 httpx-0.24.1 idna-3.7 openai-1.35.3 pydantic-2.5.3 pydantic-core-2.14.6 sniffio-1.3.1 tqdm-4.66.4
WARNING: You are using pip version 20.1.1; however, version 24.0 is available.
You should consider upgrading via the 'd:\001_develop\022_python\python37_64\python.exe -m pip install --upgrade pip' command.

C:\Users\octop>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

开始安装 :
在这里插入图片描述

安装完成 :

在这里插入图片描述


2、查看 openai 软件包版本


执行

pip show openai
  • 1

命令 , 查看安装的 openai 软件包版本 ;

C:\Users\octop>pip show openai
Name: openai
Version: 1.35.3
Summary: The official Python library for the openai API
Home-page: None
Author: None
Author-email: OpenAI <support@openai.com>
License: None
Location: d:\001_develop\022_python\python37_64\lib\site-packages
Requires: pydantic, tqdm, sniffio, cached-property, httpx, anyio, distro, typing-extensions
Required-by:

C:\Users\octop>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述


3、openai 接口参考文档


openai 接口调用参考文档 : https://platform.openai.com/docs/api-reference

在这里插入图片描述





三、PyCharm 中开发 Python 程序调用 OpenAI 接口



博客源码下载地址 : https://download.csdn.net/download/han1202012/89478137


1、PyCharm 创建 Python 项目


进入 PyCharm , 选择 " File / New Project " 选项 ,

在这里插入图片描述

在这里插入图片描述


2、API Key 配置用法


建议直接从某宝买的 OpenAI 的中转 API Key , 会给你一个 API_KEY 和 中转地址 , 有了这两个可以直接替换到代码中使用 ;

# 设置 OPENAI_API_KEY 环境变量
os.environ["OPENAI_API_KEY"] = "sk-6o3KJuuocEXpb1Ug39D0A4913a844fCaBa892eDe9814Df8a"
# 设置 OPENAI_BASE_URL 环境变量
os.environ["OPENAI_BASE_URL"] = "https://api.xiaoai.plus/v1"
  • 1
  • 2
  • 3
  • 4

代码处 , os.environ["OPENAI_API_KEY"] 配置的是 API Key , os.environ["OPENAI_BASE_URL"] 配置的是 OpenAI 接口的中转地址 ;

也可以直接配置到 Windows 系统的 环境变量中 ;


API Key 使用注意事项 :

  • 使用国内的 OpenAI 中转接口 , 直接使用即可 , 不要连 XX , 否则会报错 ;
  • 使用 OpenAI 的直连接口 , 必须挂上XX , 否则也会报错 ;
  • OpenAI 的 直连 API 会不定期清理 , 这个用起来很麻烦 ;

3、GPT3 模型和 GPT4 模型


申请的 API Key 只能访问指定的模型 ,如 3.5 或 4.0 版本 , 申请的 3.5 版本的 API Key 无法使用 4.0 版本的模型 ;

不同的 模型 收费不同 , GPT4 模型 的费用要高于 GPT3 模型 ;


可用的 GPT3 模型 :

  • gpt-3.5-turbo
  • gpt-3.5-turbo-0301
  • gpt-3.5-turbo-0613
  • gpt-3.5-turbo-0125
  • gpt-3.5-turbo-16k
  • gpt-3.5-turbo-1106
  • text-embedding-3-small
  • gpt-3.5-turbo-16k-0613
  • text-embedding-3-large

可用的 GPT4 模型 :

  • gpt-4-1106-preview
  • gpt-4 gpt-4-0613
  • gpt-4-32k-0613
  • gpt-4-vision-preview
  • gpt-4-0125-preview
  • gpt-4-32k-0314
  • dall-e-3
  • gpt-4-32k
  • gpt-4-0314
  • gpt-4o
  • gpt-4-turbo-2024-04-09

上述模型可直接在 创建 OpenAI 对话时配置 , client.chat.completions.create 的第一个参数 , 就是指定一个模型 , 这里指定的是 gpt-3.5-turbo 模型 ;

client.chat.completions.create(
        # 指定模型为"gpt-3.5-turbo"
        model="gpt-3.5-turbo",
  • 1
  • 2
  • 3

4、Python 代码示例


我直接把购买的 API Key 贴出来了 , 希望能多用一会儿 ;


代码示例 :

import os
from openai import OpenAI

# 下面的 API 是从淘宝上买的 OpenAI 国内中转 API
# 使用下面的 API Key 的时候务必断开梯子
# 淘宝上搜索 API Key , 可以搜出一大堆的 中转 或 直联 的 OpenAI 接口

# 设置 OPENAI_API_KEY 环境变量
os.environ["OPENAI_API_KEY"] = "sk-6o3KJuuocEXpb1Ug39D0A4913a844fCaBa892eDe9814Df8a"
# 设置 OPENAI_BASE_URL 环境变量
os.environ["OPENAI_BASE_URL"] = "https://api.xiaoai.plus/v1"


def openai_chat():
    client = OpenAI(
        # 下面两个参数的默认值来自环境变量,可以不加
        api_key=os.environ.get("OPENAI_API_KEY"),
        base_url=os.environ.get("OPENAI_BASE_URL"),
    )
    # 创建一个聊天完成请求
    completion = client.chat.completions.create(
        # 指定模型为"gpt-3.5-turbo"
        model="gpt-3.5-turbo",
        # 定义对话消息列表
        messages=[
            # 系统角色的消息,用于设置对话的起始状态
            {"role": "system", "content": "You are a helpful assistant."},
            # 用户角色的消息,用于指示用户的输入
            {"role": "user", "content": "请写一首七言绝句, 描述夕阳"}
        ]
    )
    print(completion)  # 响应
    print(completion.choices[0].message)  # 回答


if __name__ == '__main__':
    openai_chat()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

执行结果如下 :

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/OpenAI/main.py
ChatCompletion(id='chatcmpl-9dXgRX2Q47HiQoPASfk8xcCVj3C7v', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='夕阳西下映山川,霞光映照满天边。\n金黄色彩映水面,画出美丽夕阳颜。', role='assistant', function_call=None, tool_calls=None))], created=1719211299, model='gpt-35-turbo', object='chat.completion', service_tier=None, system_fingerprint='fp_811936bd4f', usage=CompletionUsage(completion_tokens=47, prompt_tokens=34, total_tokens=81))
ChatCompletionMessage(content='夕阳西下映山川,霞光映照满天边。\n金黄色彩映水面,画出美丽夕阳颜。', role='assistant', function_call=None, tool_calls=None)

Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

与 ChatGPT 输出结果进行对比 :

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/926205
推荐阅读
相关标签
  

闽ICP备14008679号