SambaNova Cloudでは、テキストと画像を含むマルチモーダル入力を処理するために、Visionモデルを利用できます。これらのモデルは画像を理解・分析し、コンテキストに基づいてテキストを生成します。OpenAIのPythonクライアントを使用してSambaNova CloudのVisionモデルにクエリを送信する方法を学びましょう。

画像を使用したクエリの作成

Cloud APIのOpenAI互換性により、VisionモデルへのリクエストはOpenAIのマルチモーダル入力フォーマットに従い、構造化されたペイロードとしてテキストと画像の両方を受け取ります。呼び出し方法は通常のテキスト生成と似ていますが、画像ファイルをBase64形式にエンコードして image_path変数経由で指定する点が異なります。画像をBase64文字列に変換するにはヘルパー関数を使用します。このBase64文字列は、テキストと一緒にリクエストに含められます。
1

ステップ1

新しいPythonファイルを作成し、以下のコードをコピーします。
この例では、Llama-4-Maverick-17B-128E-Instruct モデルを使用しています。
import openai
import base64

client = openai.OpenAI(
    base_url="https://api.sambanova.ai/v1",
    api_key=<"YOUR API KEY">,
)

# Helper function to encode the image
def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')

# The path to your image
image_path = "sample.JPEG"

# The base64 string of the image
image_base64 = encode_image(image_path)

print(image_base64)

response = client.chat.completions.create(
    model="Llama-4-Maverick-17B-128E-Instruct",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is happening in this image?"},
                {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}}
            ]
        }
    ]
)

print(response)
2

ステップ2

<"YOUR API KEY">を、あなたのSambaNova APIキーに置き換えます。
3

ステップ3

使用する画像を選択し、次のように指定可能なパスに保存します。
# The path to your image
image_path = "sample.JPEG"
4

ステップ4

画像とセットで送るプロンプト (userプロンプトのcontentの部分) を確認・修正します。
5

ステップ5

Pythonファイルを実行し、生成されたテキスト出力を確認してください。