Requisitos previos
- Completa todos los pasos obligatorios de la guía de inicio rápido Antes de empezar.
- Despliega la API.
Información general
Puedes consultar la API con los mismos métodos, independientemente del método de instalación que hayas usado. La forma de consultar la API depende de si has configurado un endpoint público o no. Si tu endpoint no es público, tendrás que determinar cómo exponer la API. Hay muchas formas de hacerlo, como crear un Ingress si tu clúster lo admite, publicar el servicio creado, ejecutar Istio, etc.
En los pasos que se indican a continuación se explica cómo consultar un endpoint. Hay dos métodos:
- Consulta el endpoint desde tu clúster (no se necesita una IP pública).
- Consulta una IP pública.
Consultar el nombre de DNS interno (no se necesita una IP pública)
En este ejemplo se ejecuta una consulta desde el clúster mediante el nombre del servicio de nombres de dominio (DNS) asignado al servicio: $NAME.$NAMESPACE
, como speech.speech.
.
Puedes definir las variables de entorno o sustituirlas por el valor real
en los comandos.
Crea un trabajo en el clúster para consultar la API. Si este trabajo ya existe en el clúster, primero debes eliminarlo.
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 -
Consulta 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
Consultar una IP pública
Si has instalado Istio en tu clúster, asegúrate de que Istio Ingress Gateway se esté ejecutando con una IP pública. Si no has instalado Istio, puedes definir el valor de $PUBLIC_IP
. Una vez que haya completado este paso, podrá enviar consultas de transcripción a un endpoint público.
Si tienes instalado Istio, sigue las instrucciones para obtener la IP pública de Ingress y asignarla a
PUBLIC_IP
.Si no tienes instalado Istio, comprueba que la dirección IP se haya enlazado. Debería aparecer en
EXTERNAL-IP
, más abajo. Si no aparece después de unos minutos, ve a tu clúster en la consola para solucionar el problema.kubectl get service $NAME --namespace $NAMESPACE
Copia el archivo 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
onprem_client
binario para enviar una consulta:./onprem_client --address ${PUBLIC_IP}:443 --file_paths /path/to/audio.wav
Siguientes pasos
Consulta cómo enviar una solicitud de transcripción a la API Speech-to-Text On-Prem.