Speech-to-Text ausprobieren

In dieser Anleitung wird beschrieben, wie Sie einen Speech-to-Text-Test mit dem Vertex AI Speech-Dienst von Google durchführen.

Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Python in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.

  1. Erstellen Sie eine Python-Datei mit dem Namen speech-to-text-test.py. Ersetzen Sie den Wert image_uri_to_test durch den URI eines Quellbilds, wie unten gezeigt:

    from google.cloud import speech
    
    def transcribe_gcs_audio(gcs_uri: str) -> speech.RecognizeResponse:
        client = speech.SpeechClient()
    
        audio = speech.RecognitionAudio(uri=gcs_uri)
        config = speech.RecognitionConfig(
            encoding=speech.RecognitionConfig.AudioEncoding.FLAC,
            sample_rate_hertz=16000,
            language_code="en-US", # Specify the language code (e.g., "en-US" for US English)
            # You can add more features here, e.g.:
            # enable_automatic_punctuation=True,
            # model="default" # or "latest_long", "phone_call", "video", "chirp" (v2 API)
        )
    
        # Performs synchronous speech recognition on the audio file
        response = client.recognize(config=config, audio=audio)
    
        # Print the transcription
        for result in response.results:
            print(f"Transcript: {result.alternatives[0].transcript}")
            if result.alternatives[0].confidence:
                print(f"Confidence: {result.alternatives[0].confidence:.2f}")
    
        return response
    
    if __name__ == "__main__":
        # Replace with the URI of your audio file in Google Cloud Storage
        audio_file_uri = "AUDIO_FILE_URI"
    
        print(f"Transcribing audio from: {audio_file_uri}")
        transcribe_gcs_audio(audio_file_uri)
    

    Ersetzen Sie Folgendes:

    • AUDIO_FILE_URI: Der URI einer Audiodatei „gs://your-bucket/your-image.png
  2. Dockerfile erstellen:

    ROM python:3.9-slim
    
    WORKDIR /app
    
    COPY speech-to-text-test.py /app/
    
    # Install 'requests' for HTTP calls
    RUN pip install --no-cache-dir requests
    
    CMD ["python", "speech-to-text-test.py"]
    
  3. Erstellen Sie das Docker-Image für die Speech-to-Text-Anwendung:

    docker build -t speech-to-text-app .
    
  4. Folgen Sie der Anleitung unter Docker konfigurieren, um:

    1. Docker konfigurieren
    2. Erstellen Sie ein Secret und
    3. Laden Sie das Bild in HaaS hoch.
  5. Melden Sie sich im Nutzercluster an und generieren Sie die kubeconfig-Datei mit einer Nutzeridentität. Achten Sie darauf, dass Sie den kubeconfig-Pfad als Umgebungsvariable festlegen:

    export KUBECONFIG=${CLUSTER_KUBECONFIG_PATH}
    
  6. Erstellen Sie ein Kubernetes-Secret, indem Sie den folgenden Befehl in Ihr Terminal einfügen und Ihren API-Schlüssel einfügen:

    kubectl create secret generic gcp-api-key-secret \
      --from-literal=GCP_API_KEY='PASTE_YOUR_API_KEY_HERE'
    

    Mit diesem Befehl wird ein Secret mit dem Namen gcp-api-key-secret und dem Schlüssel GCP_API_KEY erstellt.

  7. Wenden Sie das Kubernetes-Manifest an:

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: speech-to-text-test-job
    spec:
      template:
        spec:
          containers:
          - name: speech-to-text-test-container
            image: HARBOR_INSTANCE_URL/HARBOR_PROJECT/speech-to-text-app:latest # Your image path
            # Mount the API key from the secret into the container
            # as an environment variable named GCP_API_KEY.
            imagePullSecrets:
            - name: SECRET
            envFrom:
            - secretRef:
                name: gcp-api-key-secret
          restartPolicy: Never
      backoffLimit: 4
    
    

    Ersetzen Sie Folgendes:

    • HARBOR_INSTANCE_URL: Die URL der Harbor-Instanz.
    • HARBOR_PROJECT: das Harbor-Projekt.
    • SECRET: Der Name des Secrets, das zum Speichern von Docker-Anmeldedaten erstellt wurde.
  8. Prüfen Sie den Jobstatus:

    kubectl get jobs/speech-to-text-test-job
    # It will show 0/1 completions, then 1/1 after it succeeds
    
  9. Wenn der Job abgeschlossen ist, können Sie sich die Ausgabe in den Pod-Logs ansehen:

    kubectl logs -l job-name=speech-to-text-test-job