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 a 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 di esempio 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.