Auf dieser Seite werden die Schritte beschrieben, die zum Migrieren zur Vertex AI PaLM API von Microsoft Azure OpenAI erforderlich sind.
Lernziele
Die PaLM 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 PaLM API migrieren möchten, müssen Sie zuerst ein Google Cloud-Projekt und eine Entwicklungsumgebung erstellen. Weitere Informationen finden Sie unter Google Cloud-Projekt und Entwicklungsumgebung einrichten.
Zur PaLM API migrieren
In den folgenden Themen erfahren Sie, wie Sie von einem OpenAI-Projekt in Microsoft Azure zur PaLM API migrieren.
Äquivalente PaLM API-Parameter verwenden
Im Folgenden finden Sie einige gängige Azure OpenAI-Parameter und die entsprechenden Parameter in der PaLM API:
OpenAI-Parameter | PaLM 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
|
Äquivalentes PaLM API-Modell verwenden
In der folgenden Tabelle werden die Basismodelle beschrieben.
Typ | Beschreibung | OpenAI-Endpunkte | LLM-Endpunkte der PaLM 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
|
text-bison@002
|
Chat | Bereit für Anwendungsfälle mit Multi-Turn-Unterhaltungen. | gpt-3.5-turbo oder gpt-4
|
chat-bison@002
|
Einbettung | Feinabstimmung von Modelleinbettungen für Texteingaben zurückgeben | text-embedding-ada-002
|
textembedding-gecko@003
|
Generative AI in Vertex AI installieren, importieren und authentifizieren
Verwenden Sie das Vertex AI SDK für Python, um generative KI in Vertex AI zu installieren, zu importieren und zu authentifizieren. Im Folgenden finden Sie die entsprechenden Methoden für das Vertex AI SDK für Python und Azure OpenAI.
Vertex AI PaLM API installieren
Azure OpenAI
$ pip install --upgrade openai
Vertex AI PaLM API
$ pip install google-cloud-aiplatform
Vertex AI PaLM API importieren
Azure OpenAI
import openai
Vertex AI PaLM API
from vertexai.preview.language_models import TextGenerationModel
Vertex AI PaLM API authentifizieren
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
Vertex AI PaLM API
from google.colab import auth as google_auth
google_auth.authenticate_user()
Vertex AI PaLM 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="Hello",
max_tokens=256,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
Vertex AI PaLM API
from vertexai.preview.language_models import TextGenerationModel
model = TextGenerationModel.from_pretrained("text-bison@002")
response = model.predict(
"Hello",
max_output_tokens=256,
temperature=0.3,)
print(f"Response from Model: {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 = client.chat.completions.create(
messages=[
{"role": "system", "content": "My name is Miles. You are an astronomer, knowledgeable about the solar system."},
{"role": "user", "name":"example_user", "content": "How many planets are there in the solar system?"}
],
**parameters)
response = chat['choices'][0]
print(f"Response from Azure OpenAI Model: {response.text}")
Vertex AI PaLM API
from vertexai.preview.language_models import ChatModel
chat_model = ChatModel.from_pretrained("chat-bison@002")
parameters = {
"temperature": 0.2,
"max_output_tokens": 256,
"top_p": 0.95}
chat = chat_model.start_chat(context="My name is Miles. You are an astronomer, knowledgeable about the solar system.")
response = chat.send_message(
"How many planets are there in the solar system?",
**parameters)
print(f"Response from Google GenAI Model: {response.text}")
Texteinbettung mit dem Vertex AI SDK für Python verwenden
Azure OpenAI
import openai
embeddings = openai.Embedding.create(
deployment_id="text-embedding-ada-002",
#engine="text-embedding-ada-002",
input="What is life?"
)["data"][0]["embedding"]
print(f'Length of Embedding Vector: {len(embeddings)}')
Vertex AI PaLM API
from vertexai.preview.language_models import TextEmbeddingModel
model = TextEmbeddingModel.from_pretrained("textembedding-gecko@003")
embeddings = model.get_embeddings(["What is life?"])
for embedding in embeddings:
vector = embedding.values
print(f'Length of Embedding Vector: {len(vector)}')
Wie geht es weiter?
- Testen von Prompts in Vertex AI Studio
- Weitere Informationen zum Eingabedesign für Text und Chat
- Weitere Informationen zur Texteinbettung
- Weitere Informationen zum Optimieren von Foundation Models.