Open InterpreterをDocker環境に導入する手順について解説します

Open InterpreterをDocker環境に導入したので、その導入方法についてまとめました。本当はローカル環境に構築したかったのですが、Open Interpreterの特性上様々なパッケージをガンガンインストールしていくようなので、一番綺麗に保てそうなDockerを利用することにしました。

Dockerは自宅環境に導入していなかったので、Docker Desktopを使って導入しています。

目次

1. Open Interpreterとは

Open Interpreterは、OpenAIが提供するChatGPT APIを簡単に利用するためのツールです。プログラミングの知識がなくても、ChatGPTを使ったチャットボットを作ることができます。

2. 構築の前提条件

Open InterpreterをDocker環境で構築するには、以下の環境が必要です。

  • Docker: version 20.10.0以上
  • OpenAIのAPIキー(GPT-4を利用する場合)

OpenAIのAPIキーは有料です。無料で使うことはできません。OpenAIのWebサイトからサインアップして、有料プランに登録する必要があります。OpenAIのAPIキーがない場合はCode-Llamaのモデルが選択されるようです。

Dockerのインストール方法

Dockerは、以下の手順でインストールできます。

Docker公式サイトからDocker Desktopをダウンロードします。

ダウンロードしたインストーラを実行し、指示に従ってインストールを進めます。

インストールが完了したら、Docker Desktopを起動します。

3. Dockerfileの作成

以下の内容でDockerfileを作成してください。作成したDockerファイルをどこか適当なフォルダ(例えば/Documents/open-interpreter/docker/等)に配置してください。

FROM ubuntu:latest

# 必要なパッケージのインストール
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    software-properties-common \
    curl \
    python3.10 \
    python3.10-distutils \
    python3.10-venv \
    python3-pip

# python3.10を優先バージョンに設定
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1

# PIPのアップグレード
RUN python3 -m pip install --upgrade pip

# open-interpreterのインストール
RUN pip3 install open-interpreter

# 作業ディレクトリの作成
WORKDIR /app
RUN mkdir scripts

# OPENAI_API_KEYを環境変数に設定する (ビルド時の引数から設定することをおすすめ)
ARG OPENAI_API_KEY
ENV OPENAI_API_KEY=$OPENAI_API_KEY

# open-interpreterの実行
CMD ["openinterpreter"]

4. コンテナイメージのビルド

PowerShell等で以下のコマンドを実行して、DockerFileの置いてあるディレクトリに移動します。

次にdocker buildコマンドでコンテナイメージをビルドします。your_api_keyは、取得したOpenAIのAPIキーに置き換えてください。

ビルド中のターミナル出力は以下のような感じです。

5. コンテナの起動

以下のコマンドを実行して、Open Interpreterのコンテナを起動します。

上記コマンドでDockerコンテナを起動していますが、いくつかオプションをつけています。

  • -v:このオプションにより、ローカルPCのc:\Users\<user-name>\openinterpreter\scripts ディレクトリをコンテナの /home/scripts にマウントしています。マウントすることによりPC/コンテナそれぞれから共通のディレクトリを参照することができます。このとき、ローカルPC側のファイルパスは/host_mnt/c/Users/<user-name>/openinterpreter/scripts のように冒頭に/host_mnt/が付与される形になります。
  • --name:このオプションは作成されるコンテナに名前を付けています。名前を付けないとランダムな名称が付与されてしまい区別がしにくくなるため、できるだけ名前は付けておいた方が良いです。
  • --it: このオプションは2つのオプションを組み合わせたものです。-i (--interactive) はコンテナの標準入力を開いた状態に保ち、-t (--tty) は仮想ターミナル(TTY)を割り当てます。これにより、ユーザーはコンテナ内部で対話的にコマンドを実行することができるようになります。
  • --rm: このオプションは、コンテナが停止した時に自動的にそのコンテナを削除します。これはディスクスペースを節約し、不要なコンテナがシステム上に残らないようにするために便利です。
  • /bin/bash: コンテナ内で実行されるコマンドです。この例では、bashシェルを起動しています。これにより、コンテナが起動した後に対話的なシェルセッションが開始され、ユーザーはコンテナ内でコマンドを実行できるようになります。

コンテナを作成すると、以下のようにDocker Desktop上でも確認することができます。

docker runを実行するとコンテナ内にログインしてコマンドを実行できるようになります。

6. Open Interpreterの使い方

コンテナ内で以下のコマンドを実行すると、Open Interpreterを使ったチャットを開始できます。

Pythonスクリプトの中でOpen InterPreterを使うこともできます。ただし、import interpreterではなく、from interpreter import interpreterを使ってください。

from interpreter import interpreter 

interpreter.chat("Hello!")

import interpreterを使うと、以下のようなエラーが発生します。

7. まとめ

この記事では、Open InterPreterをDocker環境で構築する方法を説明しました。Open InterPreterは、OpenAIのChatGPT APIを簡単に利用するためのツールです。プログラミングの知識がなくても、ChatGPTを使ったチャットボットを作ることができます。ぜひOpen InterPreterをDocker環境で構築して、ChatGPTを活用したチャットボットを作ってみてください。

以下の記事ではOpen Interpreterを実際に動作させて検証しています。合わせてご覧ください。

あわせて読みたい
Open Interpreterの使い方、Docker環境で実際に試しました 話題のOpen Interpreterがどのように動くのか試してみました。ちょうどstable-diffusionで生成した画像上下に余白をつけてサイズ調整したいと考えていたので、Open Inte...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次