Scegli l'ambiente di sviluppo
Per iniziare, avrai bisogno di un ambiente di sviluppo Python con Python 3.11 o versioni successive. I passaggi descritti di seguito sono stati testati in Google Colab.
Puoi anche adattare i passaggi mostrati qui in altri ambienti di sviluppo, come Colab Enterprise, Cloud Shell Editor o la tua macchina locale.
Una volta che l'ambiente è pronto, puoi procedere con l'installazione dell'SDK Agent Framework.
Installa l'SDK Agent Framework
Ora installa l'SDK Agent Framework. Durante il periodo di anteprima privata, l'accesso all'SDK richiede l'inserimento nella lista consentita. Assicurati di essere stato inserito nella lista consentita prima di procedere con i passaggi di download e installazione riportati di seguito.
Innanzitutto, autentica il tuo account Google Cloud utilizzando gcloud CLI. Questo passaggio garantisce che tu disponga delle autorizzazioni necessarie per accedere ai servizi Google Cloud. Se necessario, consulta la documentazione gcloud per ulteriori informazioni.
gcloud auth login
Scarica il pacchetto Python dell'SDK Agent Framework nell'ambiente di sviluppo utilizzando l'interfaccia a riga di comando gcloud:
gcloud storage cp gs://agent_framework/latest/google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl .
Tieni presente che devi essere inserito nella lista consentita per consentire ad Agent Framework di accedere alle build di sviluppo nel comando precedente.
Infine, installa il pacchetto SDK Agent Framework scaricato utilizzando pip
:
pip install google_genai_agents-0.0.2.dev20250204+723246417-py3-none-any.whl
Con l'SDK Agent Framework installato, ora puoi importare le librerie necessarie per iniziare a creare l'agente.
Importa le librerie richieste
Importa le seguenti librerie Python necessarie per utilizzare questo quickstart con Agent Framework:
import os
from agents import Runner, Agent
from datetime import datetime
Dopo aver importato le librerie, il passaggio successivo consiste nel configurare l'accesso ai modelli Gemini.
Configurare l'accesso all'API Gemini
Agent Framework può essere configurato per utilizzare i modelli Gemini di Google. Puoi configurare l'accesso ai modelli Gemini tramite Google AI Studio (utilizzando una chiave API) o tramite Vertex AI (utilizzando il tuo progetto Google Cloud). Scegli il metodo di configurazione più adatto alle tue esigenze e segui le istruzioni corrispondenti riportate di seguito.
Per configurare l'accesso ai modelli Gemini utilizzando Google AI Studio, esegui il seguente codice Python. Sostituisci YOUR_API_KEY
con la tua chiave API Google AI Studio effettiva.
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "0"
os.environ["GOOGLE_API_KEY"] = "YOUR_API_KEY"
Per configurare l'accesso ai modelli Gemini utilizzando Vertex AI, esegui il seguente codice
Python. Sostituisci YOUR_PROJECT_ID
con il tuo ID progetto Google Cloud. Assicurati che
GOOGLE_CLOUD_LOCATION
sia impostato su una regione Vertex AI supportata.
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "1"
os.environ["GOOGLE_CLOUD_PROJECT"] = "YOUR_PROJECT_ID"
os.environ["GOOGLE_CLOUD_LOCATION"] = "us-central1"
Una volta configurato l'accesso all'API Gemini, puoi definire gli strumenti che verranno utilizzati dal tuo agente.
Definire gli strumenti per l'agente
Gli agenti utilizzano spesso strumenti per interagire con servizi e dati esterni. In questo
passaggio, definirai una funzione Python chiamata get_exchange_rate
. Questa funzione fungerà da strumento per consentire all'agente di recuperare i tassi di cambio in tempo reale da un'API esterna.
def get_exchange_rate(
currency_from: str,
currency_to: str,
currency_date: str,
):
"""Retrieves the exchange rate between two currencies on a specified date."""
import requests
response = requests.get(
f"https://api.frankfurter.app/{currency_date}",
params={"from": currency_from, "to": currency_to},
)
return response.json()
Ora hai definito uno strumento per il tuo agente. Nella sezione successiva, definirai l'agente stesso, incorporando questo strumento.
Definisci l'agente
Ora dovrai definire l'agente AI utilizzando l'SDK Agent Framework. La definizione dell'agente specifica il modello che utilizzerà, le sue istruzioni, gli strumenti a cui può accedere e il flusso di interazione.
root_agent = Agent(
model="gemini-2.5-pro-exp-03-25",
name='currency_exchange_agent',
instruction="""
Help users retrieve exchange rates for different currencies
""",
tools=[
get_exchange_rate,
],
flow='single',
)
Dopo aver definito l'agente, il passaggio successivo consiste nell'inizializzarlo in Agent Framework.
Inizializza l'agente
In questa sezione, inizierai l'agente. Il codice seguente configura i servizi di sessione e di elementi in memoria, esegue l'istanza di un Runner per l'agente e definisce una funzione di supporto per l'invio di prompt.
from agents.sessions.in_memory_session_service import InMemorySessionService
from agents.artifacts.in_memory_artifact_service import InMemoryArtifactService
from google.genai import types
session_service = InMemorySessionService()
artifact_service = InMemoryArtifactService()
runner = Runner(app_name="currency_exchange_agent", agent=root_agent, artifact_service=artifact_service, session_service=session_service)
session = session_service.create(app_name="currency_exchange_agent", user_id="1")
def run_prompt(new_message: str):
content = types.Content(role='user', parts=[types.Part.from_text(text=new_message)])
print (content)
for event in runner.run(
session=session,
new_message=content,
):
if event.content:
print(event.content.model_dump(exclude_none=True))
L'agente è stato inizializzato ed è pronto a ricevere prompt. Nella sezione successiva, invierai un prompt di prova per vedere come funziona.
Inviare un prompt all'agente
Ora è il momento di testare l'agente. Invia il seguente prompt all'agente utilizzando la funzione run_prompt che hai definito in precedenza.
run_prompt("What's the exchange rate from US dollars to Swedish currency today?")
Esegui la funzione run_prompt
con l'input fornito e l'agente dovrebbe produrre un output simile al seguente:
parts=[Part(video_metadata=None, thought=None, code_execution_result=None, executable_code=None, file_data=None, function_call=None, function_response=None, inline_data=None, text="What's the exchange rate from US dollars to Swedish currency today?")] role='user'
{'parts': [{'function_call': {'args': {'currency_from': 'USD', 'currency_to': 'SEK', 'currency_date': '2025-02-21'}, 'name': 'get_exchange_rate'}}], 'role': 'model'}
{'parts': [{'function_response': {'name': 'get_exchange_rate', 'response': {'amount': 1.0, 'base': 'USD', 'date': '2025-02-21', 'rates': {'SEK': 10.6474}}}}], 'role': 'user'}
{'parts': [{'text': 'The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21, is 1 USD to 10.6474 SEK.\n'}], 'role': 'model'}
Questo output mostra i passaggi interni dell'agente, inclusa la chiamata di funzione eseguita e la risposta finale.
Esamina la parte finale dell'output. Dovresti vedere un messaggio dell'agente contenente il tasso di cambio recuperato, che dimostra che l'agente ha utilizzato correttamente lo strumento get_exchange_rate
:
The exchange rate from US dollars to Swedish currency (SEK) today, 2025-02-21,
is 1 USD to 10.6474 SEK.
Complimenti! Hai inviato un prompt all'agente e hai osservato la sua risposta. Per saperne di più su Agent Framework, consulta la sezione successiva per risorse e passaggi successivi.
Passaggi successivi e risorse
Complimenti, hai creato un agente AI con Agent Framework.
Per approfondire l'argomento ed esplorare funzionalità più avanzate dell'Agent Framework, dai un'occhiata ad altre sezioni della documentazione, agli esempi di codice o ai notebook. Queste risorse ti guideranno nella creazione di agenti più complessi e nella loro integrazione nelle tue applicazioni.