Cette page décrit les étapes requises pour effectuer une migration vers l'API Vertex AI Gemini à partir de Microsoft Azure OpenAI.
L'API Gemini est un service dans le cloud entièrement géré qui vous permet de créer et d'entraîner des modèles génératifs à l'aide de la console Google Cloud. Elle donne accès à de grands modèles de langage (LLM), qui vous permettent de créer diverses applications, y compris des chatbots, des générateurs de contenu et des outils de création.
Prérequis
Pour migrer un service OpenAI depuis Microsoft Azure OpenAI vers l'API Vertex AI Gemini, vous devez d'abord créer un projet Google Cloud et un environnement de développement. Pour en savoir plus, consultez la page Configurer un projet et un environnement de développement.
Migrer vers l'API Gemini
Utilisez les rubriques suivantes pour découvrir comment migrer vers l'API Gemini à partir d'un projet OpenAI dans Microsoft Azure.
Utiliser les paramètres équivalents de l'API Gemini
Voici quelques paramètres d'Azure OpenAI courants et leurs équivalents dans l'API PaLM
Paramètres OpenAI | Paramètres de l'API Gemini | Description | Valeurs valides |
prompt |
prompt |
Une requête est une instruction en langage naturel envoyée à un modèle de langage pour recevoir une réponse. Les requêtes peuvent contenir des questions, des instructions, des informations contextuelles, des exemples et du texte que le modèle doit continuer ou compléter. | Texte |
temperature |
temperature |
La température est utilisée pour l'échantillonnage pendant la génération des réponses, qui se produit lorsque topP et topK sont appliqués. La température permet de contrôler le degré de hasard dans la sélection des jetons.
Les températures inférieures sont idéales pour les requêtes qui nécessitent une réponse moins ouverte ou créative, tandis que des températures plus élevées peuvent conduire à des résultats plus diversifiés ou créatifs. Une température de 0 signifie que les jetons de probabilité les plus élevés sont toujours sélectionnés. Dans ce cas, les réponses pour une requête donnée sont principalement déterministes, mais une petite quantité de variation est toujours possible.
Si le modèle renvoie une réponse trop générique ou trop courte, ou s'il renvoie une réponse de remplacement, essayez d'augmenter la température. |
0.0 – 1.0
|
max_tokens |
maxOutputTokens |
Nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.
Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues. |
1-8192 (OpenAI)
|
Non disponible | topK |
Top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.
Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température. Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires. |
1 – 40
|
top_p |
topP |
Top-P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés de la valeur la plus élevée (voir top-K) à la moins probable jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est supérieure à 0.5 , le modèle sélectionne A ou B comme jeton suivant en utilisant la température et exclut C comme candidat.
Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires. |
0.0 – 1.0
|
stop |
stop_sequences |
Une séquence d'arrêt est une série de caractères (espaces compris) qui arrête la génération de réponse si le modèle la rencontre. La séquence n'est pas incluse dans la réponse. Vous pouvez ajouter jusqu'à cinq séquences d'arrêt. | Votre séquence d'arrêt dans un tableau, par exemple ["###"] .
|
Utiliser le modèle d'API Gemini équivalent
Le tableau suivant décrit les modèles de fondation disponibles.
Type | Description | Points de terminaison OpenAI | Points de terminaison LLM de l'API Gemini |
Texte | Optimisé pour suivre les instructions en langage naturel et adapté à diverses tâches linguistiques. | gpt-3.5-turbo ou gpt-4
|
gemini-1.0-pro
|
Chat | Optimisé pour les cas d'utilisation de conversation multitours. | gpt-3.5-turbo ou gpt-4
|
gemini-1.0-pro
|
Installer, importer et authentifier l'API Vertex AI Gemini
Utilisez le SDK Vertex AI pour Python pour installer, importer et authentifier l'API Gemini de Vertex AI. Vous trouverez ci-dessous les méthodes équivalentes pour le SDK Vertex AI pour Python et Azure OpenAI.
Installer l'API Vertex AI Gemini
Azure OpenAI
$ pip install --upgrade openai
API Gemini Vertex AI
$ pip install google-cloud-aiplatform
Importer l'API Vertex AI Gemini
Azure OpenAI
import openai
API Gemini Vertex AI
from vertexai.preview.generative_models import GenerativeModel
Authentifier l'API Vertex AI Gemini
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
API Gemini Vertex AI
from google.colab import auth as google_auth
google_auth.authenticate_user()
Exemples de code et comparaisons entre l'API Vertex AI Gemini et Azure
Générer du texte avec le SDK Vertex AI pour 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 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)
Utiliser la complétion de chat avec le SDK Vertex AI pour 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 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)
Écrire du code avec le SDK Vertex AI pour 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 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)
Migrer des requêtes vers des modèles Gemini
Si vous avez des ensembles de requêtes que vous avez déjà utilisés avec Azure OpenAI, vous pouvez les optimiser pour les utiliser avec des modèles Google à l'aide de l'optimiseur de requêtes Vertex AI (preview).
Étape suivante
- Découvrez comment tester des requêtes dans Vertex AI Studio.
- En savoir plus sur la conception d'invites pour le texte et le chat
- Apprenez-en plus sur les modèles multimodaux.