Przyspieszanie tworzenia aplikacji dzięki Gemini Code Assist

1. Przegląd

Ten moduł dotyczy korzystania z Gemini Code Assist, opartego na AI agenta w Google Cloud. Dowiesz się, jak używać Gemini Code Assist do wykonywania typowych zadań programistycznych, takich jak zrozumienie istniejących baz kodu, generowanie dokumentacji i testów jednostkowych oraz refaktoryzacja komponentów interfejsu i backendu aplikacji internetowej w Pythonie.

Czego się nauczysz

W tym module nauczysz się:

  • Jak korzystać z Gemini Code Assist w przypadku typowych zadań deweloperskich.

Wymagania wstępne

  • W tym module zakładamy, że znasz środowiska konsoli Cloud i Cloud Shell.

2. Konfiguracja i wymagania

Konfigurowanie projektu w Google Cloud

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz utworzyć je.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się tym przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Konfiguracja środowiska

Otwórz czat z Gemini.

bc3c899ac8bcf488.png

Możesz też wpisać „Zapytaj Gemini” na pasku wyszukiwania.

e1e9ad314691368a.png

Włącz Gemini for Google Cloud API:

636114fa6e5f0abf.png

Na następnym ekranie włącz GCA.

8e234b2e282c4413.png

Kliknij „Start chatting” i wybierz jedno z przykładowych pytań lub wpisz własny prompt, aby wypróbować tę funkcję.

ed120d672468b412.png

Prompty do wypróbowania:

  • Wyjaśnij, czym jest Cloud Run, w 5 najważniejszych punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij studentowi, czym jest Cloud Run, w 5 krótkich punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij certyfikowanemu programiście Kubernetes, czym jest Cloud Run, w 5 krótkich punktach.
  • Jesteś menedżerem produktu Google Cloud Run. Wyjaśnij starszemu programiście w 5 krótkich punktach, kiedy warto używać Cloud Run, a kiedy GKE.

Gdy skończysz, zamknij okno czatu z Gemini Cloud Assist.

Więcej informacji o tworzeniu lepszych promptów znajdziesz w przewodniku po promptach.

Jak Gemini w Google Cloud korzysta z danych użytkowników

Zobowiązanie Google do ochrony prywatności

Google jako jedna z pierwszych firm w branży opublikowała zobowiązanie do ochrony prywatności w systemach AI/ML, w którym podkreślamy, że klienci powinni mieć najwyższy poziom bezpieczeństwa i kontroli nad danymi przechowywanymi w chmurze.

Dane, które przesyłasz i otrzymujesz

Pytania, które zadajesz Gemini, w tym wszelkie informacje wejściowe lub kod, które przesyłasz do Gemini w celu analizy lub uzupełnienia, nazywamy promptami. Odpowiedzi lub uzupełnienia kodu, które otrzymujesz od Gemini, nazywamy odpowiedziami. Gemini nie używa Twoich promptów ani swoich odpowiedzi jako danych do trenowania swoich modeli.

Szyfrowanie promptów

Gdy przesyłasz prompty do Gemini, Twoje dane są szyfrowane podczas przesyłania jako dane wejściowe do modelu bazowego w Gemini.

Dane programu wygenerowane przez Gemini

Gemini jest trenowany na podstawie kodu Google Cloud oraz wybranego kodu innych firm. Ponosisz odpowiedzialność za bezpieczeństwo, testowanie i skuteczność swojego kodu, w tym za uzupełnianie, generowanie i analizowanie kodu oferowane przez Gemini.

Dowiedz się więcej o tym, jak Google przetwarza Twoje prompty.

3. Opcje testowania promptów

Jeśli chcesz zmienić istniejące prompty, masz kilka opcji.

Vertex AI Studio to część platformy Vertex AI w Google Cloud, która została zaprojektowana specjalnie z myślą o upraszczaniu i przyspieszaniu tworzenia i używania modeli generatywnej AI.

Google AI Studio to internetowe narzędzie do tworzenia prototypów i eksperymentowania z inżynierią promptów oraz interfejsem Gemini API.

Aplikacja internetowa Google Gemini (gemini.google.com) to narzędzie internetowe, które pomaga odkrywać i wykorzystywać możliwości modeli AI Gemini od Google.

4. Pobieranie i sprawdzanie aplikacji

Aktywuj Cloud Shell, klikając ikonę po prawej stronie paska wyszukiwania.

3e0c761ca41f315e.png

Jeśli pojawi się pytanie o autoryzację, kliknij „Autoryzuj”, aby kontynuować.

6356559df3eccdda.png

W terminalu uruchom poniższe polecenia, aby sklonować lokalnie repozytorium Git.

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

Uruchom „Edytor Cloud Shell”.

18ca8f879206a382.png

Otwórz folder „calendar-app-lab”.

7cef847802b51038.png

Uruchom nowy terminal w edytorze Cloud Shell.

3336bea9c0e999b9.png

Środowisko powinno wyglądać podobnie do tego na zrzucie ekranu poniżej.

ae9475871b7d28a6.png

W oknie czatu Gemini Code Assist wyślij ten prompt:

Don't suggest any changes. Explain this codebase to me.

Przykładowe dane wyjściowe:

9839a7ff8c04f6a7.png

5. Lokalne uruchamianie aplikacji

W oknie czatu wyślij ten prompt:

How do I set up a virtual environment and run this app locally?

Uruchom w terminalu sugerowane polecenia:

2d78c7ae8e2f0e5.png

Zainstaluj zależności:

c300d4a00537fcb2.png

Uruchom aplikację:

f98f49a19f4015ed.png

Kliknij link, aby wyświetlić podgląd aplikacji:

dc0a8b15a6c5386f.png

Przykładowe dane wyjściowe:

e9f986d9088b4419.png

d2bb703195b4f99.png

6. Dodawanie dokumentacji

W oknie czatu wyślij ten prompt:

Add docstrings to all files

Sprawdź sugerowane zmiany i zaakceptuj je na czacie:

d66c0d004ed65f87.png

W oknie czatu wyślij ten prompt:

update .gitignore and add venv/* folder

Następnie wpisz ten prompt:

update .gitignore and add __pycache__ folder

Przykładowe dane wyjściowe:

b06dae44f82cfa95.png

Przejdź do widoku Kontrola źródła i sprawdź wprowadzone do tej pory zmiany:

2c41f8b842573384.png

7. Dodawanie testów jednostkowych

Otwórz plik calendar.py i w menu kontekstowym wybierz Gemini Code Assist >> Generate Unit Tests.

6d21534189f9d18d.png

Naciśnij Enter w oknie czatu Gemini Code Assist. Sprawdź zmiany i je zaakceptuj.

dc0bac41d481fd34.png

Zapytaj Gemini, jak przeprowadzić testy:

How do I run the tests?

Uruchom sugerowane polecenia w terminalu i sprawdź dane wyjściowe.

9ce654d02951888.png

8. Sprawdzanie błędów

Otwórz plik calendar.py i w oknie czatu wyślij ten prompt:

Are there any bugs in the conversion logic?

Sprawdź sugerowane zmiany i zaakceptuj je na czacie:

1ff4c84d70cd4a79.png

Ponownie uruchom testy jednostkowe, aby sprawdzić zmiany:

python3 test_calendar.py

Jeśli zobaczysz komunikaty o błędach, możesz je wybrać i dodać do kontekstu, aby Gemini pomogło w rozwiązywaniu problemów i ich naprawianiu.

70e77fd68358a29a.png

9. Refactor UI

W oknie czatu wyślij ten prompt:

Refactor UI to use bootstrap library

Sprawdź i zaakceptuj zmiany:

b5fd026c01c88d26.png

Uruchom aplikację lub ponownie załaduj stronę, jeśli aplikacja jest już uruchomiona.

Jeśli aplikacja nie działa, uruchom ją w terminalu:

python3 main.py

Załaduj ponownie stronę i sprawdź zmiany.

b52a709e902040e3.png

54664e527bcd9227.png

Spróbuj wysłać liczbę ujemną, aby sprawdzić stronę błędu.

f426b129e8aa64b7.png

604f16773e868060.png

10. Refaktoryzacja backendu

W oknie czatu wyślij ten prompt:

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

Sprawdź i zaakceptuj zmiany na czacie:

8c1c2a1b79432490.png

Uruchom aplikację, wpisując w terminalu to polecenie:

python3 main.py

Uzyskaj dostęp do aplikacji i prześlij kilka próśb, zanim przejrzysz stronę historii.

ac5639d18b341b0a.png

Sprawdź historię próśb o konwersję.

9ca680e193510640.png

11. Podsumowanie dotyczące Gemini Code Assist

Wiesz już, jak Gemini Code Assist może znacznie usprawnić różne zadania związane z programowaniem, od zrozumienia istniejącego kodu po generowanie dokumentacji, testów jednostkowych i refaktoryzację komponentów interfejsu i backendu. Dzięki możliwości rozumienia kontekstu i podawania trafnych sugestii jest to przydatne narzędzie dla deweloperów.

Zachęcamy do dalszego eksperymentowania z Gemini Code Assist. Wypróbuj różne prompty, poznaj możliwości tego narzędzia w przypadku własnych baz kodu i dowiedz się, jak może ono usprawnić Twoją codzienną pracę programistyczną. Im więcej będziesz z niego korzystać, tym lepiej poznasz jego potencjał w zakresie zwiększania produktywności i poprawy jakości kodu.

12. Gratulacje!

Gratulacje! Codelab został ukończony.

Omówione zagadnienia:

  • Używanie Gemini Code Assist do wykonywania typowych zadań programistycznych

Co dalej?

  • Wkrótce pojawią się kolejne sesje praktyczne.

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, możesz usunąć projekt zawierający te zasoby lub zachować projekt i usunąć poszczególne zasoby.

Usuwanie projektu

Najprostszym sposobem na uniknięcie płatności jest usunięcie projektu utworzonego w tym samouczku.

©2024 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.