Jupyter AIが出た!試した!!すごい!!!の続編です。
前回はOpenAI APIを使ってチャットなどを試しましたが、Jupyter AIはOpenAI 以外にも様々なAPIに対応しています。
今回はHuggingFace Hubを使ってみます。
環境構築
HuggingFace Hubの機能を使うにはhuggingface_hub
、ipywidgets
、pillow
をインストールする必要があります。コンテナで用意します。
Dockerfile
FROM jupyter/minimal-notebook:lab-3.6.3
RUN pip install --no-cache-dir \
jupyter_ai \
huggingface_hub \
ipywidgets \
pillow
コンテナイメージをビルドします。
shell
docker build -t jupyter-ai .
起動します。
shell
HUGGINGFACEHUB_API_TOKEN=<...>
docker run -it --rm \
-p 8888:8888 \
-e "HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN}" \
jupyter-ai
ターミナルに表示されるURLにアクセスします。
これで準備完了です。
使ってみる。
HuggingFace Hubの機能でできるのは%%ai
のマジックコマンドです。
まず拡張機能をロードします。
notebook
%load_ext jupyter_ai_magics
Stable Diffusionで画像生成
notebook
%%ai huggingface_hub:stabilityai/stable-diffusion-2-1 --format image
It's an astronaut with a boombox
これだけで、画像が生成されます! しかもすごいレスポンスです。
waifu-diffusionで画像生成
Stable Diffustion以外もモデルも使用できます。
notebook
%%ai huggingface_hub:hakurei/waifu-diffusion --format image
masterpiece, best quality, 1girl, green hair, sweater, looking at viewer, upper body, beanie, outdoors, watercolor, night, turtleneck
すごい!
GPT-2
notebook
%%ai huggingface_hub:gpt2
What is the capital of New York state?
If the source code is available for Windows, Mac and Linux platforms, then a local copy is available. The source code can be found on GitHub
期待したような回答ではありませんね。。
rinna/japanese-gpt2-xsmall
モデル側が対応していれば日本語も行けそうです。
notebook
%%ai huggingface_hub:rinna/japanese-gpt2-xsmall
生命、宇宙、そして万物についての究極の疑問の答えは
(C) という、非連続世界的真理に対する答えがあります
出力をインプットにすることもできるので、レスポンスをインプットにして再度問い合わせる事もできます。
notebook
%%ai huggingface_hub:rinna/japanese-gpt2-xsmall
{Out[30]}
Connection.display.lugin
エラーになっちゃいますね。。