Requisitos previos
- Completa todos los pasos necesarios de la guía de inicio rápido antes de comenzar.
- Implementa la API.
Descripción general
Puedes consultar la API con los mismos métodos, sin importar el método de instalación que hayas usado. 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 exponer la API. Hay muchas opciones para hacerlo, como crear un Ingress si el clúster lo admite, publicar el servicio creado y ejecutar Istio, etcétera.
Sigue los pasos que se describen a continuación para realizar consultas en un extremo. Existen dos métodos:
- Consulta el extremo desde dentro del clúster (no necesitas IP pública).
- Consulta una IP pública.
Consulta el nombre de DNS interno (no se requiere IP pública)
En este ejemplo, se ejecuta una consulta desde dentro del 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 con el valor real en los comandos.
Crea un trabajo nuevo dentro del clúster para consultar la API. Si este trabajo ya existe en el clúster, primero debes 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 puerta de enlace de entrada de Istio se ejecute con una IP pública. Si aún no instalaste Istio, puedes establecer el valor para $PUBLIC_IP
. Una vez hecho esto, puedes 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 configurarla en
PUBLIC_IP
.Si no tiene Istio instalado, verifica que la dirección IP esté vinculada. Debería aparecer debajo de
EXTERNAL-IP
a continuación. Si no aparece después de unos minutos, navega a tu clúster en la consola para solucionar problemas.kubectl get service $NAME --namespace $NAMESPACE
Copia el objeto binario
onprem_client
de 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_client
Usa el objeto binario
onprem_client
para enviar una consulta:./onprem_client --address ${PUBLIC_IP}:443 --file_paths /path/to/audio.wav
¿Qué sigue?
Aprende a enviar una solicitud de transcripción a la API de Speech-to-Text On-Prem.