今回はM5STACK UnitV2を使いました。
まずはファームウェアアップデートをします。 https://docs.m5stack.com/en/guide/ai_camera/unitv2/update
その後wifi設定をしていきます。SSIDとパスワードを sudo nano /etc/wpa_supplicant.conf コマンドにて修正 し、再起動します。 https://docs.m5stack.com/en/guide/ai_camera/unitv2/config
デフォルトから下記ライブラリをインストールします。
openai バージョン1.35.7
sudo pip3 install openai==1.35.7
コードは下記です。
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
import base64
from openai import OpenAI import requests import json
SLACK_URL = "slackのwebhookURLを張り付けてください"
def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode("utf-8")
image_path = "./test.jpg"
base64_image = encode_image(image_path)
client = OpenAI( api_key="openAIのapiキーを入力してください", )
response = client.chat.completions.create(
# model の名前は gpt-4-vision-preview.
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "何の画像?"},
{"type": "image_url", "image_url": f"data:image/jpeg;base64,{base64_image}"},
],
}
],
max_tokens=300,
)
def send_slack():
content = str(response.choices[0])
payload = {
"text": content,
"icon_emoji": ':snake:',
}
data = json.dumps(payload)
requests.post(SLACK_URL, data)
send_slack()
print(response.choices[0])
”””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””
コードのなかで2つ外部APIを叩いています。 ひとつはopenaiです。 下記を参照にAPIキーをコードに埋め込んでください。 https://setsubi.no-mania.com/ SlackのwebhookURLの取得は下記にて取得してください。 https://qiita.com/bakira/items/8fa06ab10edf1f42ff97
slackアプリをインストールしていればスマホでも確認することができます。