Pré-requisitos
- Conclua todas as etapas necessárias no guia de início rápido antes de começar.
- Implante a API.
Visão geral
Consulte a API usando os mesmos métodos, independentemente do método de instalação usado. A maneira de consultar a API depende de você ter ou não configurado um endpoint público. Se o endpoint não for público, você precisará determinar como expor a API por conta própria. Há muitas opções para fazer isso, incluindo a criação de uma Entrada caso seu cluster seja compatível, a publicação do serviço criado, executando o Istio, e assim por diante.
Nas etapas descritas abaixo, você verá como consultar um endpoint. Há dois métodos:
- Consulte o endpoint no cluster (não é necessário um IP público).
- Consulte um IP público.
Consulte o nome de DNS interno (não é necessário um IP público)
Este exemplo executa uma consulta no cluster usando o nome de Serviço de Nome de Domínio (DNS) atribuído ao serviço: $NAME.$NAMESPACE
, como speech.speech.
. É possível definir as variáveis de ambiente ou substituí-las por um valor real nos comandos.
Crie um novo job no cluster para consultar a API. Remova esse job primeiro se ele já existir no cluster.
kubectl delete jobs.batch -n $NAMESPACE query-api echo "apiVersion: batch/v1 kind: Job metadata: name: query-api namespace: $NAMESPACE spec: template: metadata: annotations: sidecar.istio.io/inject: 'false' labels: app: query spec: containers: - name: entrypoint image: gcr.io/cloud-marketplace/speech-onprem/speech-to-text-on-prem:$VERSION command: ["/bin/sh", "-c"] args: - curl https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/speech/snippets/resources/commercial_mono.wav --output /tmp/audio.wav; /bin/onprem_client --address=$NAME.$NAMESPACE:443 --file_paths /tmp/audio.wav restartPolicy: Never " | kubectl apply -f -
Verifique os registros para ver a transcrição:
kubectl logs -n $NAMESPACE --follow $(kubectl get po -n $NAMESPACE -l app=query -o=jsonpath='{.items[0].metadata.name}') -c entrypoint
Consulte um IP público
Se você instalou o Istio no cluster, verifique se o Gateway de Entrada do Istio está em execução com um IP público. Se você não tiver instalado o Istio, defina o valor como $PUBLIC_IP
. Depois de fazer isso, é possível enviar consultas de transcrição a um endpoint público.
Se você tiver o Istio instalado, siga as instruções para conseguir o IP público do Ingress e defina-o como
PUBLIC_IP
.Se você não tiver o Istio instalado, confirme se o endereço IP foi vinculado. Ele aparecerá abaixo de
EXTERNAL-IP
. Se ele não aparecer após alguns minutos, navegue até o cluster no console para resolver o problema.kubectl get service $NAME --namespace $NAMESPACE
Copie o binário
onprem_client
da imagem do docker:kubectl cp -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l app.kubernetes.io/name=$NAME -o=jsonpath='{.items[0].metadata.name}' ):/bin/onprem_client ./onprem_client kubectl cp -n $NAMESPACE $(kubectl get pod -n $NAMESPACE -l app.kubernetes.io/name=$NAME -o=jsonpath='{.items[0].metadata.name}' ):/usr/grte.tar ./grte.tar sudo tar -xvf grte.tar -C / chmod a+x ./onprem_client
Use o binário
onprem_client
para enviar uma consulta:./onprem_client --address ${PUBLIC_IP}:443 --file_paths /path/to/audio.wav
A seguir
Saiba como enviar uma solicitação de transcrição para a API Speech-to-Text On-Prem.