Requisitos
- Completa todos los pasos necesarios de la guía de inicio rápido antes de empezar.
- Implementa la API.
Descripción general
Puedes consultar la API con los mismos métodos, sin importar el método de instalación que usaste. La forma de consultar la API depende de si configuraste o no un extremo público. Si tu extremo no es público, tendrás que determinar cómo expondrás la API. Hay muchas opciones para hacerlo, como crear un Ingress si el clúster lo admite, publicar el servicio creado y ejecutar Istio, entre otros.
Sigue los pasos que se describen a continuación para realizar consultas a un extremo. A continuación, se explican los dos métodos existentes:
- Consulta el extremo desde tu clúster (no se requiere una IP pública).
- Consulta una IP pública.
Consulta el nombre de DNS interno (no se requiere una IP pública)
En este ejemplo, se ejecuta una consulta desde el clúster con el nombre del servicio de nombres
de dominio (DNS) asignado al servicio: $NAME.$NAMESPACE, como speech.speech..
Puedes configurar las variables de entorno o reemplazarlas por el valor real
en los comandos.
Crea un trabajo nuevo en el clúster desde el cual puedas consultar la API. Si este trabajo ya existe en el clúster, primero deberás quitarlo.
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 -Revisa los registros para ver la transcripción:
kubectl logs -n $NAMESPACE --follow $(kubectl get po -n $NAMESPACE -l app=query -o=jsonpath='{.items[0].metadata.name}') -c entrypoint
Consulta una IP pública
Si instalaste Istio en tu clúster, asegúrate de que la puerta de enlace Istio Ingress
se ejecute con una IP pública. Si aún no instalaste Istio, puedes establecer
el valor para $PUBLIC_IP. Una vez que completes este paso, podrás enviar las consultas
de transcripción a un extremo público.
Si instalaste Istio, sigue las instrucciones para obtener la IP pública de Ingress y establecerla en
PUBLIC_IP.Si no tiene Istio instalado, verifica que la dirección IP esté vinculada. Debería aparecer debajo de
EXTERNAL-IPa continuación. Si no aparece después de unos minutos, accede a tu clúster desde la consola para solucionar problemas.kubectl get service $NAME --namespace $NAMESPACECopia el objeto binario
onprem_clientde la imagen de 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_clientUsa el objeto binario
onprem_clientpara enviar una consulta:./onprem_client --address ${PUBLIC_IP}:443 --file_paths /path/to/audio.wav
¿Qué sigue?
Obtén información para enviar una solicitud de transcripción a la API de Speech-to-Text On-Prem.