Questa pagina descrive i passaggi necessari per eseguire la migrazione all'API Vertex AI Gemini da Microsoft Azure OpenAI.
L'API Gemini è un servizio basato su cloud completamente gestito che ti consente di creare e addestrare modelli generativi utilizzando la console Google Cloud. Consente di accedere a modelli linguistici di grandi dimensioni (LLM), che puoi utilizzare per creare una varietà 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 Vertex AI Gemini, devi prima creare un progetto Google Cloud e un ambiente di sviluppo. Per ulteriori informazioni, consulta la pagina Configurazione su Google Cloud.
Esegui la migrazione all'API Gemini
Utilizza i seguenti argomenti per scoprire come eseguire la migrazione all'API Gemini da un progetto OpenAI in Microsoft Azure.
Usa i parametri equivalenti dell'API Gemini
Di seguito sono riportati alcuni parametri comuni di Azure OpenAI e i loro parametri equivalenti nell'API Gemini:
Parametri OpenAI | Parametri dell'API Gemini | Descrizione | Valori validi |
prompt |
prompt |
Un prompt è una richiesta in linguaggio naturale inviata a un modello linguistico per ricevere una risposta. I prompt possono contenere domande, istruzioni, informazioni contestuali, esempi e testo da completare o continuare. | 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 una risposta meno aperta o creativa, mentre
le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0
significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte a una determinata
richiesta 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 di 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 che il token successivo viene selezionato tra i tre token più probabili utilizzando la temperatura.
Per ogni passaggio di selezione dei token, vengono campionati i token top-K con le probabilità più alte. 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 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 selezionerà 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 interruzioni in un array, ad esempio ["###"] .
|
Usa il modello 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 del linguaggio naturale e adatto a una varietà di attività relative alle lingue. | gpt-3.5-turbo o gpt-4
|
gemini-1.0-pro
|
Chat | Ottimizzato per casi d'uso di conversazioni in più passaggi. | gpt-3.5-turbo o gpt-4
|
gemini-1.0-pro
|
Installa, importa e autentica l'API Gemini di Vertex AI
Usa l'SDK Vertex AI per Python per installare, importare e autenticare l'API Gemini di Vertex AI. Di seguito sono riportati i metodi equivalenti per l'SDK Vertex AI per Python e Azure OpenAI.
Installare 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 Vertex AI Gemini e Azure
Genera 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)
Utilizza 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)
Genera il 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)
Passaggi successivi
- Scopri come testare i prompt in Vertex AI Studio.
- Scopri di più sulla progettazione di prompt per testo e chat.
- Scopri di più sui modelli multimodali.