2024年10月15日火曜日

Kubernetesでポッド内のコンテナ名とイメージ名を一覧表示する

Kubernetesでポッド内のコンテナ名とイメージ名を一覧表示するには、以下のコマンドを実行します
1.ポッド一覧を取得
kubectl get pods

2.コンテナ名とイメージ名を一覧表示
kubectl get pod ※1で取得したポッド名 -o jsonpath='{range .spec.containers[*]}{.name}{":"}{.image}{"\n"}{end}'

2024年8月29日木曜日

Ubuntu24.04にLangFlowをインストールする

Ubuntu24.04でpipenvを使用してLangFlowをインストールするには、以下の手順を実行します。

1.pipenvのインストール
sudo apt-get -y install python3-pip python3-dev python3-testresources pipenv 

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.profile

source ~/.profile

2. LangFlowをインストール
mkdir ~/langflow

cd ~/langflow

pipenv install langflow

3. LangFlowをサービスとして登録
※ユーザ名・パスは適宜変更してください。
cat << EOF | sudo tee /etc/systemd/system/langflow.service
[Unit]
Description=LangFlow
[Service]
Type=simple
ExecStart=/home/ubuntu/langflow/.venv/bin/langflow run --host 0.0.0.0
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/langflow
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable langflow

sudo systemctl start langflow

4. ブラウザでLangFlowにアクセスします。

http://ホスト名またはIPアドレス:7860

2024年7月7日日曜日

Ubuntu24.04にllama.cppをインストールしてLlama-3-ELYZA-JP-8B-q4_k_m.ggufモデルで対話を行う

Llama.cppをインストールして、Llama-3-ELYZA-JP-8B-q4_k_m.ggufモデルでい対話するには以下のコマンドを実行します。
wget https://github.com/ggerganov/llama.cpp/releases/download/b3328/llama-b3328-bin-ubuntu-x64.zip

unzip ./llama-b3328-bin-ubuntu-x64.zip

cd ./build/bin

wget https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B-GGUF/resolve/main/Llama-3-ELYZA-JP-8B-q4_k_m.gguf?download=true -O Llama-3-ELYZA-JP-8B-q4_k_m.gguf

./llama-cli -m Llama-3-ELYZA-JP-8B-q4_k_m.gguf -p "あなたは優秀なアシスタントです" -cnv
この後は対話文を入力します。対話を終了するときはCtrl+Cを押します。

2024年1月24日水曜日

CPUだけで高速にAI画像を生成できるFastSD CPUをUbuntu22.04にインストールする

FastSD CPUでGPUを使用しなくても高速にAI画像を生成することができます。

インストール方法

Ubuntu22.04にFastSD CPUをインストールするには以下の手順を実行します。
sudo apt-get -y install python3.10-venv

wget https://github.com/rupeshs/fastsdcpu/archive/refs/tags/v1.0.0-beta.23.tar.gz

tar xvfz ./v1.0.0-beta.23.tar.gz

cd fastsdcpu-1.0.0-beta.23/

chmod +x install.sh

※server外からwebuiにアクセスしたい場合は以下のファイルを変更します。
vi src/frontend/webui/ui.py
以下の行を
webui.launch(share=share)
以下に変更
webui.launch(share=share, server_name='0.0.0.0')

./start-webui.sh

ブラウザから以下にアクセスします
http://{ubuntuのIP}:7860

サンプル画像

2024年1月8日月曜日

Ubuntu 22.04にOpenCVをインストールしてネットワークカメラの画像を保存する

Ubuntu 22.04にOpenCVをインストールしてネットワークカメラの画像を保存するには、以下の手順を実行します。

1.pipenvのインストール

sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources

python3 -m pip install --user pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.profile

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.profile

source ~/.profile

2. opencvをインストールした環境を作成

mkdir dev_opencv
※ディレクトリは適宜変更してください
cd dev_opencv

pipenv --python 3

pipenv install opencv-python

pipenv shell

3. RTSPプロトコルで配信されたカメラ画像を保存するプログラムの作成と実行

test.py
import cv2

# RTSPのURLは適宜適宜変更してください
RTSP_URL = 'rtsp://xxx.xxx.xxx.xxx:8554/cam'
cap = cv2.VideoCapture(RTSP_URL, cv2.CAP_FFMPEG)
result, image = cap.read()
if result:
    cv2.imwrite("camera.png", image)

実行
python test.py

2024年1月6日土曜日

Raspberry Pi(Bulseye 32bit)とCamera Module v3でMediaMTXを使用して配信を行う

MediaMTXでカメラで撮影した動画をRTSP配信することができます。

インストール方法

以下のコマンドでMediaMTXをインストールします。
sudo apt-get -y install ffmpeg

※適宜バージョンなどは変更してください
wget https://github.com/bluenviron/mediamtx/releases/download/v1.4.1/mediamtx_v1.4.1_linux_armv7.tar.gz

tar xvfz /mediamtx_v1.4.1_linux_armv7.tar.gz
mediamtx.ymlの後ろの方に以下を追加
paths:
  # example:
  # my_camera:
  #   source: rtsp://my_camera
  cam:
    source: rpiCamera
    rpiCameraWidth: 1024
    rpiCameraHeight: 768
※解像度は適宜変更して下さい

サービス化

サービス化を行うには以下を/etc/systemd/system/に保存します。パスは適宜変更してください。
mediamtx.service
[Unit]
Wants=network.target
[Service]
ExecStart=/opt/mediamtx/mediamtx /opt/mediamtx/mediamtx.yml
Restart=always
[Install]
WantedBy=multi-user.target

※有効化
sudo systemctl enable mediamtx.service

※サービス開始
sudo systemctl start mediamtx.service

再生確認

ffplayコマンドでRTSPの再生を行うことができます。xxx.xxx.xxx.xxxにRaspberry PiのIPアドレスを入れていください。
ffplay -flags low_delay rtsp://xxx.xxx.xxx.xxx:8554/cam

2023年12月28日木曜日

GPU無しでllama.cppとelyza/ELYZA-japanese-Llama-2-13b-fast-instructを実行する

ELYZA-japanese-Llama-2-13b-fast-instructは130億パラメータの日本語LLMです。
以下の手順でllama.cppとELYZAをUbuntu22.04にインストールし、質問を実行します。

1.llama.cppのインストール
sudo mkdir -p /mnt/data/elyza13b
※パスは適宜変更してください

sudo chown ubuntu:ubuntu /mnt/data/elyza13b
※ユーザ名とグループは適宜変更してください

cd /mnt/data/elyza13b

wget -4 https://github.com/ggerganov/llama.cpp/archive/refs/tags/b1708.tar.gz

tar xvfz b1708.tar.gz

cd llama.cpp-b1708

make 

2. モデルのダウンロード
cd models

wget -4 https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-13b-fast-instruct-gguf/resolve/main/ELYZA-japanese-Llama-2-13b-fast-instruct-q5_K_M.gguf
※求めるスピードや精度で適宜モデルを変更してください

cd ..

2.テスト実行
以下のコマンドで、質問を実行します。
./main -m ./models/ELYZA-japanese-Llama-2-13b-fast-instruct-q5_K_M.gguf -n 512 --temp 0.1 -p "[INST]<<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>Large Language Modelとは何か説明してください。[/INST]"

※以下は実行結果例です
 [INST]<<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>Large Language Modelとは何か説明してください。[/INST] Large Language Model (LLM) は、大量のテキストデータで学習した言語モデルのことです。

自然言語処理 (NLP) のタスクでは、大量のトレーニングデータを用いてモデルを訓練することが一般的です。この際、モデルが学習するデータの量や質によって精度や性能が大きく左右されます。そのため、高品質なデータで十分な量の学習を行うことが重要です。

近年、大規模なデータベースやWebサイトの増加により、大量のテキストデータが容易に収集できるようになりました。これにより、大規模言語モデルの学習が可能となりました。 [end of text]