A API Speech-to-Text permite converter áudio falado em texto. Neste tutorial, você vai conteinerizar um script de transcrição em Python e executar a carga de trabalho como um job no sandbox do Google Distributed Cloud (GDC).
Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Vertex AI.
Crie um arquivo Python
speech-to-text-test.py. Substitua o valorimage_uri_to_testpelo URI de uma imagem de origem, conforme mostrado: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" (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)Substitua:
AUDIO_FILE_URI: o URI de um arquivo de áudio "gs://your-bucket/your-image.png"
Crie um 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"]Crie a imagem Docker para o aplicativo da Speech-to-Text:
docker build -t speech-to-text-app .Siga as instruções em Configurar o Docker para:
- Configurar o Docker
- Criar um secret e
- Faça upload da imagem para o HaaS.
Faça login no cluster de usuário e gere o arquivo kubeconfig dele com uma identidade de usuário. Defina o caminho do kubeconfig como uma variável de ambiente:
export KUBECONFIG=${CLUSTER_KUBECONFIG_PATH}Crie um secret do Kubernetes executando o seguinte comando no terminal e colando sua chave de API:
kubectl create secret generic gcp-api-key-secret \ --from-literal=GCP_API_KEY='PASTE_YOUR_API_KEY_HERE'Esse comando cria um secret chamado
gcp-api-key-secretcom uma chaveGCP_API_KEY.Aplique o manifesto do 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: 4Substitua:
HARBOR_INSTANCE_URL: o URL da instância do Harbor.HARBOR_PROJECT: o projeto do Harbor.SECRET: o nome do secret criado para armazenar as credenciais do Docker.
Verifique o status do job:
kubectl get jobs/speech-to-text-test-job # It will show 0/1 completions, then 1/1 after it succeedsDepois que o job for concluído, será possível visualizar a saída nos registros do pod:
kubectl logs -l job-name=speech-to-text-test-job