Generazione di testo

L'API Gemini può generare output di testo se vengono forniti testo, immagini, video e audio come input.

Questa guida mostra come generare testo utilizzando i metodi generateContent e streamGenerateContent. Per scoprire come utilizzare le funzionalità di visione e audio di Gemini, consulta le guide Vision e Audio.

Generare testo da input di solo testo

Il modo più semplice per generare testo utilizzando l'API Gemini è fornire al modello un singolo input di solo testo, come mostrato in questo esempio:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=["How does AI work?"])
print(response.text)

In questo caso, il prompt ("Spiega come funziona l'IA") non include esempi di output, istruzioni di sistema o informazioni sulla formattazione. Si tratta di un approccio zero-shot. Per alcuni casi d'uso, un prompt one-shot o few-shot potrebbe produrre un output più in linea con le aspettative degli utenti. In alcuni casi, potresti anche fornire istruzioni di sistema per aiutare il modello a comprendere l'attività o a seguire linee guida specifiche.

Genera testo da input di testo e immagini

L'API Gemini supporta input multimodali che combinano file di testo e multimediali. L'esempio seguente mostra come generare testo da input di testo e immagini:

from PIL import Image
from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

image = Image.open("/path/to/organ.png")
response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=[image, "Tell me about this instrument"])
print(response.text)

Generare uno stream di testo

Per impostazione predefinita, il modello restituisce una risposta al termine dell'intero processo di generazione del testo. Puoi ottenere interazioni più rapide non aspettando l'intero risultato, ma utilizzando lo streaming per gestire i risultati parziali.

L'esempio seguente mostra come implementare lo streaming utilizzando il metodo streamGenerateContent per generare testo da un prompt di input di solo testo.

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content_stream(
    model="gemini-2.0-flash",
    contents=["Explain how AI works"])
for chunk in response:
    print(chunk.text, end="")

Creare una conversazione di chat

L'SDK Gemini ti consente di raccogliere più round di domande e risposte, consentendo agli utenti di procedere gradualmente verso le risposte o di ricevere aiuto per problemi articolati. Questa funzionalità dell'SDK fornisce un'interfaccia per tenere traccia della cronologia delle conversazioni, ma dietro le quinte utilizza lo stesso metodo generateContent per creare la risposta.

Il seguente esempio di codice mostra un'implementazione di chat di base:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

chat = client.chats.create(model="gemini-2.0-flash")
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)
for message in chat._curated_history:
    print(f'role - ', message.role, end=": ")
    print(message.parts[0].text)

Puoi anche utilizzare lo streaming con la chat, come mostrato nell'esempio seguente:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

chat = client.chats.create(model="gemini-2.0-flash")
response = chat.send_message_stream("I have 2 dogs in my house.")
for chunk in response:
    print(chunk.text, end="")
response = chat.send_message_stream("How many paws are in my house?")
for chunk in response:
    print(chunk.text, end="")
for message in chat._curated_history:
    print(f'role - ', message.role, end=": ")
    print(message.parts[0].text)

Configurare la generazione di testo

Ogni prompt inviato al modello include parametri che controllano il modo in cui il modello genera le risposte. Puoi utilizzare GenerationConfig per configurare questi parametri. Se non configuri i parametri, il modello utilizza le opzioni predefinite, che possono variare in base al modello.

L'esempio seguente mostra come configurare diverse opzioni disponibili.

from google import genai
from google.genai import types

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=["Explain how AI works"],
    config=types.GenerateContentConfig(
        max_output_tokens=500,
        temperature=0.1
    )
)
print(response.text)

Aggiungere istruzioni di sistema

Le istruzioni di sistema ti consentono di indirizzare il comportamento di un modello in base alle tue esigenze e ai tuoi casi d'uso specifici.

Fornendo al modello le istruzioni di sistema, fornisci un contesto aggiuntivo per comprendere l'attività, generare risposte più personalizzate e rispettare linee guida specifiche durante l'intera interazione dell'utente con il modello. Puoi anche specificare il comportamento a livello di prodotto impostando istruzioni di sistema, separate dai prompt forniti dagli utenti finali.

Puoi impostare le istruzioni di sistema quando inizializzazione il modello:

sys_instruct="You are a cat. Your name is Neko."
client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    config=types.GenerateContentConfig(
        system_instruction=sys_instruct),
    contents=["your prompt here"]
)

Dopodiché, puoi inviare richieste al modello come di consueto.

Per un esempio interattivo end-to-end dell'utilizzo delle istruzioni di sistema, consulta le istruzioni di sistema di Colab.

Passaggi successivi

Ora che hai esplorato le nozioni di base dell'API Gemini, potresti provare a:

  • Comprensione della visione: scopri come utilizzare la comprensione della visione nativa di Gemini per elaborare immagini e video.
  • Comprensione audio: scopri come utilizzare la funzionalità di comprensione audio nativa di Gemini per elaborare i file audio.