In diesem Leitfaden senden Sie einen Text-Prompt über die API an Gemini und sehen sich die Antwort des Modells an.
Sie können diese Anleitung mit Clientbibliotheken für Python in Ihrer lokalen Umgebung oder durch Senden von Befehlszeilenanfragen an die REST API durcharbeiten.
Informationen zu den von Gemini unterstützten Sprachen, in denen Sie Ihre Prompts senden können.
Hinweise
Bevor Sie Text-Prompts an Gemini senden können, um Text generieren zu lassen, benötigen Sie ein Projekt, für das die Gemini API aktiviert ist, sowie die entsprechenden Rollen und Anmeldedaten. Sie müssen die gcloud CLI installieren, initialisieren und authentifizieren und Clientbibliotheken für Python installieren.
Weitere Informationen finden Sie unter Erste Schritte.
Prompt an die Gemini API senden
Mit dem folgenden Code senden Sie einen Text-Prompt an die Gemini API. In diesem Beispiel wird die Höhe des Empire State Building zurückgegeben.
Sie können den Code über die Befehlszeile, mit einer IDE oder durch Einbinden des Codes in Ihre Anwendung ausführen.
Python
So senden Sie einen Text-Prompt und generieren Text aus einem Python-Skript:
Speichern Sie Ihre API-Anfrage in einer JSON-Datei mit dem Namen
request.json. Die Datei muss so aussehen wie im folgenden Beispiel:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Details zum Anfragetext finden Sie unter API-Anfragen formatieren.
Sie können mit Parametern in Ihrer Anfrage experimentieren. Weitere Informationen finden Sie unter Funktionen.
Installieren Sie die erforderlichen Python-Bibliotheken:
pip install openai pip install absl-py pip install typing pip install protobufErforderliche Umgebungsvariablen in einem Python-Skript festlegen
Fügen Sie dem von Ihnen erstellten Python-Skript den folgenden Code hinzu:
import json import os from absl import app from absl import flags from openai import OpenAI, OpenAIError from google.protobuf import json_format from google.protobuf.struct_pb2 import Value from typing import Sequence _INPUT = flags.DEFINE_string("input", None, "input", required=True) _HOST = flags.DEFINE_string("host", None, "Chat Completion endpoint", required=True) _TOKEN = flags.DEFINE_string("token", None, "STS token", required=True) def chat_completion_client(host): return OpenAI( api_key="None", base_url="https://" + host + "/v1/projects/PROJECT_ID/locations/PROJECT_ID" ) def chat_completion(client, messages, token): try: response = client.chat.completions.create( model="MODEL_ID", messages=messages, extra_headers={"Authorization" : "Bearer " + token, "Content-Type": "application/json"} ) print("response:", response) except Exception as e: print("Got exception:", e) def main(argv: Sequence[str]): del argv # Unused. with open(_INPUT.value) as json_file: data = json.load(json_file) print("Request: ", data) client = chat_completion_client(_HOST.value,) chat_completion(client=client, messages=data["messages"], token=_TOKEN.value) if __name__=="__main__": app.run(main)Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.MODEL_ID: Die Modellendpunkt-ID, für die Sie die Antwort generieren möchten.
Speichern Sie das Python-Skript.
So senden Sie eine Anfrage an Gemini über die Chat Completions-Oberfläche:
python SCRIPT_NAME --input=request.json --host=ENDPOINT --token=TOKENErsetzen Sie Folgendes:
SCRIPT_NAME: Der Name, den Sie Ihrem Python-Skript gegeben haben, z. B.client.py.ENDPOINT: Der Gemini-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere InformationenTOKEN: Das Authentifizierungstoken, das Sie erhalten haben.
Sie müssen eine Antwort ähnlich der folgenden erhalten:
ChatCompletion(id='', choices=[Choice(finish_reason='', index=0, logprobs=0, message=ChatCompletionMessage(content='The Empire State Building is **1,454 feet** (443 meters) tall.\n', refusal=None, role='assistant', function_call=None, tool_calls=None))], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=0, prompt_tokens=0, total_tokens=0))
curl
So senden Sie einen Text-Prompt und generieren Text über eine curl-Anfrage an die REST API:
Speichern Sie Ihre API-Anfrage in einer JSON-Datei mit dem Namen
request.json. Die Datei muss so aussehen wie im folgenden Beispiel:{ "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "How tall is the Empire State Building?" } ] }Details zum Anfragetext finden Sie unter API-Anfragen formatieren.
Sie können mit Parametern in Ihrer Anfrage experimentieren. Weitere Informationen finden Sie unter Funktionen.
Stellen Sie die Anfrage:
curl \ -H "Authorization: Bearer TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -X POST https://ENDPOINT:443/v1/projects/PROJECT_ID/locations/PROJECT_ID/chat/completions -d @./request.jsonErsetzen Sie Folgendes:
TOKEN: Das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT: Der Gemini-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere InformationenPROJECT_ID: Ihre Projekt-ID.MODEL_ID: Die Modellendpunkt-ID, für die Sie die Antwort generieren möchten.
Sie müssen eine Antwort ähnlich der folgenden erhalten:
ChatCompletion(id='', choices=[Choice(finish_reason='', index=0, logprobs=0, message=ChatCompletionMessage(content='The Empire State Building is **1,454 feet** (443 meters) tall.\n', refusal=None, role='assistant', function_call=None, tool_calls=None))], created=0, model='', object='', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=0, prompt_tokens=0, total_tokens=0))