Zurück zur englischen Version der Dokumentation

Testen von AI-Service-Implementierungen

Letzte Aktualisierung: 08. Nov. 2024
Testen von AI-Service-Implementierungen

KI-Dienste bieten Online-Inferencing-Funktionen, die Sie für Echtzeit-Inferencing auf neue Daten nutzen können. Für Anwendungsfälle, die eine Batch-Bewertung erfordern, können Sie einen Batch-Bereitstellungsauftrag ausführen, um Ihre KI-Service-Bereitstellung zu testen.

Methoden zum Testen von KI-Diensteinsätzen

KI-Dienste bieten Online-Inferencing-Funktionen, die Sie für Echtzeit-Inferencing auf neue Daten nutzen können. Diese Fähigkeit zur Inferenz ist für Anwendungen nützlich, die Echtzeitvorhersagen erfordern, wie Chatbots, Empfehlungssysteme und Betrugserkennungssysteme.

Um KI-Dienste für Online-Inferencing zu testen, können Sie die watsonx.ai, die Python oder die REST-API verwenden. Weitere Informationen finden Sie unter Einsatz von Inferencing AI-Diensten für die Online-Bewertung.

Um KI-Dienste für Inferencing-Streaming-Anwendungen zu testen, können Sie die Python oder die REST-API watsonx.ai verwenden. Weitere Informationen finden Sie unter Inferencing AI-Service-Implementierungen für Streaming-Anwendungen.

Für Anwendungsfälle, die eine Batch-Bewertung erfordern, erstellen Sie einen Batch-Bereitstellungsauftrag und führen ihn aus. Sie können eine beliebige gültige JSON-Eingabe als Nutzlast für den REST-API-Endpunkt zur Inferenzierung bereitstellen. Weitere Informationen finden Sie unter Testen von Batch-Bereitstellungen für AI-Dienste.

Erprobung von KI-Diensten für die Online-Wertung

Sie können Ihren KI-Dienst online bereitstellen, indem Sie die watsonx.ai, die REST-API oder die watsonx.ai Python verwenden.

Inferencing über die Benutzeroberfläche

Sie können die Benutzeroberfläche zum Inferencing Ihrer KI-Dienste verwenden, indem Sie eine beliebige gültige JSON-Eingabe-Nutzlast bereitstellen, die mit Ihrem Modellschema übereinstimmt. Befolgen Sie die folgenden Schritte zur Inferenzierung Ihrer KI-Dienstbereitstellung:

  1. Öffnen Sie in Ihrem Bereitstellungsbereich oder Ihrem Projekt die Registerkarte Bereitstellungen und klicken Sie auf den Namen der Bereitstellung.

  2. Klicken Sie auf die Registerkarte Test, um einen Aufforderungstext einzugeben und eine Antwort von dem bereitgestellten Asset zu erhalten.

  3. Geben Sie Testdaten im JSON-Format ein, um eine Ausgabe im JSON-Format zu erzeugen.

    Einschränkung:

    Sie können keine Eingabedaten im Textformat eingeben, um Ihren KI-Diensteinsatz zu testen. Sie müssen das JSON-Format für die Tests verwenden.

    Inferenzierung der Online-Bereitstellung für KI-Dienste über die Benutzeroberfläche

Inferencing mit Python

Verwenden Sie die Funktion " run_ai_service, um einen KI-Dienst auszuführen, indem Sie eine Nutzlast für die Bewertung bereitstellen:

ai_service_payload = {"query": "testing ai_service generate function"}

client.deployments.run_ai_service(deployment_id, ai_service_payload)

Weitere Informationen finden Sie in der Dokumentation derwatsonx.ai Python zur Ausführung eines KI-Service-Assets.

Inferencing mit REST API

Verwenden Sie den REST-Endpunkt " /ml/v4/deployments/{id_or_name}/ai_service für die Inferenz von KI-Diensten für die Online-Wertung (KI-Dienste, die die Funktion " generate() enthalten):

# Any valid json is accepted in POST request to /ml/v4/deployments/{id_or_name}/ai_service
payload = {
    "mode": "json-custom-header",
    't1': 12345 ,
    't2': ["hello", "wml"],
    't3': {
        "abc": "def",
        "ghi": "jkl"
    }
}

response = requests.post(
    f'{HOST}/ml/v4/deployments/{dep_id}/ai_service?version={VERSION}',
    headers=headers,
    verify=False,
    json=payload
)

print(f'POST {HOST}/ml/v4/deployments/{dep_id}/ai_service?version={VERSION}', response.status_code)

from json.decoder import JSONDecodeError
try:
    print(json.dumps(response.json(), indent=2))
except JSONDecodeError:
    print(f"response text >>\n{response.text}")
    
print(f"\nThe user customized content-type >> '{response.headers['Content-Type']}'")

Testen von KI-Dienstimplementierungen für Streaming-Anwendungen

Mit der watsonx.ai REST API oder der watsonx.ai Python Client-Bibliothek können Sie Ihren KI-Service online für Streaming-Anwendungen bereitstellen.

Inferencing mit Python

Verwenden Sie die Funktion " run_ai_service_stream, um einen KI-Dienst für Streaming-Anwendungen auszuführen, indem Sie eine Nutzlast für die Bewertung bereitstellen.

ai_service_payload = {"sse": ["Hello", "WatsonX", "!"]}

for data in client.deployments.run_ai_service_stream(deployment_id, ai_service_payload):
    print(data)

Weitere Informationen finden Sie in der Dokumentation der Pythonwatsonx.ai für die Ausführung eines KI-Service-Assets für Streaming.

Inferencing mit REST API

Verwenden Sie den REST-Endpunkt " /ml/v4/deployments/{id_or_name}/ai_service_stream für die Inferenz von AI-Diensten für Streaming-Anwendungen (AI-Dienste, die die Funktion " generate_stream() enthalten):

TOKEN=f'{client._get_icptoken()}'
%%writefile payload.json
{
    "sse": ["Hello" ,"WatsonX", "!"]
}
!curl -N \
    -H "Content-Type: application/json" -H  "Authorization: Bearer {TOKEN}" \
    {HOST}'/ml/v4/deployments/'{dep_id}'/ai_service_stream?version='{VERSION} \
    --data @payload.json

Ausgabe

id: 1 Ereignis: Nachricht Daten: Hallo

id: 2 Ereignis: Nachricht Daten: WatsonX

id: 3 Ereignis: Nachricht Daten: !

id: 4 Ereignis: eos

Testen von Batch-Bereitstellungen für KI-Dienste

Sie können die watsonx.ai, die Python oder die REST-API verwenden, um einen Batch-Bereitstellungsauftrag zu erstellen und auszuführen, wenn Sie eine Batch-Bereitstellung für Ihren KI-Dienst erstellt haben (KI-Dienst-Asset, das die Funktion " generate_batch() enthält).

Voraussetzungen

Sie müssen die Anmeldeinformationen für Ihre Aufgabe einrichten, um einen Batch-Bereitstellungsauftrag für Ihren KI-Dienst auszuführen. Weitere Informationen finden Sie unter Verwalten von Berechtigungsnachweisen für Aufgaben.

Testen mit Benutzeroberfläche

Weitere Informationen zum Erstellen und Ausführen eines Batch-Bereitstellungsauftrags für Ihren KI-Dienst über die Benutzeroberfläche des Bereitstellungsbereichs finden Sie unter Erstellen von Aufträgen in Bereitstellungsbereichen.

Testen mit Python

Gehen Sie folgendermaßen vor, um Ihre Batch-Bereitstellung zu testen, indem Sie einen Auftrag erstellen und ausführen:

  1. Erstellen Sie einen Auftrag, um die Batch-Bereitstellung Ihres KI-Dienstes zu testen:

    batch_reference_payload = {
        "input_data_references": [
            {
                "type": "connection_asset",
                "connection": {"id": "2d07a6b4-8fa9-43ab-91c8-befcd9dab8d2"},
                "location": {
                    "bucket": "wml-v4-fvt-batch-pytorch-connection-input",
                    "file_name": "testing-123",
                },
            }
        ],
        "output_data_reference": {
            "type": "data_asset",
            "location": {"name": "nb-pytorch_output.zip"},
        },
    }
    
    job_details = client.deployments.create_job(deployment_id, batch_reference_payload)
    job_uid = client.deployments.get_job_uid(job_details)
    print("The job id:", job_uid)
    
  2. Auftragsstatus prüfen:

    ##  Get job status
    client.deployments.get_job_status(job_uid)
    

Weitere Informationen

Übergeordnetes Thema: Bereitstellung von KI-Diensten