1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM watsonx.ai で Meta Llama 3.2 Vision を動かしてcurlコマンドでAPI呼び出しする方法

Last updated at Posted at 2024-10-10

はじめに

タイトルの通りなんですが、IBM watsonx.ai で Meta Llama 3.2 Vision を動かしてcurlコマンドでAPI呼び出しする方法を記載します。
まだ情報が少ないので参考になればと思います。

参考

実行

コード

コードの処理はコメントに記載の通りです。画像データはBASE64にエンコードして渡します。

test.sh
#!/bin/bash

# 環境変数準備
export API_KEY="xx"
export PROJECT_ID="yy"

# トークン取得
YOUR_ACCESS_TOKEN=$(curl -X POST "https://iam.cloud.ibm.com/identity/token" \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H 'Accept: application/json' \
    -d 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \
    -d "apikey=${API_KEY}" | jq -r '.access_token')

# test.jpgをbase64に変換 (同じフォルダにtest.jpgをおく)
BASE64_IMAGE=$(base64 -i ./test.jpg)

# visionのAPIを呼び出し
curl "https://us-south.ml.cloud.ibm.com/ml/v1/text/chat?version=2023-05-29" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer ${YOUR_ACCESS_TOKEN}" \
    -d '{
	"messages": [
		{
			"role": "user",
			"content": [
				{
					"type": "text",
					"text": "これは何?"
				},
				{
					"type": "image_url",
					"image_url": {
						"url": "data:image/png;base64, '"${BASE64_IMAGE}"'"
					}
				}
			]
		}
	],
	"project_id": "'"${PROJECT_ID}"'",
	"model_id": "meta-llama/llama-3-2-90b-vision-instruct",
	"decoding_method": "greedy",
	"min_new_tokens": 0,
	"stop_sequences": [],
	"repetition_penalty": 1,
	"max_tokens": 900
}'

実行手順

  1. IBM watsonx.ai インスタンスを準備して、プロジェクトを作成します。
  2. APIキーとプロジェクトIDを取得して環境変数にセットします。
  3. APIに渡したい画像(test.jpg)を準備します。(pngの場合は、-dで渡しているjsonの中に、image/jpegimage/pngにすると良いと思います。ただ、image/jpegのままでも動きました。。。)
  4. 上記コードを実行します。

プロジェクトIDとAPIキー

プロジェクトIDとAPIキーの取得は下記が参考になるかと思います。

サービスIDを使う場合は、下記が参考になるかと思います。
https://qiita.com/katahiro/items/3258cd42226ed82268ac

おわりに

下記公式ドキュメントで情報を見つけられなかったのですが、そのうち追加されるかなとは思います。

Pythonで呼び出す際は下記が参考になるかと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?