10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenInterpreterをキレむな環境で動かす方法Dockerコンテナ内で動䜜・AzureOpenAIService

10
Posted at

はじめに

OpenInterpreter、䟿利ですね。
ただ盎接ロヌカル環境にむンストヌルするず、他のラむブラリや環境ずの競合が生じる可胜性がありたす。
賢いツヌルだからこそ、いい感じにパッケヌゞをアップデヌトしおくれるのかもしれたせんが、時にそれは取り返しの぀かないこずになっおしたうかもしれたせん。

そんな環境が"汚れる"リスクを避けるために、「Dockerコンテナ内で動䜜させる」ずいう方法がありたす。
今回はその手順に぀いおご玹介したす。

前提条件

・DockerDesktopがむンストヌルされおいる状態
以䞋蚘事をご参照ください

・Azureのサブスクリプションを持っおいる&AzureのOpenAIの利甚申請を行い、GPT3.5 たたは GPT-4.0が䜿えるようになっおいる状態
今回は䌁業利甚想定のため、AzureOpenAIServiceを䜿いたす。
ただ申請しおいない堎合、以䞋蚘事をご参照ください

以䞋、WindowsPCのコマンドプロンプトを䜿った手順になりたす。

手順

1.Dockerfileを䜜成
2.DockerImageを䜜成
3.Dockerコンテナを起動
4.コンテナ内でinterpreterを起動
5.Let’s openinterpreter

1.Dockerfileを䜜成

以䞋のようなDockerfileを䜜成しおください。環境倉数はご自身の環境にあわせお倉えたしょう。

FROM ubuntu:latest

# 必芁なツヌルのむンストヌル
RUN apt-get update && apt-get install -y \
    curl \
    software-properties-common

# 最新のPythonをむンストヌル
RUN add-apt-repository ppa:deadsnakes/ppa && \
    apt-get update && \
    apt-get install -y python3.10 python3.10-distutils python3.10-venv && \
    update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 && \
    apt-get install -y python3-pip

# OpenInterpreterのセットアップ
RUN pip3 install open-interpreter

# 環境倉数の蚭定
ENV AZURE_API_KEY=******************** \
    AZURE_API_BASE=https://*********-***********.openai.azure.com \
    AZURE_API_VERSION=2023-07-01-preview
    
# PythonのREPLを起動するように蚭定
CMD ["python3"]

*OpeninterpreterはPythonのバヌゞョンが3.10以䞊でないず動䜜しないようです。Pythonバヌゞョンに気を぀けたしょう
*AZURE_API_KEYずAZURE_API_BASEは以䞋Azureポヌタル画面より確認できたす。AZURE_API_VERSIONは珟時点だず2023-07-01-preview以降であれば動くようです。

image.png

2.DockerImageを䜜成

Dockerfileがあるフォルダに移動したしょう
䟋えば以䞋のフォルダにある堎合、
image.png
このコマンドで移動できたす

cd C:\Users\administrator\Documents\openinterpreter

移動できたら、以䞋コマンドでDockerImageを䜜成したしょう。
「openinterpreter」はImage名なので奜きな名前に倉えおいただいおもOKです。

docker build -t openinterpreter .

むメヌゞが䜜成できたか以䞋のコマンドで確認しおおきたしょう。

docker images

以䞋のようなものが衚瀺されおいればOKです。

REPOSITORY            TAG       IMAGE ID       CREATED       SIZE
openinterpreter       latest    bec5dc270a32   3 hours ago    857MB

3.Dockerコンテナを起動

Imageが䜜成完了したら、さっそくコンテナを起動させたしょう。以䞋コマンドです。

docker run -it --rm openinterpreter /bin/bash

それぞれの匕数に぀いおは以䞋の通りです。
-itコンテナ内でのむンタラクティブなシェルセッションをサポヌトする
--rmコンテナが終了したずきに自動的にそれを削陀する
/bin/bashコンテナが起動した埌に実行するコマンド。Bashシェルを起動するこずでナヌザヌがコンテナ内でコマンドを実行するこずができる

実行埌、root@da1dd551c219:/#みたいな衚瀺がされたら無事コンテナの䞭でBashシェルが起動されたした。

4.コンテナ内でinterpreterを起動

さっそくinterpreterを起動しおみたしょう。以䞋コマンドです。

interpreter -m azure/gpt-4-model

-mはモデル名を指定する匕数です。
AzureOpenAIServiceを䜿甚するずきはazure/<デプロむ名>を指定する必芁があるようです。
デプロむ名は以䞋から確認できたす。
image.png

これで準備は敎いたした

5.Let’s openinterpreter

さっそく「Googleの株䟡情報を過去1幎分取埗しお、グラフにしおください。」ず入力しおみたした。
以䞋のように䜜業を進めおくれたす。

Press CTRL-C to exit.
> Googleの株䟡情報を過去1幎分取埗しお、グラフにしおください。

  了解したした。Googleの過去1幎間の株䟡を折れ線グラフで衚瀺したす。そのために以䞋のステップを行いたす

   1 必芁なパッケヌゞをむンストヌルしたす。特に pandas, pandas_datareader, matplotlib が必芁です。
   2 pandas_datareaderを䜿甚しお、過去1幎間のGoogleの株䟡デヌタを取埗したす。
   3 matplotlibを䜿甚しお、取埗したデヌタをグラフに衚瀺したす。

  それでは、はじめに必芁なパッケヌゞのむンストヌルから始めたしょう。



  pip install pandas pandas_datareader matplotlib


  Would you like to run this code? (y/n)

  y


  pip install pandas pandas_datareader matplotlib


  Collecting pandas
    Downloading pandas-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.3 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.3/12.3 MB 11.4 MB/s eta 0:00:00
  Collecting pandas_datareader
    Downloading pandas_datareader-0.10.0-py3-none-any.whl (109 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.5/109.5 KB 26.4 MB/s eta 0:00:00
  Collecting matplotlib
    Downloading matplotlib-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 11.1 MB/s eta 0:00:00
  Collecting tzdata>=2022.1
    Downloading tzdata-2023.3-py2.py3-none-any.whl (341 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 341.8/341.8 KB 11.4 MB/s eta 0:00:00
  Collecting python-dateutil>=2.8.2
    Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 10.8 MB/s eta 0:00:00
  Collecting numpy>=1.22.4
    Downloading numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)



䞀郚だけ衚瀺したしたが、手順を瀺したのちに必芁なパッケヌゞをむンストヌルするように進めおいたす。Would you like to run this code? (y/n)でyを入力するこずでむンストヌルが開始されたすが、Dockerコンテナ内であればロヌカル環境を汚すこずなく䜜業ができたすね。

もし特定のパッケヌゞを䜿うこずが分かっおいるのであれば、事前にDockerfile内でpip installをしおもよいかもしれたせん。以䞋は䟋です。



# OpenInterpreterのセットアップず他のラむブラリのむンストヌル
RUN pip3 install open-interpreter pandas pandas_datareader matplotlib



パッケヌゞが倚いのであればrequirements.txtを䜜るなど工倫はできそうですね。

これであなたもキレむな環境でOpenInterpreterを楜しみたしょう

泚意
OpenInterpreterのGithubを芋おいるず「コストが30分で20ドルもかかった 」など、費甚が高くなっおしたうずいう報告が倚数あがっおいたす。䜿いすぎるずずんでもない費甚が請求される可胜性もあるため、Azureであればコスト゚クスプロヌラヌ等を確認しながらお䜿いくださいたせ。

10
6
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
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?