0
点赞
收藏
分享

微信扫一扫

【初探人工智能ChatGPT】1、胎心开始跳动

笔者初次接触人工智能领域,文章中错误的地方还望各位大佬指正!

(【初探人工智能ChatGPT】1、胎心开始跳动)

【初探人工智能ChatGPT】1、胎心开始跳动

ChatGPT是OpenAI研发的人机交互程序,是人工智能技术驱动的自然语言处理模型,能够通过学习和理解人类的语言来进行对话。经过长时间的训练,ChatGPT已经成长得比较强大,可以聊天、写文章、写报告、生成图片等,并且通过GitHub上的代码的训练,ChatGPT还能基于特定场景编写代码。

创建虚拟环境

人工智能的首选语言还是Python,这里我们也创建一个Python的虚拟环境,用于开发人工智能相关的代码。首先通过Anaconda安装好Python。然后通过conda命令创建一个虚拟环境,命名为OpenAI,命令如下:

conda create -n OpenAI python=3.9

虚拟环境的创建过程:

(base) wux_labs@wux-labs-vm:~$ conda create -n OpenAI python=3.9
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 22.9.0
  latest version: 23.1.0

Please update conda by running

    $ conda update -n base -c defaults conda

## Package Plan ##

  environment location: /home/wux_labs/anaconda3/envs/OpenAI

  added / updated specs:
    - python=3.9

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    openssl-1.1.1t             |       h7f8727e_0         3.7 MB
    ------------------------------------------------------------
                                           Total:         3.7 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main None
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu None
  ca-certificates    pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0 None
  certifi            pkgs/main/linux-64::certifi-2022.12.7-py39h06a4308_0 None
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 None
  libffi             pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6 None
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 None
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 None
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 None
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 None
  openssl            pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0 None
  pip                pkgs/main/linux-64::pip-22.3.1-py39h06a4308_0 None
  python             pkgs/main/linux-64::python-3.9.16-h7a1cb2a_0 None
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0 None
  setuptools         pkgs/main/linux-64::setuptools-65.6.3-py39h06a4308_0 None
  sqlite             pkgs/main/linux-64::sqlite-3.40.1-h5082296_0 None
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 None
  tzdata             pkgs/main/noarch::tzdata-2022g-h04d1e81_0 None
  wheel              pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0 None
  xz                 pkgs/main/linux-64::xz-5.2.10-h5eee18b_1 None
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 None

Proceed ([y]/n)? y

Downloading and Extracting Packages
openssl-1.1.1t       | 3.7 MB    | ########################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate OpenAI
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Retrieving notices: ...working... done
(base) wux_labs@wux-labs-vm:~$ 

环境创建好以后,激活一下,切换到新的虚拟环境。

conda activate OpenAI

安装openai模块

可以通过openai模块调用API来实现相关的功能,首先就需要安装openai模块。通过pip install命令安装即可。

pip install openai

安装过程为:

Collecting openai
  Downloading openai-0.26.5.tar.gz (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.5/55.5 kB 1.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting requests>=2.20
  Downloading requests-2.28.2-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 4.2 MB/s eta 0:00:00
Collecting aiohttp
  Downloading aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 9.8 MB/s eta 0:00:00
Collecting tqdm
  Downloading tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.5/78.5 kB 10.0 MB/s eta 0:00:00
Requirement already satisfied: certifi>=2017.4.17 in ./anaconda3/envs/PythonBasic/lib/python3.9/site-packages (from requests>=2.20->openai) (2022.12.7)
Collecting idna<4,>=2.5
  Downloading idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 7.5 MB/s eta 0:00:00
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 18.6 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (198 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 198.8/198.8 kB 21.1 MB/s eta 0:00:00
Collecting frozenlist>=1.1.1
  Downloading frozenlist-1.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (158 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.8/158.8 kB 20.4 MB/s eta 0:00:00
Collecting yarl<2.0,>=1.0
  Downloading yarl-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 264.6/264.6 kB 30.7 MB/s eta 0:00:00
Collecting aiosignal>=1.1.2
  Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Collecting async-timeout<5.0,>=4.0.0a3
  Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting attrs>=17.3.0
  Downloading attrs-22.2.0-py3-none-any.whl (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 8.5 MB/s eta 0:00:00
Collecting multidict<7.0,>=4.5
  Downloading multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.2/114.2 kB 15.2 MB/s eta 0:00:00
Building wheels for collected packages: openai
  Building wheel for openai (pyproject.toml) ... done
  Created wheel for openai: filename=openai-0.26.5-py3-none-any.whl size=67596 sha256=08874abb0de60e7439d4dad217b14da9381c774e64067448ac4fb3a2d76ecc24
  Stored in directory: /home/wux_labs/.cache/pip/wheels/8f/72/d6/0a48b79d1e0c8aaade412dca96449f3eef8b0baf5a4a05ffc4
Successfully built openai
Installing collected packages: charset-normalizer, urllib3, tqdm, multidict, idna, frozenlist, attrs, async-timeout, yarl, requests, aiosignal, aiohttp, openai
Successfully installed aiohttp-3.8.4 aiosignal-1.3.1 async-timeout-4.0.2 attrs-22.2.0 charset-normalizer-3.0.1 frozenlist-1.3.3 idna-3.4 multidict-6.0.4 openai-0.26.5 requests-2.28.2 tqdm-4.64.1 urllib3-1.26.14 yarl-1.8.2

模块安装完成后,当前的虚拟环境中就可以看到相关的模块了。

image-20230215165637099

环境体验

编写一段代码,导入openai,设置好secret key,然后就可以调用openai的API了。调用API的好处之一就是可以自己指定参数,设置好接口参数:

  • model,使用的模型
  • prompt,代表您的输入内容
  • temperature,使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。
  • max_tokens,完成时要生成的最大令牌数。
  • frequency_penalty,介于 -2.0 和 2.0 之间的数字。正值会根据新标记到目前为止在文本中的现有频率来惩罚新标记,从而降低模型逐字重复同一行的可能性。
  • presence_penalty,介于 -2.0 和 2.0 之间的数字。正值会根据新标记到目前为止是否出现在文本中来惩罚它们,从而增加模型讨论新主题的可能性。
import openai

openai.api_key = "sk-*****DTau"
 
response = openai.Completion.create(
    model="text-davinci-003", # 最强大的GPT-3模型,This model's maximum context length is 4097 tokens
    prompt="介绍一下机器学习算法",
    temperature=0.8,
    max_tokens=3000,
    top_p=1.0,
    frequency_penalty=0.5,
    presence_penalty=0.0
)

print(response.choices[0].text)

最终得到的答案是:

机器学习算法是一种指导计算机从数据中发现特征和模式的算法。它以特定的方法搜集、分析数据,运用方法自动地学习并在新数据上做出预测。这些方法包含有监督学习(如决策树、逻辑回归和支持向量机)、无监督学习(如聚类分析)、集成学习和强化学习。它们可以用于预测和分析样本数据中可能隐藏的信息,甚至可以帮助我们识别客户行为习惯。

image-20230215171734961

举报

相关推荐

0 条评论