Panduan ini akan memandu Anda dalam proses menjalankan uji Pengenalan Karakter Optik (OCR) menggunakan layanan Vertex AI Vision Google.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Python API.
Buat file python
ocr_test.py
. Ganti nilaiimage_uri_to_test
dengan URI gambar sumber, seperti yang ditunjukkan:import os import requests import json def detect_text_rest(image_uri): """Performs Optical Character Recognition (OCR) on an image by invoking the Vertex AI REST API.""" # Securely fetch the API key from environment variables api_key = os.environ.get("GCP_API_KEY") if not api_key: raise ValueError("GCP_API_KEY environment variable must be defined.") # Construct the Vision API endpoint URL vision_api_url = f"https://vision.googleapis.com/v1/images:annotate?key={api_key}" print(f"Initiating OCR process for image: {image_uri}") # Define the request payload for text detection request_payload = { "requests": [ { "image": { "source": { "imageUri": image_uri } }, "features": [ { "type": "TEXT_DETECTION" } ] } ] } # Send a POST request to the Vision API response = requests.post(vision_api_url, json=request_payload) response.raise_for_status() # Check for HTTP errors response_json = response.json() print("\n--- OCR Results ---") # Extract and print the detected text if "textAnnotations" in response_json["responses"]: full_text = response_json["responses"]["textAnnotations"]["description"] print(f"Detected Text:\n{full_text}") else: print("No text was detected in the image.") print("--- End of Results ---\n") if __name__ == "__main__": # URI of a publicly available image, or a storage bucket image_uri_to_test = "IMAGE_URI" detect_text_rest(image_uri_to_test)
Ganti kode berikut:
IMAGE_URI
dengan URI gambar yang tersedia secara publik yang berisi teks, misalnya, "https://cloud.google.com/vision/docs/images/sign.jpg
". Atau, Anda dapat menentukan URI Cloud Storage, misalnya, "gs://your-bucket/your-image.png
"
Buat Dockerfile:
ROM python:3.9-slim WORKDIR /app COPY ocr_test.py /app/ # Install 'requests' for HTTP calls RUN pip install --no-cache-dir requests CMD ["python", "ocr_test.py"]
Bangun image Docker untuk aplikasi terjemahan:
docker build -t ocr-app .
Ikuti petunjuk di Mengonfigurasi Docker untuk:
- Konfigurasi Docker,
- Buat secret, dan
- Upload gambar ke HaaS.
Login ke cluster pengguna dan buat file kubeconfig-nya dengan identitas pengguna. Pastikan Anda menetapkan jalur kubeconfig sebagai variabel lingkungan:
export KUBECONFIG=${CLUSTER_KUBECONFIG_PATH}
Buat secret Kubernetes dengan menjalankan perintah berikut di terminal Anda, lalu tempelkan kunci API Anda:
kubectl create secret generic gcp-api-key-secret \ --from-literal=GCP_API_KEY='PASTE_YOUR_API_KEY_HERE'
Perintah ini akan membuat secret bernama
gcp-api-key-secret
dengan kunciGCP_API_KEY
.Terapkan manifes kubernetes:
apiVersion: batch/v1 kind: Job metadata: name: ocr-test-job-apikey spec: template: spec: containers: - name: ocr-test-container image: HARBOR_INSTANCE_URL/HARBOR_PROJECT/ocr-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
Ganti kode berikut:
HARBOR_INSTANCE_URL
: URL instance Harbor.HARBOR_PROJECT
: project Harbor.SECRET
: nama secret yang dibuat untuk menyimpan kredensial Docker.
Periksa status tugas:
kubectl get jobs/ocr-test-job-apikey # It will show 0/1 completions, then 1/1 after it succeeds
Setelah tugas selesai, Anda dapat melihat output OCR di log pod:
kubectl logs -l job-name=ocr-test-job-apikey