〖ChatGPT实践指南 – 零基础扫盲篇⑦〗- 基于 Python 实现的 OpenAI-Library 的简单使用


文章目录

  • ⭐ python 安装 OpenAI library
  • ⭐ 创建 openai.py 进行测试
  • ⭐ openai.Completion.create() 方法的小拓展
  • 该章节我们呢来学习一下 OpenAI-Library 的使用,OpenAI-Library 是 OpenAI 官方给我们提供的各种开发语言的库,供我们使用。在前面的章节中,我们演示的 “Demo-宠物名字生成器” 这个案例就是 nodejs 来调用的OpenAI 的 API。接下来,我们再看一下 Python 语言的 Library。


    ⭐ python 安装 OpenAI library

    如果电脑里没有 Python环境,需要去官网下载安装 Python,网址:https://www.python.org/ ,具体可参考 〖Python零基础入门篇①〗- Python编程环境搭建-Python3解释器安装。

    Python 安装完成之后,记得验证一下 Python 和 pip 是否安装成功。

    使用 pip 安装 openai library:执行命令 pip install openai


    ⭐ 创建 openai.py 进行测试

    接下来我们创建一个 Python 文件,编写测试代码,用于测试 openai。

    代码示例如下:

    #!/usr/bin/python3
    # coding:utf-8            
    #
    # Copyright (C) 2023 - 2023 Husky, Inc. All Rights Reserved 
    
    
    import openai       # 导入 openai
    
    
    OpenAI_Key = "sk-m2EP13QY26zdaPyXlN4RT3BlbkFJfGxp5G6fg23e7f6xF**k"      # 将 OpenAI API_Key 赋值给变量
    
    openai.api_key = OpenAI_Key
    
    response = openai.Completion.create(  # 调用 openai.Completion.create() 函数,传入相关的参数,创建一个 OpenAI Completion 实例。
        model="text-davinci-003",         # 调用 "text-davinci-003" 模型
        prompt="Say this is a test",      # 传入提示为 "Say this is a test"
        temperature=0,                    # 控制生成文本的多样性,值越高生成的文本越多样,默认值为 0.5。
        max_tokens=7                      # 生成文本的最大长度,以 token 数量为单位,默认值为 60。
    )
    
    print(response)     # 输出生成的文本
    

    运行该脚本,查看 OpenAI 给我们返回的结果:

    {
      "choices": [
        {
          "finish_reason": "length",
          "index": 0,
          "logprobs": null,
          "text": "\n\nThis is indeed a test"
        }
      ],
      "created": 1682588117,
      "id": "cmpl-79sJxEVuBv4Weh4YQboxDQYXnTImw",
      "model": "text-davinci-003",
      "object": "text_completion",
      "usage": {
        "completion_tokens": 7,
        "prompt_tokens": 5,
        "total_tokens": 12
      }
    }
    

    在返回的 “choices” 中最重要的就是 “text” ,因为这个字段返回的是我们想要的返回结果。

    上面的 "choices" 我们可以看到返回的是 "\n\nThis is indeed a test" ,因为我们设置的 max_tokens=7 ,也就说最大的返回 tokens 长度为 7,"This is indeed a test" 的长度是 5 ,所以这里有两个 "\n" 进行补位。

    “usage” 是对我们使用用量的一个统计:“completion_tokens” – 完成的tokens长度是7;“prompt_tokens” – 提示的tokens长度是5;“total_tokens” – 总计的tokens长度是12。

    以上就是基于 Python 实现的一个 OpenAI library 的简单实例。


    ⭐ openai.Completion.create() 方法的小拓展

    openai.Completion.create() 方法用于生成对话文本、语言翻译、摘要、问题回答等自然语言处理任务的结果。

    它的参数包括:这些参数可以根据具体任务的需求进行调整。

  • engine:指定要使用的模型引擎,例如 davincicurie 等。
  • prompt:包含输入文本的字符串,用于指定任务的输入。
  • temperature:控制生成文本的多样性,值越高生成的文本越多样,值越低生成的文本越保守,默认值为 0.5
  • max_tokens:生成文本的最大长度,以 token 数量为单位,默认值为 60
  • top_p:控制生成文本的多样性,通过筛选概率大于给定阈值的 token 来控制,值越高生成的文本越多样,值越低生成的文本越保守,默认值为 1.0
  • frequency_penalty:控制生成文本中重复 token 的惩罚程度,值越高表示越不允许生成重复 token,默认值为 0.0
  • presence_penalty:控制生成文本中与输入文本相似的 token 的惩罚程度,值越高表示越不允许生成与输入文本相似的 token,默认值为 0.0
  • stop:指定生成文本的终止字符,可以是字符串或字符串列表,生成文本中出现这些字符时停止生成。
  • n:指定要生成的文本数量,默认值为 1
  • stream:是否启用流式 API,默认为 False

  • 物联沃分享整理
    物联沃-IOTWORD物联网 » 〖ChatGPT实践指南 – 零基础扫盲篇⑦〗- 基于 Python 实现的 OpenAI-Library 的简单使用

    发表评论