Jak uzyskać dostęp do API Gemini i korzystać z niego za darmo - KDnuggets

Jak uzyskać dostęp do API Gemini i korzystać z niego za darmo – KDnuggets

Węzeł źródłowy: 3033824

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
Zdjęcie autora 

Gemini to nowy model opracowany przez Google, a Bard znów staje się użyteczny. Dzięki Gemini możesz teraz uzyskać niemal doskonałe odpowiedzi na swoje pytania, dostarczając im obrazy, dźwięk i tekst.

W tym samouczku dowiemy się o interfejsie API Gemini i o tym, jak go skonfigurować na swoim komputerze. Przyjrzymy się także różnym funkcjom API języka Python, w tym generowaniu tekstu i rozumieniu obrazów.

Gemini to nowy model sztucznej inteligencji opracowany w wyniku współpracy zespołów Google, w tym Google Research i Google DeepMind. Został zbudowany specjalnie jako multimodalny, co oznacza, że ​​może rozumieć i pracować z różnymi typami danych, takimi jak tekst, kod, dźwięk, obrazy i wideo.

Gemini to najbardziej zaawansowany i największy jak dotąd model sztucznej inteligencji opracowany przez Google. Został zaprojektowany z myślą o dużej elastyczności, dzięki czemu może efektywnie działać na szerokiej gamie systemów, od centrów danych po urządzenia mobilne. Oznacza to, że może zrewolucjonizować sposób, w jaki firmy i programiści mogą tworzyć i skalować aplikacje AI.

Oto trzy wersje modelu Gemini przeznaczone do różnych zastosowań:

  • Bliźnięta Ultra: Największa i najbardziej zaawansowana sztuczna inteligencja zdolna do wykonywania złożonych zadań.
  • Bliźnięta Pro: Zrównoważony model, który ma dobrą wydajność i skalowalność.
  • Bliźnięta Nano: Najbardziej wydajny dla urządzeń mobilnych.

 

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
Obraz z Przedstawiamy Bliźnięta
 

Gemini Ultra charakteryzuje się najnowocześniejszą wydajnością, przewyższającą wydajność GPT-4 pod wieloma względami. Jest to pierwszy model, który osiąga lepsze wyniki niż eksperci w teście porównawczym Massive Multitask Language Understanding, który sprawdza wiedzę o świecie i rozwiązywanie problemów w 57 różnych tematach. To pokazuje jego zaawansowane możliwości zrozumienia i rozwiązywania problemów.

Aby móc korzystać z API, musimy najpierw zdobyć klucz API, który możesz uzyskać tutaj: https://ai.google.dev/tutorials/setup

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Następnie kliknij przycisk „Uzyskaj klucz API”, a następnie kliknij „Utwórz klucz API w nowym projekcie”.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Skopiuj klucz API i ustaw go jako zmienną środowiskową. Używamy Deepnote i dość łatwo jest nam ustawić klucz o nazwie „GEMINI_API_KEY”. Wystarczy przejść do integracji, przewinąć w dół i wybrać zmienne środowiskowe.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

W kolejnym kroku zainstalujemy API Pythona za pomocą PIP:

pip install -q -U google-generativeai

Następnie ustawimy klucz API na GenAI Google i zainicjujemy instancję.

import google.generativeai as genai
import os

gemini_api_key = os.environ["GEMINI_API_KEY"]
genai.configure(api_key = gemini_api_key)

Po skonfigurowaniu klucza API wykorzystanie modelu Gemini Pro do generowania treści jest proste. Podaj zachętę do funkcji `generate_content` i wyświetl wynik jako 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)

To niesamowite, ale nie zgadzam się z tą listą. Rozumiem jednak, że wszystko zależy od osobistych preferencji.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Gemini może generować wiele odpowiedzi, zwanych kandydatami, dla jednego monitu. Możesz wybrać najbardziej odpowiedni. W naszym przypadku mieliśmy tylko jedną odpowiedź.

response.candidates

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Poprośmy go o napisanie prostej gry w Pythonie.

response = model.generate_content("Build a simple game in Python")

Markdown(response.text)

Wynik jest prosty i na temat. Większość LLM zaczyna wyjaśniać kod Pythona, zamiast go pisać.

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Możesz dostosować swoją odpowiedź za pomocą argumentu `generacja_config`. Ograniczamy liczbę kandydatów do 1, dodajemy słowo stop „spacja” i ustawiamy maksymalne tokeny i 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)

Jak widać, odpowiedź zatrzymała się przed słowem „spacja”. Niesamowity.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Możesz także użyć argumentu „strumień”, aby przesłać strumieniowo odpowiedź. Jest podobny do interfejsów API Anthropic i OpenAI, ale jest szybszy.

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)

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

W tej sekcji będziemy ładować Masooda Aslamiego zdjęcie i użyj go, aby przetestować multimodalność Gemini Pro Vision.

Załaduj obrazy do `PIL` i wyświetl je.

import PIL.Image

img = PIL.Image.open('images/photo-1.jpg')

img

Mamy wysokiej jakości zdjęcie Rua Augusta Arch.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Załadujmy model Gemini Pro Vision i zaopatrzmy go w obraz.

model = genai.GenerativeModel('gemini-pro-vision')

response = model.generate_content(img)

Markdown(response.text)

Makieta dokładnie zidentyfikowała pałac i dostarczyła dodatkowych informacji na temat jego historii i architektury.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Dostarczmy ten sam obraz do GPT-4 i zapytajmy go o obraz. Obydwa modele dały niemal podobne odpowiedzi. Ale bardziej podoba mi się odpowiedź GPT-4.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Teraz udostępnimy tekst i obraz do interfejsu API. Poprosiliśmy modelkę wizji o napisanie bloga podróżniczego, wykorzystując obraz jako punkt odniesienia.

response = model.generate_content(["Write a travel blog post using the image as reference.", img])

Markdown(response.text)

Dzięki niemu powstał krótki blog. Spodziewałem się dłuższego formatu.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

W porównaniu do GPT-4, model Gemini Pro Vision miał trudności z wygenerowaniem bloga o długim formacie.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Możemy skonfigurować model tak, aby sesja czatu odbywała się tam i z powrotem. W ten sposób model zapamiętuje kontekst i reakcję na podstawie poprzednich rozmów.

W naszym przypadku rozpoczęliśmy sesję czatu i poprosiliśmy modela o pomoc w rozpoczęciu gry Dota 2.

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

Jak widać obiekt `chat` zapisuje historię użytkownika i trybu czatu.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 
Możemy je również wyświetlić w stylu Markdown.

for message in chat.history:
    display(Markdown(f'**{message.role}**: {message.parts[0].text}'))

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo
 

Zadajmy pytanie uzupełniające.

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}'))

Możemy przewinąć w dół i zobaczyć całą sesję z modelką.

 
Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Jak uzyskać dostęp do interfejsu API Gemini i korzystać z niego za darmo

Modele osadzania stają się coraz bardziej popularne w aplikacjach kontekstowych. Model Gemini embedding-001 umożliwia reprezentowanie słów, zdań lub całych dokumentów w postaci gęstych wektorów kodujących znaczenie semantyczne. Ta reprezentacja wektorowa umożliwia łatwe porównanie podobieństwa między różnymi fragmentami tekstu poprzez porównanie odpowiadających im wektorów osadzania.

Możemy dostarczyć treść do `embed_content` i przekonwertować tekst na osadzanie. To takie proste.

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]

Możemy przekonwertować wiele fragmentów tekstu na elementy osadzone, przekazując listę ciągów znaków do argumentu „treść”.

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]

Jeśli masz problemy z odtworzeniem tego samego wyniku, sprawdź mój Obszar roboczy Deepnote.

Jest tak wiele zaawansowanych funkcji, że nie omówiliśmy w tym samouczku wprowadzającym. Możesz dowiedzieć się więcej o Gemini API wchodząc na stronę Gemini API: Szybki start z Pythonem.

W tym samouczku dowiedzieliśmy się o Gemini i o tym, jak uzyskać dostęp do API Pythona w celu wygenerowania odpowiedzi. W szczególności dowiedzieliśmy się o generowaniu tekstu, rozumieniu wizualnym, przesyłaniu strumieniowym, historii rozmów, niestandardowych wynikach i osadzaniu. Jednak to tylko zarys możliwości Gemini.

Podziel się ze mną tym, co zbudowałeś, korzystając z darmowego API Gemini. Możliwości są nieograniczone.

 
 

Abid Ali Awan (@ 1abidaliawan) jest certyfikowanym specjalistą ds. analityków danych, który uwielbia tworzyć modele uczenia maszynowego. Obecnie koncentruje się na tworzeniu treści i pisaniu blogów technicznych na temat technologii uczenia maszynowego i data science. Abid posiada tytuł magistra zarządzania technologią oraz tytuł licencjata inżynierii telekomunikacyjnej. Jego wizją jest zbudowanie produktu AI z wykorzystaniem grafowej sieci neuronowej dla studentów zmagających się z chorobami psychicznymi.

Znak czasu:

Więcej z Knuggety