メインコンテンツまでスキップ

Jupyter AIでHuggingFace Hubを使うと、これまたすごい!

· 約3分
moritalous

Jupyter AIが出た!試した!!すごい!!!の続編です。

Jupyter AIが出た!試した!!すごい!!!
https://qiita.com/moritalous/items/a270d5932ebee18d0ba8

前回はOpenAI APIを使ってチャットなどを試しましたが、Jupyter AIはOpenAI 以外にも様々なAPIに対応しています。

今回はHuggingFace Hubを使ってみます。

環境構築

HuggingFace Hubの機能を使うにはhuggingface_hubipywidgetspillowをインストールする必要があります。コンテナで用意します。

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にアクセスします。

image.png

これで準備完了です。

使ってみる。

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

これだけで、画像が生成されます! しかもすごいレスポンスです。

image.png

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

image.png

すごい!

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

期待したような回答ではありませんね。。

image.png

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

エラーになっちゃいますね。。