generować uporządkowany wynik (np. w formacie JSON) za pomocą interfejsu Gemini API;


Domyślnie funkcja Gemini API zwraca odpowiedzi jako tekst nieustrukturyzowany. Niektóre przypadki użycia wymagają jednak tekstu ustrukturyzowanego, np. w formacie JSON. Możesz na przykład używać odpowiedzi do innych zadań, które wymagają ustalonego schematu danych.

Aby wygenerowane przez model dane wyjściowe zawsze były zgodne z określonym schematem, możesz zdefiniować schemat odpowiedzi, który działa jak szablon odpowiedzi modelu. Dzięki temu możesz wyodrębnić dane bezpośrednio z wyjścia modelu, co wymaga mniej przetwarzania w pościepce.

Oto przykłady:

  • Upewnij się, że odpowiedź modelu zwraca prawidłowy format JSON i jest zgodna ze schematem dostarczonym przez Ciebie.
    Na przykład model może generować uporządkowane wpisy dotyczące przepisów, które zawsze zawierają nazwę przepisu, listę składników i sposób przygotowania. Dzięki temu łatwiej będzie Ci analizować te informacje i wyświetlać je w interfejsie aplikacji.

  • Ogranicz, jak model może odpowiadać podczas zadań klasyfikacji.
    Możesz na przykład zlecić modelowi dodanie do tekstu określonych etykiet (np. określonego zbioru typów danych, takich jak positivenegative), a nie etykiet wygenerowanych przez model (które mogą się różnić, np. good, positive, negative lub bad).

Z tego przewodnika dowiesz się, jak wygenerować dane wyjściowe w formacie JSON, podając parametr responseSchema w wywołaniu funkcji generateContent. Koncentruje się na danych wejściowych w postaci tekstu, ale może też generować uporządkowane odpowiedzi na żądania multimodalne, które zawierają obrazy, filmy i dźwięk.

W dolnej części tej strony znajdziesz więcej przykładów, np. jak generować wartości wyliczenia jako dane wyjściowe. Aby zobaczyć dodatkowe przykłady generowania uporządkowanych danych wyjściowych, zapoznaj się z listą przykładowych schematów i odpowiedzi modelu w dokumentacji Google Cloud.

Zanim zaczniesz

Jeśli jeszcze tego nie zrobiłeś/nie zrobiłaś, zapoznaj się z przewodnikiem korzystania z pakietów SDK Vertex AI in Firebase. Najpierw wykonaj te czynności:

  1. Skonfiguruj nowy lub istniejący projekt Firebase, w tym użyj abonamentu Blaze i włącz wymagane interfejsy API.

  2. Połącz aplikację z Firebase, w tym zarejestruj ją i dodaj do niej konfigurację Firebase.

  3. Dodaj pakiet SDK i zainicjuj usługę Vertex AI oraz model generatywny w swojej aplikacji.

Po połączeniu aplikacji z Firebase, dodaniu pakietu SDK i inicjalizacji usługi Vertex AI oraz modelu generatywnego możesz wywołać funkcję Gemini API.

Krok 1. Określ schemat odpowiedzi

Zdefiniuj schemat odpowiedzi, aby określić strukturę danych wyjściowych modelu, nazwy pól i oczekiwaną formę danych w każdym polu.

Podczas generowania odpowiedzi model używa nazwy pola i kontekstu z prompta. Aby jasno określić swój zamiar, zalecamy użycie przejrzystej struktury, jednoznacznych nazw pól, a w razie potrzeby – również opisów.

Uwagi dotyczące schematów odpowiedzi

Podczas pisania schematu odpowiedzi pamiętaj o tych kwestiach:

  • Rozmiar schematu odpowiedzi wlicza się do limitu tokenów wejściowych.

  • Funkcja schematu odpowiedzi obsługuje te typy MIME odpowiedzi:

    • application/json: dane wyjściowe w formacie JSON zgodnie ze schematem odpowiedzi (przydatne w przypadku wymagań dotyczących danych uporządkowanych).

    • text/x.enum: zwraca wartość typu wyliczeniowego zgodnie ze schematem odpowiedzi (przydatne w przypadku zadań klasyfikacyjnych).

  • Funkcja schematu odpowiedzi obsługuje te pola schematu:

    enum
    items
    maxItems
    nullable
    properties
    required

    Jeśli użyjesz pola, które nie jest obsługiwane, model może nadal obsłużyć Twoje żądanie, ale zignoruje to pole. Pamiętaj, że powyższa lista jest podzbiorem obiektu schematu OpenAPI 3.0 (patrz dokumentacja schematu Vertex AI).

  • Domyślnie w przypadku pakietów SDK Vertex AI in Firebase wszystkie pola są uważane za wymagane, chyba że w tablicy optionalProperties zostaną określone jako opcjonalne. W przypadku tych pól opcjonalnych model może wypełnić pola lub je pominąć.

    Pamiętaj, że jest to przeciwieństwo domyślnego zachowania funkcji Vertex AI Gemini API.

Krok 2. Wyślij prompt z schematem odpowiedzi, aby wygenerować plik JSON.

Poniższy przykład pokazuje, jak wygenerować uporządkowane dane wyjściowe w formacie JSON.

Aby wygenerować dane wyjściowe w formie ustrukturyzowanej, musisz podczas inicjalizacji modelu podać odpowiednią funkcję responseMimeType (w tym przykładzie application/json), a także funkcję responseSchema, której model ma używać.

Użycie responseSchema jest obsługiwane przez Gemini 1.5 Pro i Gemini 1.5 Flash.

Dowiedz się, jak wybrać model Gemini i opcjonalnie lokalizację odpowiednią do Twojego przypadku użycia i aplikacji.

Dodatkowe przykłady

Aby zobaczyć dodatkowe przykłady korzystania z uporządkowanego wyjścia i generowania go, zapoznaj się z listą przykładowych schematów i reakcji modelu w dokumentacji Google Cloud.

generować wartości typu wyliczeniowego jako dane wyjściowe.

Ten przykład pokazuje, jak używać schematu odpowiedzi w przypadku zadania polegającego na klasyfikacji. Model ma rozpoznać gatunek filmu na podstawie jego opisu. Wyjściem jest jedna wartość typu enum w formie tekstu, którą model wybiera z listy wartości zdefiniowanych w dostarczonym schemacie odpowiedzi.

Aby wykonać to zadanie klasyfikacji uporządkowanej, musisz podczas inicjalizacji modelu podać odpowiednią funkcję responseMimeType (w tym przykładzie text/x.enum) oraz funkcję responseSchema, której model ma używać.

Dowiedz się, jak wybrać model Gemini i opcjonalnie lokalizację odpowiednią do Twojego przypadku użycia i aplikacji.

Inne opcje kontrolowania generowania treści

  • Dowiedz się więcej o projektowaniu promptów, aby móc wpływać na model w celu generowania wyników odpowiadających Twoim potrzebom.
  • Skonfiguruj parametry modelu, aby kontrolować, jak model wygeneruje odpowiedź. Do tych parametrów należą: maksymalna liczba tokenów wyjściowych, temperatura, topK i topP.
  • Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymania odpowiedzi, które mogą być uznane za szkodliwe, w tym wypowiedzi szerzące nienawiść i treści o charakterze jednoznacznie seksualnym.
  • Ustaw instrukcje systemowe, aby kierować działaniem modelu. Ta funkcja jest jak „wstęp”, który dodajesz przed udostępnieniem modelu w celu uzyskania dalszych instrukcji od użytkownika końcowego.


Prześlij opinię o swoich wrażeniach z korzystania z usługi Vertex AI in Firebase