Afbeelding door auteur
Gemini is een nieuw model ontwikkeld door Google en Bard wordt weer bruikbaar. Met Gemini is het nu mogelijk om bijna perfecte antwoorden op uw vragen te krijgen door ze te voorzien van afbeeldingen, audio en tekst.
In deze tutorial leren we over de Gemini API en hoe u deze op uw machine kunt instellen. We zullen ook verschillende Python API-functies verkennen, waaronder het genereren van tekst en het begrijpen van afbeeldingen.
Gemini is een nieuw AI-model dat is ontwikkeld door samenwerking tussen teams bij Google, waaronder Google Research en Google DeepMind. Het is speciaal gebouwd om multimodaal te zijn, wat betekent dat het verschillende soorten gegevens, zoals tekst, code, audio, afbeeldingen en video, kan begrijpen en ermee kan werken.
Gemini is het meest geavanceerde en grootste AI-model dat Google tot nu toe heeft ontwikkeld. Het is ontworpen om zeer flexibel te zijn, zodat het efficiënt kan werken op een breed scala aan systemen, van datacenters tot mobiele apparaten. Dit betekent dat het het potentieel heeft om een revolutie teweeg te brengen in de manier waarop bedrijven en ontwikkelaars AI-applicaties kunnen bouwen en schalen.
Hier zijn drie versies van het Gemini-model, ontworpen voor verschillende gebruiksscenario's:
- Tweeling Ultra: De grootste en meest geavanceerde AI die complexe taken kan uitvoeren.
- Tweeling Pro: Een uitgebalanceerd model met goede prestaties en schaalbaarheid.
- Tweeling Nano: Meest efficiënt voor mobiele apparaten.
Afbeelding van Maak kennis met Tweelingen
Gemini Ultra beschikt over ultramoderne prestaties en overtreft de prestaties van GPT-4 op verschillende maatstaven. Het is het eerste model dat beter presteert dan menselijke experts op de Massive Multitask Language Understanding-benchmark, die wereldkennis en probleemoplossing test over 57 verschillende onderwerpen. Dit toont zijn geavanceerde inzicht en probleemoplossende capaciteiten.
Om de API te gebruiken, hebben we eerst een API-sleutel nodig die u hier kunt vinden: https://ai.google.dev/tutorials/setup
Klik daarna op de knop "Een API-sleutel verkrijgen" en klik vervolgens op "API-sleutel maken in nieuw project".
Kopieer de API-sleutel en stel deze in als omgevingsvariabele. We gebruiken Deepnote en het is voor ons vrij eenvoudig om de sleutel in te stellen met de naam “GEMINI_API_KEY”. Ga gewoon naar de integratie, scroll naar beneden en selecteer omgevingsvariabelen.
In de volgende stap zullen we de Python API installeren met behulp van PIP:
pip install -q -U google-generativeai
Daarna zullen we de API-sleutel instellen op de GenAI van Google en de instantie starten.
import google.generativeai as genai
import os
gemini_api_key = os.environ["GEMINI_API_KEY"]
genai.configure(api_key = gemini_api_key)
Na het instellen van de API-sleutel is het gebruik van het Gemini Pro-model om inhoud te genereren eenvoudig. Geef een prompt op voor de functie `generate_content` en geef de uitvoer weer als 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)
Dit is geweldig, maar ik ben het niet eens met de lijst. Ik begrijp echter dat het allemaal om persoonlijke voorkeur gaat.
Gemini kan meerdere reacties genereren, kandidaten genoemd, voor één enkele prompt. U kunt de meest geschikte selecteren. In ons geval hadden we slechts één reactie.
response.candidates
Laten we hem vragen een eenvoudig spel in Python te schrijven.
response = model.generate_content("Build a simple game in Python")
Markdown(response.text)
Het resultaat is eenvoudig en to the point. De meeste LLM's beginnen de Python-code uit te leggen in plaats van deze te schrijven.
U kunt uw antwoord aanpassen met behulp van het argument `generation_config`. We beperken het aantal kandidaten tot 1, voegen het stopwoord ‘spatie’ toe en stellen de maximale tokens en temperatuur in.
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)
Zoals u kunt zien, stopte het antwoord vóór het woord ‘spatie’. Verbazingwekkend.
U kunt ook het `stream`-argument gebruiken om het antwoord te streamen. Het is vergelijkbaar met de Anthropic en OpenAI API's, maar dan sneller.
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)
In deze sectie zullen we laden Masood Aslami foto en gebruik deze om de multimodaliteit van Gemini Pro Vision te testen.
Laad de afbeeldingen naar de `PIL` en geef deze weer.
import PIL.Image
img = PIL.Image.open('images/photo-1.jpg')
img
We hebben een foto van hoge kwaliteit van de Rua Augusta Arch.
Laten we het Gemini Pro Vision-model laden en van de afbeelding voorzien.
model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content(img)
Markdown(response.text)
Het model identificeerde het paleis nauwkeurig en gaf aanvullende informatie over de geschiedenis en architectuur ervan.
Laten we dezelfde afbeelding aan de GPT-4 geven en hem naar de afbeelding vragen. Beide modellen hebben vrijwel vergelijkbare antwoorden opgeleverd. Maar ik hou meer van de GPT-4-reactie.
We zullen nu tekst en de afbeelding aan de API leveren. We hebben het visiemodel gevraagd een reisblog te schrijven met de afbeelding als referentie.
response = model.generate_content(["Write a travel blog post using the image as reference.", img])
Markdown(response.text)
Het heeft mij een korte blog opgeleverd. Ik had een langer formaat verwacht.
Vergeleken met GPT-4 heeft het Gemini Pro Vision-model moeite gehad om een blog in lang formaat te genereren.
We kunnen het model instellen voor een heen-en-weer-chatsessie. Op deze manier onthoudt het model de context en reactie op basis van de eerdere gesprekken.
In ons geval zijn we de chatsessie gestart en hebben we het model gevraagd mij te helpen aan de slag te gaan met het Dota 2-spel.
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
Zoals u kunt zien, slaat het `chat`-object de geschiedenis van de gebruiker en de chatmodus op.
We kunnen ze ook in een Markdown-stijl weergeven.
for message in chat.history:
display(Markdown(f'**{message.role}**: {message.parts[0].text}'))
Laten we de vervolgvraag stellen.
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}'))
We kunnen naar beneden scrollen en de hele sessie met het model bekijken.
Embedding-modellen worden steeds populairder voor contextbewuste toepassingen. Met het Gemini embedding-001-model kunnen woorden, zinnen of hele documenten worden weergegeven als dichte vectoren die de semantische betekenis coderen. Deze vectorrepresentatie maakt het mogelijk om eenvoudig de gelijkenis tussen verschillende stukken tekst te vergelijken door de overeenkomstige inbeddingsvectoren te vergelijken.
We kunnen de inhoud aanleveren voor `embed_content` en de tekst omzetten in insluitingen. Zo simpel is het.
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]
We kunnen meerdere stukjes tekst omzetten in insluitingen door een lijst met tekenreeksen door te geven aan het argument ‘inhoud’.
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]
Als je problemen ondervindt bij het reproduceren van hetzelfde resultaat, bekijk dan mijn Deepnote-werkruimte.
Er zijn zoveel geavanceerde functies die we in deze inleidende tutorial niet hebben behandeld. U kunt meer leren over de Gemini API door naar de Gemini API: Snelstart met Python.
In deze tutorial hebben we geleerd over Gemini en hoe we toegang kunnen krijgen tot de Python API om antwoorden te genereren. In het bijzonder hebben we geleerd over het genereren van tekst, visueel begrip, streaming, gespreksgeschiedenis, aangepaste uitvoer en insluitingen. Dit is echter nog maar het begin van wat Gemini kan doen.
Voel je vrij om met mij te delen wat je hebt gebouwd met behulp van de gratis Gemini API. De mogelijkheden zijn onbeperkt.
Abid Ali Awan (@1abidaliawan) is een gecertificeerde datawetenschapper-professional die dol is op het bouwen van machine learning-modellen. Momenteel richt hij zich op het creëren van content en het schrijven van technische blogs over machine learning en data science-technologieën. Abid heeft een Master in Technologie Management en een Bachelor in Telecommunicatie Engineering. Zijn visie is om een AI-product te bouwen met behulp van een grafisch neuraal netwerk voor studenten die worstelen met een psychische aandoening.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: 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
- : heeft
- :is
- $UP
- 1
- 10
- 12
- 13
- 14
- 17
- 27
- 7
- 8
- 9
- a
- Over
- toegang
- nauwkeurig
- over
- toe te voegen
- Extra
- Extra informatie
- vergevorderd
- weer
- AI
- vreemdelingen
- Alles
- toestaat
- bijna
- ook
- verbazingwekkend
- an
- en
- antwoorden
- antropisch
- api
- APIs
- toepassingen
- architectuur
- ZIJN
- argument
- AS
- vragen
- At
- audio
- Evenwichtig
- BE
- worden
- geweest
- vaardigheden
- criterium
- tussen
- Blog
- blogs
- zowel
- bouw
- Gebouw
- bebouwd
- ondernemingen
- maar
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- kandidaat
- kandidaten
- mogelijkheden
- in staat
- geval
- gevallen
- Centra
- Certified
- de chat
- controle
- Schoonmaak
- Klik
- code
- samenwerking
- vergelijken
- vergelijken
- complex
- content
- content creatie
- verband
- Gesprek
- conversaties
- converteren
- Overeenkomend
- deksel
- het aanmaken
- Op dit moment
- gewoonte
- aan te passen
- gegevens
- datacenters
- data science
- data scientist
- Datum
- DeepMind
- Mate
- dicht
- ontworpen
- ontwikkelde
- ontwikkelaars
- systemen
- Jonathan Bourdon
- anders
- Display
- diversen
- do
- documenten
- don
- DotA
- Dota 2
- beneden
- gemakkelijk
- En het is heel gemakkelijk
- doeltreffend
- efficiënt
- inbedding
- Engineering
- Geheel
- Milieu
- Ether (ETH)
- verwacht
- deskundigen
- Verklaren
- Verken
- sneller
- Voornaam*
- flexibel
- gericht
- volgen
- Voor
- formaat
- Gratis
- oppompen van
- functie
- functies
- spel
- Gemini
- voortbrengen
- generatie
- krijgen
- gif
- Go
- gaan
- goed
- Kopen Google Reviews
- diagram
- Grafiek neuraal netwerk
- gids
- HAD
- Hebben
- met
- he
- hulp
- hier
- Heroes
- Hoge
- zeer
- zijn
- geschiedenis
- houdt
- Hoe
- How To
- Echter
- HTTPS
- menselijk
- i
- geïdentificeerd
- ziekte
- beeld
- afbeeldingen
- importeren
- in
- Inclusief
- in toenemende mate
- informatie
- beginnen
- installeren
- instantie
- verkrijgen in plaats daarvan
- integratie
- in
- inleidende
- IT
- HAAR
- jpg
- julia
- voor slechts
- KDnuggets
- sleutel
- kennis
- taal
- grootste
- LEARN
- geleerd
- leren
- als
- grenzeloos
- Lijst
- laden
- langer
- houdt
- machine
- machine learning
- MERKEN
- management
- veel
- massief
- meester
- max
- me
- betekenis
- middel
- mentaal
- Geestelijke ziekte
- Metriek
- Mobile
- mobiele toestellen
- Mode
- model
- modellen
- meer
- meest
- meervoudig
- naam
- nano
- NBA
- netwerk
- Neural
- neuraal netwerk
- New
- volgende
- nu
- object
- of
- on
- EEN
- Slechts
- OpenAI
- besturen
- or
- OS
- onze
- uit
- Overtreffen
- uitgang
- Paleis
- bijzonder
- Voorbijgaand
- prestatie
- uitvoerend
- persoonlijk
- foto
- stukken
- Plato
- Plato gegevensintelligentie
- PlatoData
- spelen
- dan
- punt
- Populair
- mogelijkheden
- mogelijk
- Post
- potentieel
- vorig
- Pro
- probleem
- probleemoplossing
- Product
- professioneel
- zorgen voor
- mits
- het verstrekken van
- Python
- kwaliteit
- queries
- vraag
- heel
- reeks
- RE
- referentie
- vertegenwoordiging
- vertegenwoordigd
- onderzoek
- antwoord
- reacties
- resultaat
- revolutioneren
- s
- dezelfde
- besparing
- Schaalbaarheid
- Scale
- schaal ai
- Wetenschap
- Wetenschapper
- rol
- sectie
- zien
- kiezen
- Sessie
- reeks
- het instellen van
- verscheidene
- Delen
- Bermuda's
- moet
- gelijk
- Eenvoudig
- single
- So
- Het oplossen van
- Tussenruimte
- specifiek
- begin
- gestart
- state-of-the-art
- Stap voor
- stop
- gestopt
- Verhaal
- stream
- streaming
- Worstelen
- Leerlingen
- stijl
- geschikt
- Oppervlak
- Systems
- T
- taken
- teams
- Technisch
- Technologies
- Technologie
- telecommunicatieverbinding
- proef
- testen
- tekst
- tekst generatie
- dat
- De
- hun
- Ze
- harte
- dit
- drie
- Door
- naar
- tokens
- reizen
- moeite
- zelfstudie
- types
- Ultra
- begrijpen
- begrip
- us
- bruikbaar
- .
- Gebruiker
- gebruik
- variabele
- divers
- Video
- visie
- visuele
- was
- Manier..
- we
- Wat
- welke
- WIE
- breed
- Grote range
- wil
- Met
- Woord
- woorden
- Mijn werk
- wereld
- schrijven
- het schrijven van
- u
- Your
- zephyrnet