Billede af forfatter
Gemini er en ny model udviklet af Google, og Bard er ved at blive brugbar igen. Med Gemini er det nu muligt at få næsten perfekte svar på dine forespørgsler ved at give dem billeder, lyd og tekst.
I denne tutorial lærer vi om Gemini API, og hvordan du konfigurerer det på din maskine. Vi vil også udforske forskellige Python API-funktioner, herunder tekstgenerering og billedforståelse.
Gemini er en ny AI-model udviklet gennem samarbejde mellem teams hos Google, herunder Google Research og Google DeepMind. Det blev bygget specifikt til at være multimodalt, hvilket betyder, at det kan forstå og arbejde med forskellige typer data som tekst, kode, lyd, billeder og video.
Gemini er den mest avancerede og største AI-model udviklet af Google til dato. Den er designet til at være yderst fleksibel, så den kan fungere effektivt på en lang række systemer, fra datacentre til mobile enheder. Det betyder, at det har potentialet til at revolutionere måden, hvorpå virksomheder og udviklere kan bygge og skalere AI-applikationer.
Her er tre versioner af Gemini-modellen designet til forskellige anvendelsestilfælde:
- Gemini Ultra: Største og mest avancerede AI, der er i stand til at udføre komplekse opgaver.
- GeminiPro: En afbalanceret model, der har god ydeevne og skalerbarhed.
- Gemini Nano: Mest effektiv til mobile enheder.
Billede fra Introduktion til Gemini
Gemini Ultra har state-of-the-art ydeevne, der overgår ydeevnen af GPT-4 på flere målinger. Det er den første model, der overgår menneskelige eksperter på benchmarket Massive Multitask Language Understanding, som tester verdensviden og problemløsning på tværs af 57 forskellige emner. Dette viser dens avancerede forståelse og problemløsningsevner.
For at bruge API'en skal vi først hente en API-nøgle, som du kan herfra: https://ai.google.dev/tutorials/setup
Klik derefter på knappen "Få en API-nøgle" og klik derefter på "Opret API-nøgle i nyt projekt".
Kopier API-nøglen og indstil den som en miljøvariabel. Vi bruger Deepnote, og det er ret nemt for os at sætte nøglen med navnet "GEMINI_API_KEY". Bare gå til integrationen, rul ned og vælg miljøvariabler.
I det næste trin vil vi installere Python API ved hjælp af PIP:
pip install -q -U google-generativeai
Derefter indstiller vi API-nøglen til Googles GenAI og starter forekomsten.
import google.generativeai as genai
import os
gemini_api_key = os.environ["GEMINI_API_KEY"]
genai.configure(api_key = gemini_api_key)
Efter opsætning af API-nøglen er det nemt at bruge Gemini Pro-modellen til at generere indhold. Giv en prompt til funktionen `generere_indhold` og vis output som Markdown.
from IPython.display import Markdown
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Who is the GOAT in the NBA?")
Markdown(response.text)
Det er fantastisk, men jeg er ikke enig i listen. Jeg forstår dog, at det handler om personlig præference.
Gemini kan generere flere svar, kaldet kandidater, for en enkelt prompt. Du kan vælge den bedst egnede. I vores tilfælde havde vi kun ét svar.
response.candidates
Lad os bede den om at skrive et simpelt spil i Python.
response = model.generate_content("Build a simple game in Python")
Markdown(response.text)
Resultatet er enkelt og konkret. De fleste LLM'er begynder at forklare Python-koden i stedet for at skrive den.
Du kan tilpasse dit svar ved at bruge argumentet `generation_config`. Vi begrænser antallet af kandidater til 1, tilføjer stopordet "mellemrum" og indstiller maks. tokens og temperatur.
response = model.generate_content(
'Write a short story about aliens.',
generation_config=genai.types.GenerationConfig(
candidate_count=1,
stop_sequences=['space'],
max_output_tokens=200,
temperature=0.7)
)
Markdown(response.text)
Som du kan se, stoppede svaret før ordet "mellemrum". Fantastiske.
Du kan også bruge 'stream'-argumentet til at streame svaret. Det ligner Anthropic og OpenAI API'erne, men hurtigere.
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Write a Julia function for cleaning the data.", stream=True)
for chunk in response:
print(chunk.text)
I dette afsnit vil vi indlæse Masood Aslamis foto og brug det til at teste multimodaliteten i Gemini Pro Vision.
Indlæs billederne til `PIL` og vis det.
import PIL.Image
img = PIL.Image.open('images/photo-1.jpg')
img
Vi har et foto af høj kvalitet af Rua Augusta Arch.
Lad os indlæse Gemini Pro Vision-modellen og forsyne den med billedet.
model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content(img)
Markdown(response.text)
Modellen identificerede paladset nøjagtigt og gav yderligere oplysninger om dets historie og arkitektur.
Lad os give det samme billede til GPT-4 og spørge det om billedet. Begge modeller har givet næsten ens svar. Men jeg kan bedre lide GPT-4-svaret.
Vi vil nu levere tekst og billede til API'et. Vi har bedt visionsmodellen om at skrive en rejseblog med billedet som reference.
response = model.generate_content(["Write a travel blog post using the image as reference.", img])
Markdown(response.text)
Det har givet mig en kort blog. Jeg havde forventet længere format.
Sammenlignet med GPT-4 har Gemini Pro Vision-modellen kæmpet for at generere en blog i langt format.
Vi kan sætte modellen op til at have en frem og tilbage chatsession. På denne måde husker modellen konteksten og responsen ved hjælp af de tidligere samtaler.
I vores tilfælde har vi startet chat-sessionen og bedt modellen om at hjælpe mig i gang med Dota 2-spillet.
model = genai.GenerativeModel('gemini-pro')
chat = model.start_chat(history=[])
chat.send_message("Can you please guide me on how to start playing Dota 2?")
chat.history
Som du kan se, gemmer "chat"-objektet historikken for bruger- og modechatten.
Vi kan også vise dem i en Markdown-stil.
for message in chat.history:
display(Markdown(f'**{message.role}**: {message.parts[0].text}'))
Lad os stille opfølgende spørgsmål.
chat.send_message("Which Dota 2 heroes should I start with?")
for message in chat.history:
display(Markdown(f'**{message.role}**: {message.parts[0].text}'))
Vi kan scrolle ned og se hele sessionen med modellen.
Indlejringsmodeller bliver stadig mere populære til kontekstbevidste applikationer. Gemini embedding-001 modellen tillader ord, sætninger eller hele dokumenter at blive repræsenteret som tætte vektorer, der koder for semantisk betydning. Denne vektorrepræsentation gør det muligt nemt at sammenligne ligheden mellem forskellige tekststykker ved at sammenligne deres tilsvarende indlejringsvektorer.
Vi kan levere indholdet til 'embed_content' og konvertere teksten til indlejringer. Så enkelt er det.
output = genai.embed_content(
model="models/embedding-001",
content="Can you please guide me on how to start playing Dota 2?",
task_type="retrieval_document",
title="Embedding of Dota 2 question")
print(output['embedding'][0:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664]
Vi kan konvertere flere bidder af tekst til indlejringer ved at sende en liste over strenge til argumentet 'indhold'.
output = genai.embed_content(
model="models/embedding-001",
content=[
"Can you please guide me on how to start playing Dota 2?",
"Which Dota 2 heroes should I start with?",
],
task_type="retrieval_document",
title="Embedding of Dota 2 question")
for emb in output['embedding']:
print(emb[:10])
[0.060604308, -0.023885584, -0.007826327, -0.070592545, 0.021225851, 0.043229062, 0.06876691, 0.049298503, 0.039964676, 0.08291664]
[0.04775657, -0.044990525, -0.014886052, -0.08473655, 0.04060122, 0.035374347, 0.031866882, 0.071754575, 0.042207796, 0.04577447]
Hvis du har problemer med at gengive det samme resultat, så tjek mit Deepnote arbejdsområde.
Der er så mange avancerede funktioner, som vi ikke dækkede i denne introduktionsvejledning. Du kan lære mere om Gemini API ved at gå til Gemini API: Quickstart med Python.
I denne tutorial har vi lært om Gemini og hvordan man får adgang til Python API for at generere svar. Vi har især lært om tekstgenerering, visuel forståelse, streaming, samtalehistorik, brugerdefineret output og indlejringer. Dette ridser dog bare overfladen af, hvad Gemini kan.
Du er velkommen til at dele med mig, hvad du har bygget ved hjælp af den gratis Gemini API. Mulighederne er ubegrænsede.
Abid Ali Awan (@1abidaliawan) er en certificeret dataforsker, der elsker at bygge maskinlæringsmodeller. I øjeblikket fokuserer han på indholdsskabelse og skriver tekniske blogs om maskinlæring og datavidenskabsteknologier. Abid har en kandidatgrad i teknologiledelse og en bachelorgrad i telekommunikationsingeniør. Hans vision er at bygge et AI-produkt ved hjælp af et grafisk neuralt netværk til studerende, der kæmper med psykisk sygdom.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://www.kdnuggets.com/how-to-access-and-use-gemini-api-for-free?utm_source=rss&utm_medium=rss&utm_campaign=how-to-access-and-use-gemini-api-for-free
- :har
- :er
- $OP
- 1
- 10
- 12
- 13
- 14
- 17
- 27
- 7
- 8
- 9
- a
- Om
- adgang
- præcist
- tværs
- tilføje
- Yderligere
- yderligere information
- fremskreden
- igen
- AI
- udlændinge
- Alle
- tillader
- næsten
- også
- forbløffende
- an
- ,
- svar
- Antropisk
- api
- API'er
- applikationer
- arkitektur
- ER
- argument
- AS
- spørg
- At
- lyd
- Balanceret
- BE
- blive
- været
- før
- benchmark
- mellem
- Blog
- blogs
- både
- bygge
- Bygning
- bygget
- virksomheder
- men
- .
- by
- kaldet
- CAN
- kandidat
- kandidater
- kapaciteter
- stand
- tilfælde
- tilfælde
- Centers
- Certificeret
- chatte
- kontrollere
- Rengøring
- klik
- kode
- samarbejde
- sammenligne
- sammenligne
- komplekse
- indhold
- indholdsskabelse
- sammenhæng
- Samtale
- samtaler
- konvertere
- Tilsvarende
- dæksel
- skabelse
- For øjeblikket
- skik
- tilpasse
- data
- datacentre
- datalogi
- dataforsker
- Dato
- DeepMind
- Degree
- tætte
- konstrueret
- udviklet
- udviklere
- Enheder
- gjorde ikke
- forskellige
- Skærm
- forskelligartede
- do
- dokumenter
- Don
- dota
- Dota 2
- ned
- nemt
- let
- effektiv
- effektivt
- indlejring
- Engineering
- Hele
- Miljø
- Ether (ETH)
- forventer
- eksperter
- Forklar
- udforske
- hurtigere
- Fornavn
- fleksibel
- fokusering
- følger
- Til
- format
- Gratis
- fra
- funktion
- funktioner
- spil
- Gemini
- generere
- generation
- få
- gif
- Go
- gå
- godt
- Googles
- graf
- Graf neuralt netværk
- vejlede
- havde
- Have
- have
- he
- hjælpe
- link.
- Heroes
- Høj
- stærkt
- hans
- historie
- besidder
- Hvordan
- How To
- Men
- HTTPS
- menneskelig
- i
- identificeret
- sygdom
- billede
- billeder
- importere
- in
- Herunder
- stigende
- oplysninger
- indlede
- installere
- instans
- i stedet
- integration
- ind
- indledende
- IT
- ITS
- jpg
- julia
- lige
- KDnuggets
- Nøgle
- viden
- Sprog
- største
- LÆR
- lærte
- læring
- ligesom
- grænseløs
- Liste
- belastning
- længere
- elsker
- maskine
- machine learning
- maerker
- ledelse
- mange
- massive
- Master
- max
- me
- betyder
- midler
- mentale
- Psykisk sygdom
- Metrics
- Mobil
- mobilenheder
- tilstand
- model
- modeller
- mere
- mest
- flere
- navn
- nano
- NBA
- netværk
- Neural
- neurale netværk
- Ny
- næste
- nu
- objekt
- of
- on
- ONE
- kun
- OpenAI
- betjene
- or
- OS
- vores
- ud
- udkonkurrerer
- output
- luksushotel
- særlig
- Passing
- perfekt
- ydeevne
- udfører
- personale
- foto
- stykker
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- Vær venlig
- Punkt
- Populær
- muligheder
- mulig
- Indlæg
- potentiale
- tidligere
- om
- Problem
- problemløsning
- Produkt
- professionel
- give
- forudsat
- leverer
- Python
- kvalitet
- forespørgsler
- spørgsmål
- helt
- rækkevidde
- RE
- henvisningen
- repræsentation
- repræsenteret
- forskning
- svar
- reaktioner
- resultere
- revolutionere
- s
- samme
- besparelse
- Skalerbarhed
- Scale
- skala ai
- Videnskab
- Videnskabsmand
- rulle
- Sektion
- se
- Vælg
- Session
- sæt
- indstilling
- flere
- Del
- Kort
- bør
- lignende
- Simpelt
- enkelt
- So
- Løsning
- Space
- specifikt
- starte
- påbegyndt
- state-of-the-art
- Trin
- Stands
- stoppet
- Story
- strøm
- streaming
- Kæmper
- Studerende
- stil
- egnede
- overflade
- Systemer
- T
- opgaver
- hold
- Teknisk
- Teknologier
- Teknologier
- telekommunikation
- prøve
- tests
- tekst
- tekstgenerering
- at
- deres
- Them
- derefter
- denne
- tre
- Gennem
- til
- Tokens
- rejse
- problemer
- tutorial
- typer
- Ultra
- forstå
- forståelse
- us
- brugbar
- brug
- Bruger
- ved brug af
- variabel
- forskellige
- video
- vision
- visuel
- var
- Vej..
- we
- Hvad
- som
- WHO
- bred
- Bred rækkevidde
- vilje
- med
- ord
- ord
- Arbejde
- world
- skriver
- skrivning
- dig
- Din
- zephyrnet