Von Azure OpenAI zur Gemini API migrieren

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)

18192 (Gemini API)

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