Funkcja w Cloud Functions opakowująca modele Bison w modelu PaLM

1. Wprowadzenie

W tym ćwiczeniu pokazujemy, jak wywołać funkcję w Cloud Functions, która inicjuje moduł Vertex AI, a następnie udostępnia punkt końcowy do wywoływania modelu PaLM Text Bison. Ta funkcja Cloud Functions jest napisana w Pythonie. Oto lista używanych usług:

  • Cloud Functions
  • Vertex AI PaLM API

Co utworzysz

Utworzysz i wdrożysz funkcję w Cloud Functions, która udostępnia punkt końcowy do wywoływania modelu PaLM Text Bison.

2. Wymagania

  • przeglądarka, np. Chrome lub Firefox;
  • projekt Google Cloud z włączonymi płatnościami;

3. Zanim zaczniesz

  1. W konsoli Google Cloud na stronie selektora projektu wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Google Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie włączone są płatności
  3. Aktywuj Cloud Shell w konsoli Google Cloud, postępując zgodnie z instrukcjami tutaj.
  4. Jeśli projekt nie jest ustawiony, użyj tego polecenia, aby go ustawić:
gcloud config set project <YOUR_PROJECT_ID>
  1. W Cloud Shell ustaw te zmienne środowiskowe:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Włącz niezbędne interfejsy API Google Cloud, wykonując w terminalu Cloud Shell te polecenia:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

4. Wdrażanie funkcji w Cloud Functions

Aby utworzyć i wdrożyć Cloud Functions, wykonaj te czynności:

  1. Sklonuj kod z repozytorium https://github.com/rominirani/genai-apptemplates-googlecloud, wykonując w terminalu Cloud Shell to polecenie:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. To polecenie sklonuje zawartość repozytorium do folderu genai-templates-googlecloud.
  2. Przejdź do folderu projektu, który Cię interesuje, wykonując to polecenie w terminalu Cloud Shell:
cd genai-apptemplates-googlecloud/text-predict-cloudfunction
  1. W folderze text-predict-cloudfunction powinny być widoczne pliki main.py i requirements.txt . Możesz to sprawdzić, wykonując polecenie dir lub otwierając edytor Cloud Shell.
  2. Aby wdrożyć funkcję w Cloud Functions, uruchom polecenie gcloud functions deploy:
gcloud functions deploy predictText --gen2 --runtime=python311 --region=$GCP_REGION --source=. --entry-point=predictText --trigger-http --set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION --allow-unauthenticated --max-instances=1

Po wdrożeniu funkcji w Cloud Functions adres URL wdrożonej funkcji zostanie wyświetlony w terminalu Cloud Shell. Adres URL ma format:

https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText

5. Wywoływanie funkcji w Cloud Functions

Ponieważ ta funkcja Cloud Functions jest wdrażana z aktywatorem HTTP, możesz ją wywołać bezpośrednio. Oto przykładowe wywołanie:

curl -m 70 -X POST https://$GCP_REGION-$GCP_PROJECT.cloudfunctions.net/predictText \
-H "Content-Type: application/json" \
-d '{
  "prompt": "What are the best places to visit in the United States?"
}'

Dane wyjściowe wyglądają tak:

3470e0a6d0a30b37.png

6. Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby użyte w tym poście, wykonaj te czynności:

  1. W konsoli Google Cloud otwórz stronę Zarządzanie zasobami.
  2. Z listy projektów wybierz projekt do usunięcia, a potem kliknij Usuń.
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
  4. Jeśli chcesz zachować projekt, pomiń powyższe kroki i usuń funkcję w chmurze. W tym celu otwórz Cloud Functions, na liście funkcji zaznacz tę, którą chcesz usunąć, i kliknij USUŃ.

7. Gratulacje

Gratulacje! Udało Ci się użyć funkcji Cloud Functions, która opakowuje model PaLM Text Bison. Więcej informacji o dostępnych modelach znajdziesz w dokumentacji produktu Vertex AI LLM.