ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

jupyterlabのdockerコンテナを作りなおすのを生成AIに手伝ってもらう

使う場面 jupyterlabってのはpythonとかをちょっと試したいときとかに使う。勉強で参照した小さな処理の実行とか、pythonの処理の習作とかを動かすから、ないと困る。 似たようなものでgoogleのcolabとかあるけど、機密情報をそんなところでホイホイ扱うと、業務で必要な加工のためとはいえ勝手に顧客データアップロードすることになってしまう。 色々考えて、pythonをインタプリタっぽく使うときはdocker環境のjupyterlab一択。 バージョンアップ jupyterlabのdockerコンテナにログインして、たまに手動でpipからバージョンアップしてる。 これを久しぶりにdockerイメージから作り直したいから、gemini先生に手伝ってもらおっかな。 3年ぐらい前にjupyter をdocker-composeで使い始めて、ほぼ当時のdockerイメージをそのまま使ってた。 今回はdockerファイルの中でpip系のインストールするモジュールをダラダラ書くんやなくて、requirements.txtを使うようにしたいなぁ。 自分用のdocker compose構成とかあるし、gemini先生に聞いてみて参考にさせてもらおっか。 やりたいこと こんな感じのことやりたい。プロンプト作るときの元にする。 pythonのバージョンをrc版でない最新に上げる(dockerhubで公開されているpythonのバージョン確認したもの使う) 今までdockerファイルに書いてたpip系のインストールをrequirements.txtで指定するように変更する(今回実現したいこと) グラフ描いたときに日本語扱えるようにする(dockerイメージをビルドするときに日本語フォント入れる) 今まで作業で作ったテキストやipynbを維持して使う(使う側には必須ね) docker-composeやなくてdocker compose環境で使って公開ポートを指定して使う(compose.ymlってリクエストしたらやってくれるやろか) なんも知らんフリをして書いてもらう。 大事なのは、自分の環境にフィットさせるのは自分でやらないといけない。 生成AIは大筋8〜9割ぐらいあっているものを提供してくれるけど、だいたい残りの1割ぐらいは自分で書き直して使う必要があるんよね。 「こう書こう」ってモヤっとしたイメージあるけど、gemini先生に補助してもらいましょ。 dockerhubの確認 ビルドするときにはdockerhubの公開モジュールを使う。 jupyterlabのもあるんやけど、種類が多すぎてどれ使うねんって感じ。 https://hub.docker.com/u/jupyter できるだけofficialイメージをベースにしておいて必要なものは追加してビルドするから、pythonをベースイメージにしといてjupyterlabのモジュールをpipで追加して使いましょ。 タグにslimってついてるのが小さめのイメージやから、それをdockerfileのfrom指定で使う。 3.14がそろそろメインになりそうやけど、rcってついてるから今は3.13使うかな。 https://hub.docker.com/_/python gemini先生に問う 具体的に何をどう作るか考えてみる。 1 2 3 4 5 6 docker composeで以下の条件で、jupyterlabをビルドするためのdockerfileとcompose.yml定義を作って ・jupyterlabではなくpython3.13.3-slim-bookwormをベースにしてdockerfileを定義 ・requirements.txtを使ってjupyterlab/matplotlib/scikit-learnを指定 ・pythonで日本語ゴシックフォントを扱う ・公開ポートは21088を使う ・compose.ymlで永続化領域workspaceは./nariDockerDat/sv_jupyter/を指定して pythonのmatplotlibでグラフを描くとき、タイトル・縦軸・横軸・判例とかに日本語使いたい場合があるんやけど、そのときはフォントを入れとかな表示うまいことできん。 あと、ポート番号と永続化領域は他にも動かしてるコンテナあるからちゃんと指定したいから、そういうことも加味して考えてくれたら嬉しいなぁ。 gemini先生の応答 質問してみたらすぐに答えが戻る。 ...

 ⭐️

geminiにマスコットキャラ作成やってもらう

自分の実務では全く使わんけど、geminiでマスコットキャラのアイデア作ってもらう練習してみたのでメモ。 日本語で指示して画像が作れるんかな。 マスコットキャラのアイデア 実際には「コスモちゃん」っていうキャラクターがいるんやけどね。 区役所の職員になったつもりで、こう依頼してみた。 大阪市城東区のマスコットキャラクターの企画書を作成して 自分は技術屋やし企画書なんて作ったことないけど、どんなやりとりしてくれるのか見てみたかったから企画書って言葉を使ってみた。 geminiから補足の質問が来るので、具体的な情報としてキャラクターは猫にすることや、街の特徴とかヒントを与える。 1 2 3 イメージや特徴は「街に運河が流れていて桜が咲くととても美しい」ということと、 ターゲット層は「若者」にアピールしたい。 期待する役割は「地域のPR」であり、モチーフは猫。 こう返ってきた。めっちゃ速い。人が馴染みやすいと感じてくれそうなネーミングで、即座にアイデア出してくれる。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1. 運河の案内猫「かわにゃん」: 特徴:水色の瞳と、運河の流れをイメージした青い模様が入った白い猫。首には桜の花びらをモチーフにした鈴をつけています。 PR方法:城東区の運河沿いの風景や桜の名所を紹介するSNS投稿に登場したり、運河クルーズのイベントで案内役を務めたりする。 アピールポイント:運河と桜という美しい風景を連想させ、穏やかで優しい印象を与える。 2. 桜色の自転車猫「さくらチャリにゃー」: 特徴:薄いピンク色の毛並みで、いつも小さな自転車に乗っている元気いっぱいの猫。耳には風になびく桜の飾りがついています。 PR方法:城東区内のサイクリングコースを紹介するマップに登場したり、レンタサイクル店とコラボレーションしたりする。 アピールポイント:活動的で親しみやすく、城東区の街を巡る楽しさを伝える。 3. 下町レトロ猫「じょうとーにゃん」: 特徴:少し懐かしい雰囲気の、濃いグレーの毛並みの猫。首には昔ながらの商店街のスタンプラリーの景品のような、ちょっとレトロなメダルをつけています。 PR方法:城東区の昔ながらの商店街やレトロな建物を紹介する際に登場したり、地域のイベントで昔遊びを体験する子どもたちと触れ合ったりする。 アピールポイント:下町の温かさや歴史を感じさせ、親しみやすい。 どんなことに使えるかっていうアイデアも提供してくれる。そのまま使わないにしても、ヒントがいっぱい入ってる気がする。 ...

stable diffusion使ってみる

ローカルPCで画像生成ができるらしいのよ。 macとwindowsを去年の秋から今年の春にかけて刷新した理由は、こういうのを使ってみるためでもあるし。 stable diffusionやってみましょ。 ホンマはdockerコンテナのもあるらしいけど、普通にGPU使いたいから物理マシンのmac m4に入れてく。 入れ方 解説してくれてる人がいる。 作者さんありがとう。 【Stable Diffusion Web UI】Forge版をMacにインストールする方法(ローカルPC) | 業界最安級GPUクラウド | GPUSOROBAN soroban.highreso.jp brew使うみたいやから、コマンドラインを考える。 気に入らんかったらすぐにアンインストールできそうや。 解説読んで必要モジュールの確認。 brew install cmake protobuf rust python@3.10 git wget んー、インストール対象はもう自分のmacに入ってるのんもある。 pythonが3.10なのは3.13でもええんとちゃうかって思うけど、pythonにはバージョン上限限定していることあるから真面目にバージョンそろえとこか。 gitはもう使ってるから入れんでもええ。 brewでインストールする箇所 いったんこうやってみよか。 brew install cmake protobuf rust python@3.10 wget やってみたらすんなり入る。 1 2 3 4 5 6 7 8 9 10 11 nari@narimac-mini ~ % brew install cmake protobuf rust wget ==> Downloading https://formulae.brew.sh/api/formula.jws.json ==> Downloading https://formulae.brew.sh/api/cask.jws.json :(中略) ==> Pouring wget--1.25.0.arm64_sequoia.bottle.tar.gz 🍺 /opt/homebrew/Cellar/wget/1.25.0: 92 files, 4.5MB ==> Running `brew cleanup wget`... ==> Caveats ==> cmake :(中略) pythonのバージョン切り替え 今使ってるのをstable diffusion用にバージョン下げる。 ...

 ⭐️

geminiにイラスト作成やってもらう

言葉で指示してイラストとか作れるらしい。 イラスト作れるらしい geminiは英語表記が必要らしいんやけど、その方法も含めて教えてもらいながらやってみる。 何でもええんやけど、 キングギドラ を春っぽくやってみよか。 プロンプトの作り方を教えてもらう まずは書き方を聞いてみる。 プロンプトはこう書いて聞いてみた。 geminiで画像生成するときのサンプルになるプロンプトを10個英語と日本語で併記して 例えばこんなのが戻ってきて、日本語訳の指示と画像が戻る。 続いて日本語の指示とペアで画像もつけてくれて、その後でサンプルになる文章を用意してくれる。 1 2 3 4 5 6 7 8 9 10 11 12 13 画像生成のサンプルになるプロンプトを10個、英語と日本語で併記します。 英語: A futuristic cityscape at sunset. 日本語: 夕暮れの未来都市。 英語: A portrait of a wise old tree. 日本語: 知恵のある老木の肖像。 英語: An astronaut planting a flag on Mars. 日本語: 宇宙飛行士が火星に旗を立てている。 英語: A dragon flying over a mountain range. 日本語: 山脈の上を飛ぶドラゴン。 英語: A cup of coffee with latte art in the shape of a heart. 日本語: ハートの形をしたラテアートが描かれたコーヒーカップ。 英語: A group of penguins wearing sunglasses. 日本語: サングラスをかけたペンギンの群れ。 英語: A robot playing a guitar on a stage. 日本語: ステージでギターを演奏するロボット。 英語: A field of sunflowers under a starry night sky. 日本語: 星空の下のヒマワリ畑。 英語: A close-up of a colorful coral reef. 日本語: カラフルなサンゴ礁のクローズアップ。 英語: A vintage car driving down a winding road. 日本語: 曲がりくねった道を走るヴィンテージカー。 他に画像生成してほしいプロンプトはありますか? なるほど、ほなキングギドラのこと考えてみましょ。 ...

geminiにロゴ作成やってもらう

geminiにロゴ作ってもらったことあるのでメモ。 できた画像 依頼したらいくつか作ってくれた。 手動で加工もしたけど、結果はこうなる。 ロゴに文字足してくれってのはできなかったから、手動で足した。 足すためにはphotoshopやGIMP使えってある。 たぶんstable diffusionとかの画像プラグイン突っ込んで使ったら作れるんやろけど、プロンプトだけでどこまでできるかやりたかっただけやから、ペイントで文字足しといた。 道のり openaiのchatGPTはログインのアカウント作って使い始めたけど、google cloudを普段使ってるからgeminiはchrome起動してリンクをクリックするとすぐ使い始めることができる。 決済情報とか連動させてるから、やっぱりこっち使おっと。 ただし、geminiは今のところ画像生成では英文での指示が必要。 英語のほうがエエの作ってくれるかなぁ。 画像作成の英文を作ってもらう gemini自身にプロンプトのサンプルを作ってもらう。 プロンプトに文章を入れるための指示のやり方をググりながらやってみた。 メモどっかいってしもたから出所のURLわからんけど、作者さんありがとう。 1 2 3 あなたは最高のプロンプト作家です。 Gemini Advancedで、サービスのロゴ、トレードマークを作るための英語のプロンプトを3つ教えてください。 日本語訳もつけてください。 なるほど。 そんな感じで指示するんや。 さらに文脈を続けて英語で3つを順番に指示してみる。 最後に自分でアレンジして作らせたら、欲しい画像ができるはず。 練習その1 1 2 3 4 5 6 7 8 9 プロンプト1:抽象的な概念を視覚化する 英語: Create a minimalist, abstract logo that represents the concept of infinite connection and intelligence. Incorporate elements of a neural network and the cosmos. Aim for a sleek and futuristic aesthetic. 日本語訳: 無限の繋がりと知性という概念を表す、ミニマルで抽象的なロゴを作成してください。 ニューラルネットワークと宇宙の要素を取り入れ、洗練された未来的な美を目指します。 日本語訳を確認しながら英文使うとこんな感じのができた。 ...