Skip to content

カスタムモデルLLMの検証

LLMとして機能するカスタムモデルデプロイがある場合は、LLMブループリントで使用する前に検証する必要があります。 検証により、デプロイがLLMリクエストを適切に処理できることが保証されます。 デプロイを検証するには、datarobot.CustomModelLLMValidationを使用します。

LLM検証の開始

デプロイをカスタムモデルLLMとして検証します。 以下を指定してください。

  • deployment_id:検証するデプロイのID。
  • name:検証の任意の名前。
  • prompt_column_name:デプロイされたモデルがプロンプトテキスト入力に使用する列の名前(チャットAPI以外のデプロイに必要)。
  • target_column_name:デプロイされたモデルが予測出力に使用する列の名前(チャットAPI以外のデプロイに必要)。
  • chat_model_id:チャット補完APIを呼び出す際に指定するモデルID(チャット補完APIをサポートするデプロイの場合)。
  • wait_for_completion:Trueに設定すると、結果を返す前に検証ジョブが完了するまでコードが待機します。
import datarobot as dr
deployment = dr.Deployment.get(deployment_id)
use_case = dr.UseCase.get(use_case_id)
validation = dr.genai.CustomModelLLMValidation.create(
    deployment_id=deployment.id,
    use_case=use_case.id,
    name="My Custom LLM",
    prompt_column_name="prompt",
    target_column_name="response",
    wait_for_completion=True
)
validation 

チャット補完APIをサポートするデプロイの場合は、chat_model_idを使用します。

validation = dr.genai.CustomModelLLMValidation.create(
    deployment_id=deployment.id,
    name="Chat API LLM",
    chat_model_id="model-id-from-deployment",
    wait_for_completion=True
) 

検証ステータスの確認

完了を待機しない場合は、datarobot.CustomModelLLMValidation.get()を使用してステータスをポーリングします。

validation = dr.genai.CustomModelLLMValidation.create(
    deployment_id=deployment.id,
    name="My Custom LLM",
    prompt_column_name="prompt",
    target_column_name="response",
    wait_for_completion=False
)
while validation.validation_status == "TESTING":
    import time
    time.sleep(5)
    validation = dr.genai.CustomModelLLMValidation.get(validation.id)

if validation.validation_status == "PASSED":
    print("Validation passed!")
    print(f"Access data: {validation.deployment_access_data}")
else:
    print(f"Validation failed: {validation.error_message}") 

検証済みLLMをブループリントで使用する

検証に合格したら、LLMブループリントで検証IDを使用します。

validation = dr.genai.CustomModelLLMValidation.get(validation_id)
use_case = dr.UseCase.get(use_case_id)
playground = dr.genai.Playground.create(
    name="Custom LLM Playground",
    use_case=use_case.id
)
blueprint = dr.genai.LLMBlueprint.create(
    playground=playground.id,
    name="Custom Model Blueprint",
    llm="custom-model",
    llm_settings={
        "system_prompt": "You are a helpful assistant.",
        "validation_id": validation.id
    }
)
blueprint 

検証設定の更新

datarobot.CustomModelLLMValidation.update()を使用して検証パラメーターを変更します。

validation = dr.genai.CustomModelLLMValidation.get(validation_id)
validation.update(
    name="Updated Custom LLM Name",
    prediction_timeout=60
)