Gemini 2.0 Flash (wersja eksperymentalna)

Gemini 2.0 Flash jest teraz dostępny jako eksperymentalna wersja wstępna w Gemini Developer API i Google AI Studio. Model wprowadza nowe funkcje i ulepszone podstawowe możliwości:

  • Interfejs multimodalny Live API: ten nowy interfejs API ułatwia tworzenie aplikacji do strumieniowego przesyłania obrazu i dźwięku w czasie rzeczywistym.
  • Szybkość i wydajność: model Gemini 2.0 znacznie skraca czas do pierwszego tokena (TTFT) w porównaniu z modelem 1.5 Flash.
  • Jakość: wyższa skuteczność w większości testów porównawczych niż w przypadku Gemini 1.5 Pro.
  • Udoskonalone możliwości agenta: Gemini 2.0 ulepsza zrozumienie multimodalne, kodowanie, wykonywanie złożonych instrukcji i wywoływanie funkcji.
  • Nowe tryby: Gemini 2.0 wprowadza natywne generowanie obrazów i możliwości kontrolowanego odczytywania tekstu.

Aby ułatwić pracę deweloperom, udostępniamy też nowy pakiet SDK. Szczegółowe informacje techniczne dotyczące Gemini 2.0 znajdziesz w artykule Modele Gemini.

Pakiet Google Gen AI SDK (eksperymentalny)

Nowy pakiet Google Gen AI SDK zapewnia zintegrowany interfejs Gemini 2.0 za pomocą interfejsu Gemini Developer API i interfejsu Gemini API w Vertex AI. Z kilkoma wyjątkami kod działający na jednej platformie będzie działać na obu. Nowy pakiet SDK jest dostępny w językach Python i Go, a wkrótce udostępnimy go też w językach Java i JavaScript.

  1. Zainstaluj nowy pakiet SDK: pip install google-genai
  2. Następnie zaimportuj bibliotekę, zainicjuj klienta i wygeneruj treści:
from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(model='gemini-2.0-flash-exp', contents='How does AI work?')
print(response.text)

Deweloperzy Pythona mogą też skorzystać z notebooka Pierwsze krokiksiążce kucharskiej Gemini.

Interfejs API rozmów multimodalnych na żywo

Interfejs API multimodalny na żywo umożliwia dwukierunkowe interakcje głosowe i wideo z Gemini o niskim opóźnieniu. Dzięki interfejsowi API Multimodal Live możesz zapewnić użytkownikom naturalne, przypominające ludzkie rozmowy głosowe oraz możliwość przerywania odpowiedzi modelu za pomocą poleceń głosowych. Model może przetwarzać dane wejściowe w postaci tekstu, dźwięku i obrazu oraz generować dane wyjściowe w postaci tekstu i dźwięku.

Interfejs API Multimodal Live możesz wypróbować w Google AI Studio. Więcej informacji o możliwościach i ograniczeniach interfejsu API znajdziesz w przewodniku po interfejsie API Multimodal Live API.

Wyszukiwanie jako narzędzie

Dzięki użyciu funkcji Grounding w wyszukiwarce Google możesz zwiększyć dokładność i aktualność odpowiedzi modelu. Począwszy od Gemini 2.0 wyszukiwarka Google jest dostępna jako narzędzie. Oznacza to, że model może sam decydować, kiedy korzystać z wyszukiwarki Google. Poniższy przykład pokazuje, jak skonfigurować wyszukiwanie jako narzędzie.

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

client = genai.Client()
model_id = "gemini-2.0-flash-exp"

google_search_tool = Tool(
    google_search = GoogleSearch()
)

response = client.models.generate_content(
    model=model_id,
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[google_search_tool],
        response_modalities=["TEXT"],
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

Funkcja wyszukiwania jako narzędzia umożliwia też wyszukiwanie wieloetapowe i zapytania wielonarzędziowe (np. połączenie funkcji Grounding z wyszukiwarką Google i wykonywanie kodu).

Wyszukiwarka jako narzędzie umożliwia tworzenie złożonych promptów i przepływów pracy, które wymagają planowania, rozumowania i myślenia:

  • tworzenie podstawy, aby zwiększyć trafność i aktualność odpowiedzi
  • Pobieranie artefaktów z internetu w celu przeprowadzenia dalszej analizy
  • znajdowanie odpowiednich obrazów, filmów lub innych multimediów, które pomogą w rozwiązywaniu zadań dotyczących rozumowania multimodalnego lub generowania treści;
  • kodowanie, rozwiązywanie problemów technicznych i inne specjalistyczne zadania;
  • znajdowanie informacji dotyczących poszczególnych regionów lub pomoc w dokładnym tłumaczeniu treści;
  • znajdowanie odpowiednich witryn do dalszego przeglądania;

Wyszukiwanie jako narzędzie to funkcja płatna, która ma bardzo ograniczony bezpłatny poziom. Więcej informacji znajdziesz na stronie z cennikiem.

Aby rozpocząć, wypróbuj notatnik narzędzia wyszukiwania.

Ulepszone korzystanie z narzędzi

Gemini 2.0 wprowadza ulepszenia funkcji wywoływania i narzędzi, które zapewniają lepszą obsługę agentów.

Wywoływanie funkcji kompozytowej

Gemini 2.0 obsługuje nową funkcję wywołania funkcji: kompozycję wywołania funkcji. Wywoływanie funkcji kompozytowych umożliwia interfejsowi Gemini API automatyczne wywoływanie wielu funkcji zdefiniowanych przez użytkownika w procesie generowania odpowiedzi. Na przykład, aby odpowiedzieć na prompt "Get the temperature in my current location", interfejs Gemini API może wywołać zarówno funkcję get_current_location(), jak i funkcję get_weather(), która przyjmuje lokalizację jako parametr.

Wywoływanie funkcji kompozytowej z wykonywaniem kodu wymaga dwukierunkowego przesyłania strumieniowego i jest obsługiwane tylko przez nowy interfejs API Multimodal Live. Oto przykład pokazujący, jak można używać wywołania funkcji kompozytowej, wykonywania kodu i interfejsu Multimodal Live API:

turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}

prompt = """
  Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
  """

tools = [
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Deweloperzy Pythona mogą wypróbować to w notatniku dotyczącym korzystania z interfejsu Live API.

Użycie narzędzia wielofunkcyjnego

Dzięki Gemini 2.0 możesz włączyć wiele narzędzi jednocześnie, a model sam zdecyduje, kiedy je wykorzystać. Oto przykład, w którym w ramach jednego zapytania korzystającego z interfejsu Multimodal Live API włączono 2 narzędzia: Grounding z wyszukiwarką Google i wykonanie kodu.

prompt = """
  Hey, I need you to do three things for me.

  1. Turn on the lights.
  2. Then compute the largest prime palindrome under 100000.
  3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.

  Thanks!
  """

tools = [
    {'google_search': {}},
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Deweloperzy Pythona mogą wypróbować to w notatniku dotyczącym korzystania z interfejsu Live API.

Wykrywanie ramki ograniczającej

W ramach tego eksperymentalnego wdrożenia udostępniamy deweloperom potężne narzędzie do wykrywania i lokalizowania obiektów na zdjęciach i w filmach. Dzięki dokładnemu identyfikowaniu i oznaczaniu obiektów za pomocą ramek ograniczających deweloperzy mogą tworzyć szeroką gamę aplikacji i ulepszać działanie swoich projektów.

Najważniejsze zalety:

  • Prosta: bez względu na to, czy masz doświadczenie w obszarze widzenia komputerowego, możesz z łatwością zintegrować w swoich aplikacjach funkcje wykrywania obiektów.
  • Możliwość dostosowania: generowanie ramek ograniczających na podstawie niestandardowych instrukcji (np. „Chcę zobaczyć ramki ograniczające wszystkich zielonych obiektów na tym obrazie”) bez konieczności trenowania niestandardowego modelu.

Szczegóły techniczne:

  • Wejście: prompt i powiązane obrazy lub klatki wideo.
  • Wyjście: ramki ograniczające w formacie [y_min, x_min, y_max, x_max]. Lewy górny róg to punkt początkowy. Osie xy są odpowiednio poziome i pionowe. Wartości współrzędnych są normalizowane do zakresu 0–1000 w przypadku każdego obrazu.
  • Wizualizacja: użytkownicy AI Studio zobaczą ramki ograniczające narysowane w interfejsie. Użytkownicy Vertex AI powinni wizualizować swoje ramki za pomocą niestandardowego kodu wizualizacji.

Deweloperzy Pythona mogą skorzystać z notatnika z 2D spatial understanding lub eksperymentalnego notatnika z wskazaniem 3D.

generowanie mowy (wcześniejszy dostęp/lista dozwolonych),

Gemini 2.0 obsługuje nową funkcję generowania multimodalnego: zamianę tekstu na mowę. Dzięki funkcji konwersji tekstu na mowę możesz poprosić model o wygenerowanie wysokiej jakości dźwięku, który brzmi jak ludzki głos (say "hi everyone"). Możesz też dodatkowo dostosować wynik, kierując głos.

generowanie obrazów (wcześniejszy dostęp/lista dozwolonych),

Gemini 2.0 obsługuje możliwość wyświetlania tekstu z wbudowanymi obrazami. Dzięki temu możesz używać Gemini do konwersacyjnego edytowania obrazów lub generowania multimodalnych danych wyjściowych (np. wpisu na blogu z tekstem i obrazami w jednym tekście). Wcześniej wymagało to połączenia wielu modeli.

Generowanie obrazów jest dostępne jako prywatna wersja eksperymentalna. Obsługuje te tryby i funkcje:

  • Tekst na obrazie
    • Przykładowy prompt: „Wygeneruj obraz wieży Eiffla z fajerwerkami w tle”.
  • Tekst na obraz(obrazy) i tekst (przeplatany)
    • Przykładowy prompt: „Wygeneruj ilustrowany przepis na paellę”.
  • Obrazy i tekst na obrazy i tekst (przeplatane)
    • Przykład promptu: (z obrazem umeblowanego pokoju) „Jakie inne kolory sof pasowałyby do mojego pokoju? Czy możesz zaktualizować obraz?”
  • Edytowanie obrazu (tekst i obraz do obrazu)
    • Przykładowy prompt: „Edytuj to zdjęcie, aby wyglądało jak rysunek”
    • Przykładowy prompt: [obraz kota] + [obraz poduszki] + „Wyhaftuj na tej poduszce mojego kota”.
  • Edytowanie obrazu w wielu krokach (czat)
    • Przykładowe prompty: [prześlij zdjęcie niebieskiego samochodu] „Zamień ten samochód na kabriolet”. „Zamień teraz kolor na żółty”.
  • Znak wodny
    • Wszystkie wygenerowane obrazy zawierają znak wodny SynthID.

Ograniczenia:

  • Generowanie obrazów przedstawiających ludzi i edytowanie przesłanych zdjęć takich obrazów jest niedozwolone.
  • Aby uzyskać najlepsze wyniki, używaj tych języków: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Generowanie obrazów nie obsługuje danych wejściowych audio ani wideo.
  • Generowanie obrazu może nie zostać uruchomione, jeśli:
    • Model może generować tylko tekst. Spróbuj wyraźnie poprosić o wyjściowe obrazy (np. „wygeneruj obraz”, „prześlij obrazy”, „zaktualizuj obraz”).
    • Model może przestać generować dane w połowie procesu. Spróbuj ponownie lub wybierz inny prompt.