Mencoba Speech-to-Text

Panduan ini akan memandu Anda melalui proses menjalankan uji Speech-to-Text menggunakan layanan Speech Vertex AI Google.

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Python API.

  1. Buat file python speech-to-text-test.py. Ganti nilai image_uri_to_test dengan URI gambar sumber, seperti yang ditunjukkan:

    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)
    

    Ganti kode berikut:

    • AUDIO_FILE_URI: URI file audio "gs://your-bucket/your-image.png"
  2. Buat Dockerfile:

    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. Bangun image Docker untuk aplikasi Speech-to-Text:

    docker build -t speech-to-text-app .
    
  4. Ikuti petunjuk di Mengonfigurasi Docker untuk:

    1. Konfigurasi Docker,
    2. Buat secret, dan
    3. Upload gambar ke HaaS.
  5. Login ke cluster pengguna dan buat file kubeconfig-nya dengan identitas pengguna. Pastikan Anda menetapkan jalur kubeconfig sebagai variabel lingkungan:

    export KUBECONFIG=${CLUSTER_KUBECONFIG_PATH}
    
  6. Buat secret Kubernetes dengan menjalankan perintah berikut di terminal Anda, lalu tempelkan kunci API Anda:

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

    Perintah ini akan membuat secret bernama gcp-api-key-secret dengan kunci GCP_API_KEY.

  7. Terapkan manifes Kubernetes:

    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
    
    

    Ganti kode berikut:

    • HARBOR_INSTANCE_URL: URL instance Harbor.
    • HARBOR_PROJECT: project Harbor.
    • SECRET: nama secret yang dibuat untuk menyimpan kredensial Docker.
  8. Periksa status tugas:

    kubectl get jobs/speech-to-text-test-job
    # It will show 0/1 completions, then 1/1 after it succeeds
    
  9. Setelah tugas selesai, Anda dapat melihat output di log pod:

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