LoginSignup
0
0

OpenAIのAPIをWSLからコールする環境を構築

Last updated at Posted at 2023-08-03

背景

 去年09月から今年06月にかけてお仕事でバタバタと忙しくしていたのですが、お仕事も一段落し余裕が出て来てたので、次の仕事のことも考えて流行りのGPTで何かを始めようとして、この記事に至ってます。
 AIや機械学習などの高度な事は、低スペックな私にはとても出来ないので、まずはOpenAIのAPIを使う事からスタートしてみようという事で、環境を構築してみます。

環境

(1)Windows10 Pro 22H2
(2)WSLで環境構築。インストールしたLinuxは「Ubuntu-22.04」 
(3)社内環境のため、Proxyなど色々設定されている。⇒ 結論としては、特に影響はなかった模様。

手順

  1. WSLの設定(OpenAi用ツールのインストール)
  2. OpenAIのアカウント作成
  3. OpenAIのAPIキー作成
  4. OpenAIにアクセスするサンプルプログラムの実行

1. WSLの設定(OpenAi用ツールのインストール)

私が実際に実施した手順ですので、途中で「エラー!」とか「失敗!」などもそのまま記載していますが、大きな流れは、

(1)Pythonのインストール
(2)pipのインストール
(3)curlのインストール
(4)langchainのインストール
(5)openaiのツールインストール

になります。

wslを起動後、

> sudo apt install python3

成功

> python3 --version

Python 3.10.6

> sudo apt update

少し時間が掛かる。

> sudo apt upgrade

少し時間が掛かる。

> sudo apt python3-pip

漸くインストールできるようになるので、pipをインストール
これまた、少し時間が掛かる。

> pip install langchain

なぜかエラーが発生。

ERROR: Could not find a version that satisfies the requirement langchain (from versions: none)
ERROR: No matching distribution found for langchain

setuptoolsを入れないとダメらしいので、入れてみる。

> python -m pip install --upgrade pip setuptools

まだ、エラーが表示される。

curlでインストールできないか?と思い、curlをインストールする

> sudo apt install curl

成功!

下記URLを参考に実施してみる。
https://www.bioerrorlog.work/entry/install-pip-pip3-ubuntu

> curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"

成功!
再度lanchainをインストールしてみる。

> pip install langchain

まだ、エラーが表示される。

> sudo apt install python3-pip

成功!

下記URLを参考に再チャレンジ
https://tex2e.github.io/blog/python/pip-trusted-host

> pip install langchain --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

langchainのインストールに成功した!!

認証ができていなかったようなので、本当はダメらしいのですが、「--trusted-host」というオプションを付けて、langchainをインストール。

続けてOpenAIのインストール

> pip install openai

エラーになる。

先程学んだ「--trusted-host」を、さっそく使ってみる。

> pip install openai --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

openaiのインストールに成功.PNG
成功!!

★画像に個人名が含まれているので、一部墨消し!!!

2. OpenAIのアカウント作成

OpenAIのサイトにアクセスし、アカウントを作成します。
下記URLの「Sign up」を選択し、メールアドレスなどを登録していきます。

OpenAIのサイト

手順の詳細については、下記URLを参考に進めてください。
OpenAIのアカウント作成手順

3. OpenAIのAPIキー作成

OpenAIのアカウントが作成できたら、そこにアクセスするためのAPIキーを作成します。
手順の詳細については、 下記URLを参考に進めてください。

OpenAIのapiキー作成

4. OpenAIにアクセスするサンプルプログラムの実行

(1) .envファイルの作成
.envファイルを作成し、その中にAPIキーを記載し、WSLの/home/{USER}の直下に格納する。

export OPENAI_API_KEY="sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
image.png

(2) サンプルプログラムを作成

Pythonサンプル
# LLM ラッパーをインポート
import os

from os.path import join, dirname
from langchain.llms import OpenAI
from dotenv import load_dotenv

os.environ['REQUESTS_CA_BUNDLE'] = "./Zscaler Root CA.crt"
load_dotenv(join(dirname('__file__'), '.env'))

# LLM ラッパーを初期化
llm = OpenAI(temperature=0.7,max_tokens=100,best_of=1,echo=True)

# LLM に渡す入力テキスト
# text = "カラフルな靴下を作る会社の社名として、何かいいものはないですか?日本語の社名でお願いします。"
# LLM に渡す入力テキスト
#text = "Panasonic System Designという会社の特徴を教えてください。日本語でお願いします。"
text = "憂鬱な朝、スッキリと目覚め指せる為に必要なものは?簡単な単語10個で返答してください"

# LLM から予測を受け取って表示
prediction = llm(text)
#print(prediction.strip())
print(prediction)

サンプルプログラムをWSLの"/home/{user}"の直下にコピーし実行する。
image.png
image.png
"SSLError"が発生。

どうも証明書が無いためエラーが発生している模様。

”langchain ssl certificate_verify_failed"でWEB検索すると、下記URLが見つかったため、記載に従って対応する。簡単に言うと、OpenAIのURL(https://api.openai.com/v1/engines) にアクセスして、認証局の証明書をダウンロードし、証明書を実行するサンプルPGファイルと同じ場所に置きましょう…という事だそうです。

ちなみに、URL(https://api.openai.com/v1/engines) にアクセスするとパスワードなどを聞かれるかと思います。私の経験では、こちらのURL(https://platform.openai.com/account/api-keys) で証明書をダウンロードしても問題無さそうです。証明書の取得方法は、又別途記載予定。

証明書認証エラーについて

証明書を格納した図⇩
image.png

再度サンプルPGを実行すると、Warningが出ていますが、OpenAIからの返答が取得できました。
image.png

OpenAIのAPIを呼び出す人がどれくらい存在するか不明ですが、どなたかの役に立てば幸いです。

参考URL

大変参考にさせて頂きました

(1) OpenAIのアカウント作成手順
(2) OpenAIのapiキー作成

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0