Gemini 2.0 Flash (eksperimental)

Gemini 2.0 Flash tani është i disponueshëm si një version paraprak eksperimental përmes API-së së Zhvilluesit Gemini dhe Google AI Studio. Modeli prezanton veçori të reja dhe aftësi të zgjeruara thelbësore:

  • Multimodal Live API: Ky API i ri ju ndihmon të krijoni aplikacione vizioni dhe transmetimi audio në kohë reale me përdorimin e veglave.
  • Shpejtësia dhe performanca: Gemini 2.0 ka një kohë të përmirësuar ndjeshëm në shenjën e parë (TTFT) mbi 1.5 Flash.
  • Cilësia: Performancë më e mirë në shumicën e standardeve sesa Gemini 1.5 Pro.
  • Aftësitë e përmirësuara agjenturore: Gemini 2.0 ofron përmirësime në kuptimin multimodal, kodimin, ndjekjen komplekse të udhëzimeve dhe thirrjen e funksionit.
  • Modalitete të reja: Gemini 2.0 prezanton gjenerimin e imazheve origjinale dhe aftësitë e kontrollueshme të tekstit në të folur.

Për të ofruar një përvojë më të mirë zhvilluesi, ne po dërgojmë gjithashtu një SDK të re . Për detajet teknike të Gemini 2.0, shihni modelet e Gemini .

Google Gen AI SDK (eksperimentale)

Google Gen AI SDK i ri ofron një ndërfaqe të unifikuar për Gemini 2.0 nëpërmjet API-së së Zhvilluesit Gemini dhe API-së Gemini në Vertex AI. Me disa përjashtime, kodi që funksionon në një platformë do të ekzekutohet në të dyja. Kjo do të thotë që ju mund të prototiponi një aplikacion duke përdorur Developer API dhe më pas ta migroni aplikacionin në Vertex AI pa e rishkruar kodin tuaj.

Gen AI SDK gjithashtu mbështet modelet Gemini 1.5.

SDK-ja e re është e disponueshme në Python dhe Go, me Java dhe JavaScript që vijnë së shpejti.

Mund të filloni të përdorni SDK-në siç tregohet më poshtë.

  1. Instaloni SDK-në e re: pip install google-genai
  2. Pastaj importoni bibliotekën, inicializoni një klient dhe gjeneroni përmbajtje:
from google import genai

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

(Opsionale) Vendos variablat e mjedisit

Përndryshe, ju mund të inicializoni klientin duke përdorur variablat e mjedisit. Së pari vendosni vlerat e duhura dhe eksportoni variablat:

# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY

Pastaj mund të inicializoni klientin pa asnjë arg:

client = genai.Client()

Zhvilluesit e Python mund të provojnë gjithashtu fletoren FillimiLibrin e Kuzhinimit .

API Multimodal Live

API Multimodal Live mundëson ndërveprime dydrejtimëshe me zë dhe video me vonesë të ulët me Gemini. Duke përdorur Multimodal Live API, ju mund t'u ofroni përdoruesve të fundit përvojën e bisedave zanore natyrale, të ngjashme me njerëzit, dhe aftësinë për të ndërprerë përgjigjet e modelit duke përdorur komandat zanore. Modeli mund të përpunojë hyrjen e tekstit, audio dhe video, dhe mund të sigurojë dalje teksti dhe audio.

API Multimodal Live është i disponueshëm në Gemini API si metoda BidiGenerateContent dhe është ndërtuar në WebSockets .

from google import genai

client = genai.Client(http_options={'api_version': 'v1alpha'})
model_id = "gemini-2.0-flash-exp"
config = {"response_modalities": ["TEXT"]}

async with client.aio.live.connect(model=model_id, config=config) as session:
    message = "Hello? Gemini, are you there?"
    print("> ", message, "\n")
    await session.send(message, end_of_turn=True)

    async for response in session.receive():
        print(response.text)

Aftësitë kryesore:

  • Multimodaliteti: Modeli mund të shohë, të dëgjojë dhe të flasë.
  • Ndërveprimi në kohë reale me vonesë të ulët: Ofron përgjigje të shpejta.
  • Kujtesa e sesionit: Modeli ruan kujtesën e të gjitha ndërveprimeve brenda një sesioni të vetëm, duke kujtuar informacionin e dëgjuar ose parë më parë.
  • Mbështetje për thirrjen e funksionit, ekzekutimin e kodit dhe Kërkimin si mjet: Mundëson integrimin me shërbimet e jashtme dhe burimet e të dhënave.
  • Zbulimi i automatizuar i aktivitetit të zërit (VAD): Modeli mund të njohë me saktësi kur përdoruesi fillon dhe ndalon së foluri. Kjo lejon ndërveprime të natyrshme, bashkëbiseduese dhe fuqizon përdoruesit të ndërpresin modelin në çdo kohë.

Gjuha:

  • vetëm anglisht

Kufizimet:

  • Të dyja hyrjet dhe daljet audio ndikojnë negativisht në aftësinë e modelit për të përdorur thirrjen e funksionit.

Për të mësuar më shumë për aftësitë dhe kufizimet e API-së, shihni udhëzuesin e referencës Multimodal Live API .

Mund të provoni Multimodal Live API në Google AI Studio . Për të filluar zhvillimin, mund të provoni tastierën në internet (të shkruar në React). Për zhvilluesit e Python, provoni kodin fillestar ( notebook dhe skedar .py ). Ju mund ta gjeni fletoren më të lehtë për të filluar, por API live funksionon më mirë kur ekzekutohet nga terminali juaj.

Kërko si mjet

Duke përdorur Grounding with Google Search, mund të përmirësoni saktësinë dhe kohëzgjatjen e përgjigjeve nga modeli. Duke filluar me Gemini 2.0, Google Search ofrohet si mjet. Kjo do të thotë që modeli mund të vendosë se kur të përdorë Kërkimin në Google. Shembulli i mëposhtëm tregon se si të konfiguroni Kërkimin si një mjet.

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)

Funksionaliteti "Kërko si mjet" mundëson gjithashtu kërkime me shumë kthesa dhe pyetje me shumë mjete (për shembull, kombinimi i Tokëzimit me Kërkimin në Google dhe ekzekutimin e kodit).

Kërkimi si mjet mundëson kërkesa komplekse dhe rrjedha pune që kërkojnë planifikim, arsyetim dhe të menduar:

  • Arsyeja për të rritur faktet dhe kohët e fundit dhe për të dhënë përgjigje më të sakta
  • Marrja e objekteve nga uebi për të bërë analiza të mëtejshme
  • Gjetja e imazheve, videove ose mediave të tjera përkatëse për të ndihmuar në arsyetimin multimodal ose detyrat e gjenerimit
  • Kodimi, zgjidhja e problemeve teknike dhe detyra të tjera të specializuara
  • Gjetja e informacionit specifik për rajonin ose ndihma në përkthimin e saktë të përmbajtjes
  • Gjetja e faqeve të internetit përkatëse për shfletim të mëtejshëm

Mund të filloni duke provuar fletoren e veglave të kërkimit .

Përdorimi i përmirësuar i mjeteve

Gemini 2.0 prezanton përmirësime në thirrjet funksionale dhe mjete që ofrojnë mbështetje më të mirë për përvojat agjenturore.

Thirrja e funksionit kompozicional

Gemini 2.0 mbështet një aftësi të re për thirrjen e funksionit: thirrjen e funksionit kompozicional . Thirrja e funksionit kompozicional i mundëson API-së Gemini të thërrasë automatikisht funksione të shumta të përcaktuara nga përdoruesi në procesin e gjenerimit të një përgjigjeje. Për shembull, për t'iu përgjigjur kërkesës "Get the temperature in my current location" , Gemini API mund të thërrasë si një funksion get_current_location() dhe një funksion get_weather() që merr vendndodhjen si parametër.

Thirrja e funksionit kompozicional me ekzekutimin e kodit kërkon transmetim dydrejtimësh dhe mbështetet vetëm nga API-ja e re Multimodal Live. Ja një shembull që tregon se si mund të përdorni thirrjen e funksionit kompozicional, ekzekutimin e kodit dhe API-në Multimodal Live së bashku:

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")

Zhvilluesit e Python mund ta provojnë këtë në fletoren Live API Tool Use .

Përdorimi me shumë mjete

Me Gemini 2.0, mund të aktivizoni shumë mjete në të njëjtën kohë dhe modeli do të vendosë se kur t'i telefonojë ato. Ja një shembull që mundëson dy mjete, Grounding with Google Search dhe ekzekutimin e kodit, në një kërkesë duke përdorur Multimodal Live API.

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")

Zhvilluesit e Python mund ta provojnë këtë në fletoren Live API Tool Use .

Zbulimi i kutisë kufizuese

Në këtë nisje eksperimentale, ne po u ofrojmë zhvilluesve një mjet të fuqishëm për zbulimin dhe lokalizimin e objekteve brenda imazheve dhe videove. Duke identifikuar dhe përcaktuar me saktësi objektet me kuti kufizuese, zhvilluesit mund të zhbllokojnë një gamë të gjerë aplikacionesh dhe të rrisin inteligjencën e projekteve të tyre.

Përfitimet kryesore:

  • E thjeshtë: Integroni me lehtësi aftësitë e zbulimit të objekteve në aplikacionet tuaja, pavarësisht nga ekspertiza juaj e vizionit kompjuterik.
  • I personalizueshëm: Krijoni kuti kufizuese bazuar në udhëzimet e personalizuara (p.sh. "Dua të shoh kutitë kufizuese të të gjitha objekteve të gjelbra në këtë imazh"), pa pasur nevojë të trajnoj një model të personalizuar.

Detajet teknike:

  • Hyrja: Imazhet ose kornizat e videos suaj të menjëhershme dhe të lidhura.
  • Dalja: Kufizimet e kutive në formatin [y_min, x_min, y_max, x_max] . Këndi i sipërm majtas është origjina. Boshtet x dhe y shkojnë përkatësisht horizontalisht dhe vertikalisht. Vlerat e koordinatave normalizohen në 0-1000 për çdo imazh.
  • Vizualizimi: Përdoruesit e AI Studio do të shohin kutitë kufizuese të vizatuara brenda ndërfaqes së përdoruesit. Përdoruesit e Vertex AI duhet të vizualizojnë kutitë e tyre kufizuese përmes kodit të personalizimit të vizualizimit.

Për zhvilluesit e Python, provoni fletoren 2D të kuptimit hapësinor ose fletoren eksperimentale me drejtim 3D .

Gjenerimi i të folurit (qasja e hershme/lista e lejimeve)

Gemini 2.0 mbështet një aftësi të re të gjenerimit multimodal: tekst në të folur. Duke përdorur aftësinë e tekstit në të folur, mund ta nxisni modelin të gjenerojë dalje audio me cilësi të lartë që tingëllon si zë njeriu ( say "hi everyone" ) dhe mund ta përmirësoni më tej daljen duke drejtuar zërin.

Gjenerimi i imazhit (qasja e hershme/lista e lejimeve)

Gemini 2.0 mbështet aftësinë për të nxjerrë tekst me imazhe në linjë. Kjo ju lejon të përdorni Gemini për të modifikuar imazhe në bisedë ose për të gjeneruar rezultate multimodale (për shembull, një postim në blog me tekst dhe imazhe në një kthesë të vetme). Më parë kjo do të kërkonte bashkimin e modeleve të shumta.

Gjenerimi i imazhit ofrohet si një version eksperimental privat. Ai mbështet modalitetet dhe aftësitë e mëposhtme:

  • Teksti në imazh
    • Shembull i kërkesës: "Gjeneroni një imazh të kullës Eifel me fishekzjarre në sfond."
  • Teksti në imazh(et) dhe teksti (i ndërthurur)
    • Shembull i kërkesës: "Krijoni një recetë të ilustruar për një paella."
  • Imazhi(et) dhe teksti në imazh(et) dhe teksti (i ndërthurur)
    • Shembull i kërkesës: (Me një imazh të një dhome të mobiluar) "Cila divane me ngjyra të tjera do të funksiononin në hapësirën time? a mund ta përditësoni imazhin?"
  • Redaktimi i imazhit (tekst dhe imazh në imazh)
    • Shembull i kërkesës: "Ndrysho këtë imazh që të duket si një film vizatimor"
    • Shembull i kërkesës: [imazhi i një mace] + [imazhi i një jastëku] + "Krijo një qepje tërthore të maces sime në këtë jastëk."
  • Redaktimi i imazhit me shumë kthesa (chat)
    • Shembull kërkon: [ngarkoni një imazh të një makine blu.] "Kthejeni këtë makinë në një makinë të konvertueshme." "Tani ndryshoni ngjyrën në të verdhë."
  • Filigranim (synthID)

Kufizimet:

  • Gjenerimi i njerëzve dhe redaktimi i imazheve të ngarkuara të njerëzve nuk lejohen.
  • Për performancën më të mirë, përdorni gjuhët e mëposhtme: EN, es-MX, ja-JP, zh-CN, hi-IN.
  • Gjenerimi i imazhit nuk mbështet hyrjet audio ose video.
  • Gjenerimi i imazhit mund të mos shkaktojë gjithmonë:
    • Modeli mund të nxjerrë vetëm tekst. Provoni të kërkoni në mënyrë eksplicite rezultatet e imazhit (p.sh. "gjeneroni një imazh", "siguroni imazhe ndërsa vazhdoni", "përditësoni imazhin").
    • Modeli mund të ndalojë së prodhuari pjesërisht. Provo sërish ose provo një kërkesë tjetër.