Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Rufen Sie ein Modell mit der OpenAI-Chat-Completions-API auf
Sie können Modellinferenzen mithilfe der OpenAI-Create-Chat-Completion-API für Amazon-Bedrock-Modelle ausführen.
Sie können die API Create-Chat-Completion wie folgt aufrufen:
Wählen Sie ein Thema aus, um mehr zu erfahren:
Unterstützte Modelle und Regionen für die OpenAI-Chat-Completions-API
Sie können die Create-Chat-Completion-API mit allen OpenAI-Modellen verwenden, die in Amazon Bedrock und in den AWS-Regionen unterstützt werden, die diese Modelle unterstützen. Weitere Informationen zu unterstützten Modellen und Regionen finden Sie unter Unterstützte Basismodelle in Amazon Bedrock.
Voraussetzungen für die Verwendung der Chat-Completions-API
Wenn Sie Beispiele für die Verwendung der Chat-Completions-API sehen möchten, wählen Sie die Registerkarte mit Ihrer bevorzugten Methode aus und führen Sie dann die folgenden Schritte aus:
- OpenAI SDK
-
- HTTP request
-
-
Authentifizierung – Sie können sich entweder mit Ihren AWS-Anmeldeinformationen oder mit einem API-Schlüssel von Amazon Bedrock authentifizieren.
Richten Sie Ihre AWS-Anmeldeinformationen ein oder generieren Sie einen API-Schlüssel von Amazon Bedrock, um Ihre Anforderung zu authentifizieren.
-
Endpunkt – Suchen Sie den Endpunkt, der der AWS-Region entspricht, die in Runtime-Endpunkte und -kontingente von Amazon Bedrock verwendet werden soll. Wenn Sie ein AWS SDK verwenden, müssen Sie bei der Einrichtung des Clients möglicherweise nur den Regionscode und nicht den gesamten Endpunkt angeben.
Erstellen einer Chat-Vervollständigung
Einzelheiten zur Create-Chat-Completion-API finden Sie in den folgenden Ressourcen in der OpenAI-Dokumentation:
Amazon Bedrock unterstützt derzeit nicht die anderen API-Operationen zur OpenAI-Chat-Vervollständigung.
Um zu erfahren, wie Sie die OpenAI-Create-Chat-Completion-API verwenden, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und folgen den Schritten:
- OpenAI SDK (Python)
-
Gehen Sie wie folgt vor, um eine Chat-Vervollständigung mit dem OpenAI SDK zu erstellen:
-
Importieren Sie das OpenAI SDK und richten Sie den Client mit den folgenden Feldern ein:
-
base_url – Stellen Sie dem Amazon Bedrock Runtime-Endpunkt das Präfix /openai/v1 wie im folgenden Format vor:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key – Geben Sie einen Amazon-Bedrock-API-Schlüssel an.
-
default_headers – Wenn Sie Header einbeziehen müssen, können Sie diese als Schlüssel-Wert-Paare in dieses Objekt aufnehmen. Sie können auch Header unter extra_headers angeben, wenn Sie einen bestimmten API-Aufruf tätigen.
-
Verwenden Sie die chat.completions.create()-Methode mit dem Client und geben Sie mindestens das messages und die model im Anforderungstext an.
Im folgenden Beispiel wird die Create-Chat-Completion-API in us-west-2 aufgerufen. Ersetzen Sie $AWS_BEARER_TOKEN_BEDROCK durch Ihren tatsächlichen API-Schlüssel.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
completion = client.chat.completions.create(
model="openai.gpt-oss-20b-1:0",
messages=[
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
)
print(completion.choices[0].message)
- HTTP request
-
Gehen Sie wie folgt vor, um eine Chat-Vervollständigung mit einer direkten HTTP-Anfrage zu erstellen:
-
Geben Sie die URL an, indem Sie dem Amazon-Bedrock-Runtime-Endpunkt das Präfix /openai/v1/chat/completions wie im folgenden Format voranstellen:
https://${bedrock-runtime-endpoint}/openai/v1/chat/completions
-
Geben Sie Ihre AWS-Anmeldeinformationen oder einen Amazon-Bedrock-API-Schlüssel im Authorization-Header an.
-
Geben Sie im Anfragetext mindestens das model und die messages an.
Im folgenden Beispiel wird Curl verwendet, um die Create-Chat-Completion-API in us-west-2 aufzurufen. Ersetzen Sie $AWS_BEARER_TOKEN_BEDROCK durch Ihren tatsächlichen API-Schlüssel:
curl -X POST https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-d '{
"model": "openai.gpt-oss-20b-1:0",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
So fügen Sie einen Integritätsschutz in eine Chat-Vervollständigung ein
Um Sicherheitsvorkehrungen in Modelleingaben und -antworten einzubeziehen, wenden Sie einen Integritätsschutz an, indem Sie die folgenden zusätzlichen Parameter als Felder im Anforderungstext aufnehmen:
-
extra_headers – Ordnet einem Objekt mit den folgenden Felder zu, die zusätzliche Header in der Anfrage angeben:
-
X-Amzn-Bedrock-GuardrailIdentifier (erforderlich) – Die ID des Integritätsschutzes.
-
X-Amzn-Bedrock-GuardrailVersion (erforderlich) – Die Version des Integritätsschutzes.
-
X-Amzn-Bedrock-Trace (optional) – Ob die Ablaufverfolgung für den Integritätsschutz aktiviert werden soll oder nicht.
-
extra_body – Ordnet einem Objekt zu. In dieses Objekt können Sie das amazon-bedrock-guardrailConfig-Feld aufnehmen, das einem Objekt mit den folgenden Feldern zugeordnet ist:
Weitere Informationen zu diesen Parametern in Integritätsschutz für Amazon Bedrock finden Sie unter So testen Sie Ihren Integritätsschutz.
Wenn Sie Beispiele für die Verwendung des Integritätsschutzes mit OpenAI-Chat-Vervollständigungen sehen möchten, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und führen Sie dann die folgenden Schritte aus:
- OpenAI SDK (Python)
-
import openai
from openai import OpenAIError
# Endpoint for Amazon Bedrock Runtime
bedrock_endpoint = "https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1"
# Model ID
model_id = "openai.gpt-oss-20b-1:0"
# Replace with actual values
bedrock_api_key = "$AWS_BEARER_TOKEN_BEDROCK"
guardrail_id = "GR12345"
guardrail_version = "DRAFT"
client = openai.OpenAI(
api_key=bedrock_api_key,
base_url=bedrock_endpoint,
)
try:
response = client.chat.completions.create(
model=model_id,
# Specify guardrail information in the header
extra_headers={
"X-Amzn-Bedrock-GuardrailIdentifier": guardrail_id,
"X-Amzn-Bedrock-GuardrailVersion": guardrail_version,
"X-Amzn-Bedrock-Trace": "ENABLED",
},
# Additional guardrail information can be specified in the body
extra_body={
"amazon-bedrock-guardrailConfig": {
"tagSuffix": "xyz" # Used for input tagging
}
},
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "assistant",
"content": "Hello! How can I help you today?"
},
{
"role": "user",
"content": "What is the weather like today?"
}
]
)
request_id = response._request_id
print(f"Request ID: {request_id}")
print(response)
except OpenAIError as e:
print(f"An error occurred: {e}")
if hasattr(e, 'response') and e.response is not None:
request_id = e.response.headers.get("x-request-id")
print(f"Request ID: {request_id}")
- OpenAI SDK (Java)
-
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.http.HttpResponseFor;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
// Endpoint for Amazon Bedrock Runtime
String bedrockEndpoint = "http://bedrock-runtime.us-west-2.amazonaws.com/openai/v1"
// Model ID
String modelId = "openai.gpt-oss-20b-1:0"
// Replace with actual values
String bedrockApiKey = "$AWS_BEARER_TOKEN_BEDROCK"
String guardrailId = "GR12345"
String guardrailVersion = "DRAFT"
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey(bedrockApiKey)
.baseUrl(bedrockEndpoint)
.build()
ChatCompletionCreateParams request = ChatCompletionCreateParams.builder()
.addUserMessage("What is the temperature in Seattle?")
.model(modelId)
// Specify additional headers for the guardrail
.putAdditionalHeader("X-Amzn-Bedrock-GuardrailIdentifier", guardrailId)
.putAdditionalHeader("X-Amzn-Bedrock-GuardrailVersion", guardrailVersion)
// Specify additional body parameters for the guardrail
.putAdditionalBodyProperty(
"amazon-bedrock-guardrailConfig",
JsonValue.from(Map.of("tagSuffix", JsonValue.of("xyz"))) // Allows input tagging
)
.build();
HttpResponseFor<ChatCompletion> rawChatCompletionResponse =
client.chat().completions().withRawResponse().create(request);
final ChatCompletion chatCompletion = rawChatCompletionResponse.parse();
System.out.println(chatCompletion);