Questa pagina illustra i passaggi necessari per eseguire la migrazione all'API Gemini di Vertex AI da Microsoft Azure OpenAI.
L'API Gemini è un servizio completamente gestito basato su cloud che consente di creare e addestrare modelli generativi utilizzando la console Google Cloud. Fornisce accesso ai modelli linguistici di grandi dimensioni (LLM), che puoi utilizzare per creare una serie di applicazioni, tra cui chatbot, generatori di contenuti e strumenti per le creatività.
Prerequisiti
Per eseguire la migrazione di un servizio OpenAI da Microsoft Azure OpenAI all'API Gemini di Vertex AI, devi prima creare un progetto Google Cloud e un ambiente di sviluppo. Per saperne di più, consulta la sezione Configurare un progetto e un ambiente di sviluppo.
Eseguire la migrazione all'API Gemini
Consulta i seguenti argomenti per scoprire come eseguire la migrazione all'API Gemini da un progetto OpenAI in Microsoft Azure.
Utilizzare i parametri dell'API Gemini equivalenti
Di seguito sono riportati alcuni parametri comuni di Azure OpenAI e i relativi parametri equivalenti nell'API Gemini:
Parametri OpenAI | Parametri dell'API Gemini | Descrizione | Valori validi |
prompt |
prompt |
Un prompt è una richiesta in linguaggio naturale presentata a un modello linguistico per ricevere una risposta. I prompt possono contenere domande, istruzioni, informazioni contestuali, esempi e testo da completare o proseguire dal modello. | Testo |
temperature |
temperature |
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati topP
e topK . La temperatura controlla il grado di casualità nella selezione dei token.
Le temperature più basse sono ideali per prompt che richiedono risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Con una temperatura pari a 0
viene sempre selezionato il token con la probabilità più alta. In questo caso, le risposte per un determinato prompt sono per lo più deterministiche, ma è comunque possibile una piccola variazione.
Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura. |
0.0 -1.0
|
max_tokens |
maxOutputTokens |
Numero massimo di token che possono essere generati nella risposta. Un token equivale a circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.
Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe. |
1-8192 (OpenAI)
|
Non disponibile | topK |
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a
1 indica che il token successivo selezionato è il più probabile tra tutti
i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a
3 indica invece che il token successivo viene selezionato tra i tre
token più probabili utilizzando la temperatura.
Per ogni fase di selezione dei token, vengono campionati i token Top-K con le probabilità più elevate. Quindi i token vengono ulteriormente filtrati in base a Top-P e il token finale viene selezionato utilizzando il campionamento con temperatura. Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. |
1 -40
|
top_p |
topP |
Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile (vedi Top-K) al meno probabile finché la somma delle loro probabilità non corrisponde al valore di Top-P. Ad esempio, se i token A, B e C hanno una probabilità di
0,3, 0,2 e 0,1 e il valore di top-P è 0.5 , il modello
seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato.
Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali. |
0.0 -1.0
|
stop |
stop_sequences |
Una sequenza di interruzioni è una serie di caratteri (spazi inclusi) che interrompe la generazione di risposte se il modello la rileva. La sequenza non è inclusa nella risposta. Puoi aggiungere fino a cinque sequenze di interruzioni. | La sequenza di fermate in un array, ad esempio ["###"] .
|
Utilizza il modello dell'API Gemini equivalente
La seguente tabella descrive i modelli di base disponibili.
Tipo | Descrizione | Endpoint OpenAI | Endpoint LLM dell'API Gemini |
Testo | Ottimizzato per seguire le istruzioni in linguaggio naturale ed è adatto per una serie di attività linguistiche. | gpt-3.5-turbo o gpt-4
|
gemini-1.0-pro
|
Chat | Ottimizzato per i casi d'uso delle conversazioni multi-turno. | gpt-3.5-turbo o gpt-4
|
gemini-1.0-pro
|
Installa, importa e autentica l'API Gemini di Vertex AI
Utilizza l'SDK Vertex AI per Python per installare, importare e autenticare l'API Vertex AI Gemini. Di seguito sono riportati i metodi equivalenti per l'SDK Vertex AI per Python e Azure OpenAI.
Installa l'API Gemini di Vertex AI
Azure OpenAI
$ pip install --upgrade openai
API Gemini di Vertex AI
$ pip install google-cloud-aiplatform
Importa l'API Gemini di Vertex AI
Azure OpenAI
import openai
API Gemini di Vertex AI
from vertexai.preview.generative_models import GenerativeModel
Autentica l'API Gemini di Vertex AI
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
API Gemini di Vertex AI
from google.colab import auth as google_auth
google_auth.authenticate_user()
Confronti e codice campione dell'API Gemini di Vertex AI e Azure
Generare testo con l'SDK Vertex AI per Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write an article about the potential of AI",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
API Gemini di Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1}
responses = model.generate_content(
"Write an article about the potential of AI",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Utilizzare il completamento della chat con l'SDK Vertex AI per Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
parameters = {
"model":"gpt-4",
"temperature": 0.2,
"max_tokens": 256,
"top_p": 0.95}
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Hello! Can you write a 300 word article on the history of AI?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Could you give me a catchy title for the paper?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
API Gemini di Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
chat = model.start_chat()
responses = chat.send_message(
content="Hello! Can you write a 300 word article on the history of AI?",
stream=True)
for response in responses:
print(response.text)
responses = chat.send_message(
content="Could you give me a catchy title for the paper?",
stream=True)
for response in responses:
print(response.text)
Generare codice con l'SDK Vertex AI per Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
API Gemini di Vertex AI
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1,
}
responses = model.generate_content(
contents="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Esegui la migrazione dei prompt ai modelli Gemini
Se hai set di prompt che hai utilizzato in precedenza con Azure OpenAI, puoi ottimizzarli per l'utilizzo con i modelli Google utilizzando lo ottimizzatore di prompt di Vertex AI (anteprima).
Passaggi successivi
- Scopri come testare i prompt in Vertex AI Studio.
- Scopri di più sulla progettazione dei prompt per testo e chat.
- Scopri di più sui modelli.