Auf dieser Seite werden die Schritte beschrieben, die zum Migrieren zur Vertex AI Gemini API von Microsoft Azure OpenAI erforderlich sind.
Die Gemini API ist ein vollständig verwalteter cloudbasierter Dienst, mit dem Sie generative Modelle mit der Google Cloud Console erstellen und trainieren können. Es bietet Zugriff auf Large Language Models (LLMs), mit denen Sie eine Vielzahl von Anwendungen erstellen können, einschließlich Chatbots, Inhaltsgeneratoren und Kreativtools.
Vorbereitung
Wenn Sie einen OpenAI-Dienst von Microsoft Azure OpenAI zur Vertex AI Gemini API migrieren möchten, müssen Sie zuerst ein Google Cloud-Projekt und eine Entwicklungsumgebung erstellen. Weitere Informationen finden Sie unter In Google Cloud einrichten.
Zur Gemini API migrieren
In den folgenden Themen erfahren Sie, wie Sie von einem OpenAI-Projekt in Microsoft Azure zur Gemini API migrieren.
Äquivalente Gemini API-Parameter verwenden
Im Folgenden finden Sie einige gängige Azure OpenAI-Parameter und ihre entsprechenden Parameter in der Gemini API:
OpenAI-Parameter | Gemini API-Parameter | Beschreibung | Zulässige Werte |
prompt |
prompt |
Eine Eingabeaufforderung ist eine Anfrage in natürlicher Sprache, die an ein Sprachmodell gesendet wird, um eine Antwort zu erhalten. Eingabeaufforderungen können Fragen, Anleitungen, Kontextinformationen, Beispiele und Text enthalten, die das Modell fertigstellen oder fortsetzen soll. | Text |
temperature |
temperature |
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn topP und topK angewendet werden. Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl.
Niedrigere Temperaturen eignen sich gut für Prompts, die eine weniger offene oder kreative Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von 0 bedeutet, dass immer die Tokens mit der höchsten Wahrscheinlichkeit ausgewählt werden. In diesem Fall sind die Antworten auf einen bestimmten Prompt größtenteils deterministisch, aber eine gewisse Variation ist dennoch möglich.
Wenn das Modell eine zu allgemeine oder zu kurze Antwort zurückgibt, oder wenn das Modell eine Fallback-Antwort ausgibt, versuchen Sie, die Temperatur zu erhöhen. |
0.0 bis 1.0
|
max_tokens |
maxOutputTokens |
Maximale Anzahl an Tokens, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.
Geben Sie kürzere Werte für kürzere Antworten und höhere Werte für längere Antworten an. |
1-8192 (OpenAI)
|
Nicht verfügbar | topK |
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1 bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.
Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird. Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an. |
1 bis 40
|
top_p |
topP |
Der Wert „Top-P“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Die Tokens werden von den wahrscheinlichsten (siehe „Top-K“) bis zu den unwahrscheinlichsten Werten ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem „Top-P“-Wert entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der „Top-P“-Wert 0.5 ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und C als Kandidaten ausschließen.
Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an. |
0.0 bis 1.0
|
stop |
stop_sequences |
Eine Stoppsequenz ist eine Reihe von Zeichen (einschließlich Leerzeichen), die die Antwortgenerierung stoppt, wenn das Modell darauf stößt. Die Sequenz ist nicht Teil der Antwort. Sie können bis zu fünf Stoppsequenzen hinzufügen. | Die Stoppsequenz in einem Array, z. B. ["###"] .
|
Entsprechendes Gemini API-Modell verwenden
In der folgenden Tabelle werden die Basismodelle beschrieben.
Typ | Beschreibung | OpenAI-Endpunkte | LLM-Endpunkte der Gemini API |
Text | Optimiert, um Anweisungen in natürlicher Sprache zu folgen, und für eine Vielzahl von Sprachaufgaben geeignet. | gpt-3.5-turbo oder gpt-4
|
gemini-1.0-pro
|
Chat | Bereit für Anwendungsfälle mit Multi-Turn-Unterhaltungen. | gpt-3.5-turbo oder gpt-4
|
gemini-1.0-pro
|
Vertex AI Gemini API installieren, importieren und authentifizieren
Verwenden Sie das Vertex AI SDK für Python, um die Vertex AI Gemini API zu installieren, zu importieren und zu authentifizieren. Im Folgenden werden die entsprechenden Methoden für das Vertex AI SDK für Python und Azure OpenAI aufgeführt.
Vertex AI Gemini API installieren
Azure OpenAI
$ pip install --upgrade openai
Vertex AI Gemini API
$ pip install google-cloud-aiplatform
Vertex AI Gemini API importieren
Azure OpenAI
import openai
Vertex AI Gemini API
from vertexai.preview.generative_models import GenerativeModel
Vertex AI Gemini API authentifizieren
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
Vertex AI Gemini API
from google.colab import auth as google_auth
google_auth.authenticate_user()
Vertex AI Gemini API und Azure – Vergleiche und Beispielcode
Text mit dem Vertex AI SDK für Python generieren
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']}")
Vertex AI Gemini API
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)
Chatvervollständigung mit dem Vertex AI SDK für Python verwenden
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}")
Vertex AI Gemini API
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)
Code mit dem Vertex AI SDK für Python generieren
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']}")
Vertex AI Gemini API
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)
Nächste Schritte
- Testen von Prompts in Vertex AI Studio
- Weitere Informationen zum Eingabedesign für Text und Chat
- Weitere Informationen zu multimodalen Modellen