Skip to Content

GPT-6 Luna

OpenAI の GPT-6 Luna は対話モデルであると同時に、Decisions API による型付きの判定にも対応しています。判定モードの使い方は Jev と同じです。リクエストで判定対象のコンテンツと質問のセットを指定すると、モデルは質問ごとに構造化された回答とその確率を返します。Jev と比較して、GPT-6 Luna は画像入力に対応しています。

このページでは GPT-6 Luna の判定の使い方を説明します。対話での使い方は GPT シリーズを参照してください。

Jev との使い分け

ポイント画像を判定する必要がある場合は GPT-6 Luna を、テキストまたは JSON のみを処理し、応答速度が重視される場合は Jev を使用します。
GPT-6 LunaJev
モデル IDopenai/gpt-6-lunatypesafe/jev-latest
入力テキスト、画像テキスト、JSON
質問タイプpredicate、choice、scorepredicate、choice、score
呼び出しパス/v1/decisions、/openai/v1/decisions、/typesafe/v1/systemone左に同じ
1 回あたりの所要時間(実測)約 0.5 秒(初回のリクエストは約 2.5 秒かかる場合があります)約 0.3 秒

同じ質問のセットに対する 2 つのモデルの判定結果はおおむね一致します。同じ返金チケットで実測したところ、いずれも返金申請と判定し、billing に割り当てました。

クイックスタート

接続情報
Base URLhttps://api.ofox.ai/v1
モデル IDopenai/gpt-6-luna
エンドポイント/v1/decisionsPOST

OpenAI 公式の Python SDK で呼び出す場合は、client.decisions を含むバージョンをインストールする必要があります(pip install -U openai。3.31.0 で動作を確認済みです)。API Key の作成方法は Jev · クイックスタートを参照してください。

luna_text.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"]) r = client.decisions.create( model="openai/gpt-6-luna", input="Customer message: I was charged twice and need a refund today.", questions=[ {"type": "predicate", "name": "refund", "instructions": "Is the customer asking for a refund?"}, { "type": "choice", "name": "team", "instructions": "Which team should handle this ticket?", "choices": [ {"value": "billing", "description": "Charges, invoices, refunds"}, {"value": "technical", "description": "Outages, errors, integration issues"}, {"value": "other", "description": "None of the above"}, ], }, ], ) refund, team = r.answers print(refund.probability, team.choice, team.confidence)

出力:

1.0 billing 1.0

画像の判定

画像を渡す場合、input にはメッセージの配列を使用し、content 内で input_image として画像を渡します。画像は base64 の data URL で指定します。画像の出所を説明する input_text を同時に渡すこともできます。

luna_image.py
import base64 import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"]) with open("product.jpg", "rb") as f: image = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode() r = client.decisions.create( model="openai/gpt-6-luna", input=[{ "role": "user", "content": [ {"type": "input_text", "text": "Product image uploaded by a user"}, {"type": "input_image", "image_url": image}, ], }], questions=[ {"type": "predicate", "name": "has_text", "instructions": "Does the image contain any text?"}, { "type": "choice", "name": "shape", "instructions": "What shape is on the left side of the image?", "choices": [{"value": "circle"}, {"value": "square"}, {"value": "triangle"}, {"value": "other"}], }, ], ) for a in r.answers: print(a.name, getattr(a, "probability", None) or a.choice) print(r.usage.prompt_tokens)

出力:

has_text 1.0 shape circle 538

サンプル画像は白地に赤い円、青い正方形、1 行のテキストを配置したもので、2 つの質問はいずれも正しく判定されました。フィールドの定義は Decisions API · 入力形式を参照してください。

質問の設計と本番導入の準備

Jev のドキュメントのうち、以下の内容は GPT-6 Luna にも同様に適用されます。

  • 質問の設計:選択肢はすべてのケースを網羅すること、選択肢に説明を記述すること、質問に name を設定すること、および返却フィールドの意味。
  • 本番導入の準備:人手でラベル付けしたサンプルによる信頼度のしきい値の設定、複数の質問の同一リクエストへの統合。

課金

判定モードと対話モードは別々に課金されます。判定モードの単価はモデルページ を参照してください。実測では、判定リクエストで返される usage には prompt_tokens(画像部分を含む)のみが含まれ、completion_tokens は含まれません。

よくあるエラー

エラーメッセージと対処方法は Jev · よくあるエラーおよび Decisions API · よくあるエラーを参照してください。このうち、Jev への画像入力に関するエラーは GPT-6 Luna には該当しません。

公式ドキュメント

よくある質問

GPT-6 Luna の判定モードと対話モードの違いは何ですか?

判定モードは /v1/decisions で呼び出し、指定された選択肢と段階の範囲内でのみ回答し、確率と信頼度を返します。対話モードは /v1/chat/completions または /v1/responses で呼び出し、テキストの回答を生成します。2 つのモードは別々に課金されます。

GPT-6 Luna と Jev はどのように使い分けますか?

画像を判定する必要がある場合は GPT-6 Luna を、テキストまたは JSON のみを処理し、応答速度が重視される場合は Jev を選択します。両者のリクエスト形式と質問タイプは同じであるため、切り替える際は model を変更するだけで済みます。

TypeSafe SDK で GPT-6 Luna を呼び出せますか?

呼び出せます。実測では、/typesafe/v1/systemone と /openai/v1/decisions のいずれからも openai/gpt-6-luna を呼び出すことができ、呼び出し方法は Jev と同じです。

最終更新日