Este guia explica o processo de execução de um teste de conversão de voz em texto através do serviço Vertex AI Speech da Google.
Antes de experimentar este exemplo, siga as instruções de configuração do Python no início rápido do Vertex AI com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python do Vertex AI.
Crie um ficheiro Python
speech-to-text-test.py
. Substitua o valorimage_uri_to_test
pelo URI de uma imagem de origem, como 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", "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)
Substitua o seguinte:
AUDIO_FILE_URI
: o URI de um ficheiro 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 do Docker para a aplicação Speech-to-Text:
docker build -t speech-to-text-app .
Siga as instruções em Configurar o Docker para:
- Configure o Docker,
- Crie um segredo e
- Carregue a imagem para o HaaS.
Inicie sessão no cluster de utilizadores e gere o respetivo ficheiro kubeconfig com uma identidade de utilizador. Certifique-se de que define o caminho do kubeconfig como uma variável de ambiente:
export KUBECONFIG=${CLUSTER_KUBECONFIG_PATH}
Crie um segredo do Kubernetes executando o seguinte comando no seu terminal e colando a chave da API:
kubectl create secret generic gcp-api-key-secret \ --from-literal=GCP_API_KEY='PASTE_YOUR_API_KEY_HERE'
Este comando cria um segredo com o nome
gcp-api-key-secret
com 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: 4
Substitua o seguinte:
HARBOR_INSTANCE_URL
: o URL da instância do Harbor.HARBOR_PROJECT
: o projeto Harbor.SECRET
: o nome do segredo criado para armazenar credenciais do Docker.
Verifique o estado da tarefa:
kubectl get jobs/speech-to-text-test-job # It will show 0/1 completions, then 1/1 after it succeeds
Após a conclusão da tarefa, pode ver o resultado nos registos do pod:
kubectl logs -l job-name=speech-to-text-test-job