Interfejs Gemini API może generować tekstowe dane wyjściowe na podstawie różnych typów danych wejściowych, w tym: tekst, obrazy, filmy i dźwięk. Możesz używać generowania tekstu dla różnych aplikacji, w tym:
- Pisanie kreatywne
- Opisywanie i interpretowanie zasobów medialnych
- Uzupełnianie tekstu
- Podsumowywanie tekstu swobodnego
- Tłumaczenie między językami
- Czatboty
- Twoje własne, nowatorskie zastosowania
Z tego przewodnika dowiesz się, jak wygenerować tekst za pomocą
generateContent
i
streamGenerateContent
API. Zaznaczenie dotyczy tekstu generowanego na podstawie danych wejściowych samego tekstu oraz tekstu i obrazu. Do
więcej informacji o multimodalnych promptach z plikami wideo i audio, zobacz
Strategie dotyczące plików.
Zanim zaczniesz: skonfiguruj projekt i klucz interfejsu API
Zanim wywołasz Gemini API, musisz skonfigurować projekt klucz interfejsu API.
Generuj tekst na podstawie samego tekstu
Najprostszym sposobem generowania tekstu za pomocą interfejsu Gemini API jest udostępnienie modelu używając samego tekstu, jak w tym przykładzie:
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
W tym przypadku prompt („Napisz historię o magicznym plecaku”) dołączyć przykłady danych wyjściowych, instrukcje systemowe lub informacje o formatowaniu. To zero-shot jak ważna jest pokora. W niektórych przypadkach one-shot lub prompt few-shot mogą generować wyniki bardziej zgodne z oczekiwaniami użytkowników. W niektórych przypadkach możesz też podać instrukcje systemowe, które ułatwiają modelowi zrozumieć jego zadanie lub postępować zgodnie z określonymi wytycznymi.
Generowanie tekstu na podstawie danych wejściowych z tekstem i obrazem
Interfejs Gemini API obsługuje multimodalne dane wejściowe, które łączą tekst z plikami multimedialnymi. Ten przykład pokazuje, jak wygenerować tekst na podstawie danych wejściowych z tekstem i obrazem:
import PIL.Image
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)
Podobnie jak w przypadku promptów tekstowych, prompty multimodalne mogą obejmować różne podejścia i udoskonaleń. W zależności od wyników z tego przykładu warto: dodaj instrukcje do promptu lub bardziej szczegółowo go sprecyzuj. Aby dowiedzieć się więcej, Więcej informacji znajdziesz w artykule na temat strategii tworzenia komunikatów dotyczących plików.
Generowanie strumienia tekstu
Domyślnie model zwraca odpowiedź po ukończeniu całego tekstu procesu ich generowania. Możesz przyspieszyć interakcje, nie czekając na z całych wyników. Zamiast tego użyj przesyłania strumieniowego do obsługi wyników częściowych.
Poniższy przykład pokazuje, jak wdrożyć strumieniowanie za pomocą
streamGenerateContent
do
do generowania tekstu na podstawie prompta w trybie tekstowym.
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
Utwórz interaktywny czat
Za pomocą interfejsu Gemini API możesz tworzyć interaktywne czaty dla użytkowników. Korzystanie z funkcji czatu interfejsu API umożliwia zebranie wielu rund pytań i udzielania odpowiedzi, dzięki czemu użytkownicy mogą stopniowo szukać odpowiedzi lub uzyskać pomoc. z problemami wieloczęściowymi. Ta funkcja jest idealna w aplikacjach, które wymagają ciągłą komunikację, taką jak czatboty, interaktywni korepetytorzy lub obsługa klienta; za pomocą Asystenta Google.
Następujący przykładowy kod ilustruje podstawową implementację czatu:
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
Skonfiguruj generowanie tekstu
Każdy prompt wysyłany do modelu zawiera
parametrów, które
kontrolować sposób generowania odpowiedzi przez model. Za pomocą
GenerationConfig
do
skonfigurować te parametry. Jeśli ich nie skonfigurujesz, model
korzysta z opcji domyślnych, które mogą się różnić w zależności od modelu.
Z przykładu poniżej dowiesz się, jak skonfigurować kilka dostępnych opcji.
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Tell me a story about a magic backpack.",
generation_config=genai.types.GenerationConfig(
# Only one candidate for now.
candidate_count=1,
stop_sequences=["x"],
max_output_tokens=20,
temperature=1.0,
),
)
print(response.text)
candidateCount
określa liczbę wygenerowanych odpowiedzi do zwrócenia.
Obecnie ta wartość może wynosić tylko 1. Jeśli nie są ustawione, domyślna wartość to 1.
stopSequences
określa zestaw sekwencji znaków (maksymalnie 5), które będą
Zatrzymać generowanie danych wyjściowych. Jeśli zostanie podany, interfejs API zostanie zatrzymany przy pierwszym wystąpieniu.
stop_sequence
. Sekwencja zatrzymania nie zostanie uwzględniona w tagu
.
maxOutputTokens
ustawia maksymalną liczbę tokenów do uwzględnienia w kandydacie.
temperature
określa losowość wyników. Użyj wyższych wartości, aby osiągnąć więcej
dla kreacji, a niższe wartości – dla bardziej deterministycznych. Wartości
mogą mieścić się w zakresie od [0,0 do 2,0].
Możesz też skonfigurować poszczególne wywołania generateContent
:
response = model.generate_content(
'Write a story about a magic backpack.',
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
temperature=0.1,
)
)
Wszystkie wartości ustawione w wartościach zastępowania poszczególnych wywołań w konstruktorze modelu.
Co dalej?
Z tego przewodnika dowiesz się, jak używać
generateContent
i
streamGenerateContent
. Aby dowiedzieć się więcej,
o generowaniu tekstu za pomocą interfejsu Gemini API znajdziesz w tych materiałach:
- Strategie dotyczące plików: Gemini API obsługuje prompty z danymi tekstowymi, graficznymi, audio i wideo, nazywanych promptami multimodalnymi.
- Instrukcje systemowe: system które pozwalają sterować działaniem modelu w zależności od do potrzeb i przypadków użycia.
- Wskazówki dotyczące bezpieczeństwa: czasami generatywna AI modele generują nieoczekiwane wyniki, na przykład nieprawidłowe dane wyjściowe, stronniczych lub obraźliwych. Przetwarzanie końcowe i ocena manualna ma kluczowe znaczenie ograniczają ryzyko szkód takich jak dane wyjściowe.