OCI-Antwort-API

Mit der OCI Responses API können Sie unterstützte Modelle aufrufen, Modellausgaben generieren und toolbasierte oder mehrstufige Workflows über eine einzige OpenAI-kompatible, Open Responses-kompatible API erstellen. Es unterstützt Text- und Bildeingaben und Textausgaben. Sie können damit zustandsbehaftete Interaktionen mit der Unterhaltungshistorie erstellen, unterstützte Tools wie Dateisuche und Codeinterpreter hinzufügen und das Modell über Funktionsaufrufe und MCP-Aufrufe mit externen Systemen verbinden.

So passt die Responses-API in die Agent-Erstellung

Verwenden Sie die Responses-API zusammen mit den folgenden Agent-Building-Komponenten in OCI Generative AI:

Komponente Zweck
Antwort-API Die primäre OpenAI-kompatible API für die Interaktion mit unterstützten Modellen und Agent-Workflows.
Agent-Tools Tools für die Responses API, einschließlich Dateisuche, Code-Interpreter, Funktionsaufruf und MCP-Aufruf.
Agent-Speicher Arbeitsspeicher für die Conversations-API, einschließlich Langzeitgedächtniszugriff und Kurzzeitgedächtniskontextverdichtung.
Grundlegende Agent-Bausteine OpenAI-kompatible grundlegende API wie Dateien, Vektorspeicher und Container-API, die Sie mit der Responses-API zur direkten Kontrolle über Ressourcen verwenden können.

Bei Bedarf können Sie die grundlegenden Bausteine der unteren Ebene mit der Responses-API verwenden.

Was Sie mit der Responses API tun können

Mit der Antwort-API können Sie:

  • Unterstützte gehostete Modelle und importierte Modelle aufrufen.
  • Senden Sie Text- und Bildeingaben und empfangen Sie Textausgaben.
  • Text oder strukturierte Ausgaben generieren
  • Führen Sie Prompts in einem Schritt oder Workflows in mehreren Schritten aus.
  • Fügen Sie unterstützte Tools in der Anforderung hinzu.
  • Führen Sie längere Anforderungen im Hintergrund aus, und rufen Sie deren Status später ab.
  • Streamen Sie Antworten zurück an den Client.
  • Verwenden Sie den OCI-verwalteten Unterhaltungsstatus über die Conversations-API.
  • Unterhaltungshistorie oder vorherige Ausgaben als Kontext für spätere Anfragen wiederverwenden.
  • Verbinden Sie das Modell mit externen Systemen und Daten über Funktionsaufrufe und MCP-Aufrufe.
  • Kombinieren Sie Modellanforderungen bei Bedarf mit Dateien, Vektorspeichern oder Containern.

So können Sie mit einer einfachen Eingabeaufforderung beginnen und auf erweiterte Workflows erweitern, ohne zu einer anderen API zu wechseln.

Wann wird die Responses-API verwendet?

Beginnen Sie bei den meisten neuen Anwendungen mit der Responses-API.

Verwenden Sie es, wenn Sie:

  • Verwenden Sie eine API für Modellinteraktionen und Agentikfunktionen.
  • Unterstützte Tools zu einer Modellanforderung hinzufügen.
  • Verwenden Sie die OCI-verwaltete Unterhaltungshistorie.
  • Strukturierte Ausgaben generieren
  • Führen Sie Anforderungen aus, ohne die ursprüngliche Verbindung offen zu halten, bis die Generierung abgeschlossen ist.
  • Erstellen Sie Workflows, die bei Bedarf auch Dateien, Vektorspeicher oder Container verwenden können.

Unterstützter API-Endpunkt

Basis-URL Endpunktpfad Authentifizierung
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 /responses API-Schlüssel oder IAM-Session

Ersetzen Sie ${region} durch eine unterstützte Region, wie us-chicago-1.

Obwohl das Anforderungsformat OpenAI-kompatibel ist, verwendet die Authentifizierung OCI-Zugangsdaten, Anforderungen werden über OCI Generative AI-Inferenzendpunkte weitergeleitet, und Ressourcen und Ausführung bleiben in OCI.

Hinweis

Die OCI-Antworten-API verwendet dasselbe Format wie die OpenAI-Antworten-API mit dem OCI OpenAI-kompatiblen Endpunkt. Syntax- und Anforderungsdetails finden Sie in der Dokumentation zur OpenAI-Antworten-API. Wenn Sie Tools verwenden, stellen Sie sicher, dass Sie nur die vom OCI OpenAI-kompatiblen Endpunkt unterstützten Tools verwenden.

Authentifizierung

Sie können auf zwei Arten auf OCI OpenAI-kompatible Endpunkte zugreifen:

Verwenden Sie API-Schlüssel für Tests und frühe Entwicklung. Verwenden Sie die IAM-basierte Authentifizierung für Produktions-Workloads und OCI-verwaltete Umgebungen.

Bevor Sie beginnen

Vor dem Aufrufen der Responses-API:

  • Ein OCI Generative AI-Projekt erstellen. OCI OpenAI-kompatible API-Aufrufe erfordern ein Projekt.
  • Richten Sie den Client mit der OCI OpenAI-kompatiblen Basis-URL ein.
  • Authentifizierung einrichten
  • Verwenden Sie ein unterstütztes Modell in einer unterstützten Region.

Einrichtungsschritte finden Sie in der Kurzanleitung, der Authentifizierung und der Unterstützten Modelle und Regionen.

Um die Responses-API aus Code aufzurufen, wird empfohlen, das OpenAI-SDK zu verwenden. Siehe QuickStart.

Erste Antwort erstellen

Im folgenden Beispiel wird das OpenAI-SDK mit dem OCI OpenAI-kompatiblen Endpunkt, einem OCI Generative AI-API-Schlüssel und einer Projekt-OCID verwendet:

from openai import OpenAI

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",
    api_key="<your-api-key>", # replace with your Generative AI API Key
    project="ocid1.generativeaiproject.oc1.us-chicago-1.xxxxxxxx",
)

response = client.responses.create(
    model="<supported-model-id>",
    input="Write a one-sentence explanation of what a database is."
)

print(response.output_text)

In diesem Beispiel gilt:

  • base_url verweist auf den OCI OpenAI-kompatiblen Endpunkt.
  • client.responses.create(...) ruft die OCI-Antwort-API auf.
  • project gibt das OCI Generative AI-Projekt für die Anforderung an.

Antwort im Hintergrund ausführen

Verwenden Sie den Hintergrundmodus, wenn eine Antwort länger dauern kann, als eine HTTP-Verbindung geöffnet bleiben soll. OCI Generative AI akzeptiert die Anforderung, verarbeitet sie weiter, nachdem der erste Aufruf zurückgegeben wurde, und lässt Ihre Anwendung die Antwort abrufen, bis sie den endgültigen Status erreicht. Der Hintergrundmodus ändert, wie Ihre Anwendung auf das Ergebnis wartet. Dadurch wird die Verarbeitungszeit des Modells nicht verkürzt.

Setzen Sie background auf true, wenn Sie die Antwort erstellen. Speichern Sie die zurückgegebene Antwort-ID, weil Sie sie zum Abrufen oder Abbrechen der Anforderung benötigen.

Hintergrundreaktionsvorgänge
Methode Endpunktpfad Zweck
POST /responses Erstellen Sie eine Antwort mit background=true.
GET /responses/{response_id} Rufen Sie den aktuellen Status und nach Abschluss die Ausgabe ab.
POST /responses/{response_id}/cancel Brechen Sie eine Hintergrundantwort ab, die keinen endgültigen Status erreicht hat.
GET /responses/{response_id}?stream=true&starting_after={sequence_number} Setzen Sie einen Hintergrundstream nach dem letzten Ereignis fort, das der Client empfangen hat.

Hintergrundantwort erstellen

Im folgenden Beispiel wird eine Anforderung gestartet und ihre Antwort-ID gespeichert:

response = client.responses.create(
    model="<supported-model-id>",
    input="Analyze this incident timeline and propose a prioritized remediation plan.",
    background=True,
)

response_id = response.id
print(f"Response ID: {response_id}")
print(f"Initial status: {response.status}")

Der anfängliche Status lautet normalerweise queued oder in_progress. Die Anforderung wird unabhängig von der anfänglichen Verbindung weiter ausgeführt.

Status und Ergebnis abrufen

Rufen Sie die Antwort regelmäßig ab, während der Status queued oder in_progress lautet. Jeder andere Status gibt an, dass die Verarbeitung beendet wurde.

from time import sleep

while response.status in {"queued", "in_progress"}:
    sleep(5)
    response = client.responses.retrieve(response_id)
    print(f"Current status: {response.status}")

if response.status == "completed":
    print(response.output_text)
else:
    print(f"Response ended with status: {response.status}")

Wählen Sie für Produktionsanwendungen ein Polling-Intervall, das unnötige Anforderungen vermeidet und Nicht-Abschlussstatus verarbeitet, bevor Sie versuchen, die Ausgabe zu verwenden.

Hintergrundantwort abbrechen

Um eine noch ausgeführte Antwort zu stoppen, übergeben Sie ihre ID an den Abbruchvorgang:

response = client.responses.cancel(response_id)
print(f"Status: {response.status}")

Wenn Sie den Abbruchvorgang für dieselbe Antwort wiederholen, wird das Endergebnis nicht geändert. Der Service gibt die Antwort in ihrem aktuellen endgültigen Status zurück.

Hintergrundantwort streamen

Sie können Streaming-Ereignisse empfangen, während Sie die Wiederverbindung beibehalten, wenn der Stream unterbrochen wird. Setzen Sie background und stream beim Erstellen der Antwort auf true. Zeichnen Sie die sequence_number aus dem letzten Ereignis auf. Um die Verbindung wiederherzustellen, rufen Sie die Antwort als Stream ab, und übergeben Sie diesen Wert in starting_after.

Hinweis

Sie können das Streaming nur fortsetzen, wenn die Hintergrundantwort ursprünglich mit stream=true erstellt wurde.

Reaktionsspeicher

Für die Hintergrundausführung ist ein temporärer Antwortspeicher erforderlich, damit der Service die Verarbeitung der Anforderung fortsetzen und ihren Status und ihr Ergebnis zurückgeben kann. Dieser temporäre Speicher ist erforderlich, auch wenn die Anforderung store auf false setzt. Antwortdaten verbleiben in OCI.

Das kompatible Anforderungsformat und zusätzliche Details zum Hintergrundmodus finden Sie unter Hintergrundmodus in der OpenAI-API-Dokumentation.

Agent-Speicher mit Antwort-API verwenden

Um OCI die Multiturn-Unterhaltungshistorie verwalten zu lassen, erstellen Sie zunächst eine Unterhaltung:

conversation = client.conversations.create()

Fügen Sie dann die Unterhaltungs-ID in die Antwort-API-Anforderung ein:


response = client.responses.create(
  model="<supported-model-id>",
  input=[
        {
            "role": "user",
            "content": "Recommend a restaurant based on the food I like."
        }
    ],
    conversation=conversation.id,
)

Verwenden Sie dieses Muster, wenn OCI den Unterhaltungsstatus über Anforderungen hinweg verwalten soll.

Weitere Informationen zu Speicherfunktionen finden Sie unter Conversations API, Short-Term Memory, Long-Term Memory und Short-Term Memory Compaction.

Tools mit der Responses-API verwenden

Die Responses-API unterstützt werkzeugfähige Workflows über die Eigenschaft tools. In vielen Anwendungsfällen können Sie die Tools in der Anforderung deklarieren und die Modellausführung und Toolverwendung von OCI Generative AI koordinieren lassen.

Toolunterstützung ist nur über die API verfügbar.

Unterstützte Tooltypen

OCI Generative AI unterstützt die folgenden Tooltypen mit der Responses-API:

Tool tools[].type Beschreibung
Dateisuche "file_search" Lässt die hochgeladenen Dateien der Modellsuche und den Vektorspeicherinhalt für Retrieval-basierte Antworten zu.
Code-Interpreter "code_interpreter" Lässt den Modellausführungscode in einer OCI-verwalteten Sandbox-Umgebung zu.
Funktionsaufrufe "function" Lässt den Benutzer lokale Funktionen definieren und lässt die Anwendung die Funktionen ausführen und die Ergebnisse an das Modell zurückgeben.
MCP - Aufruf "mcp" Erteilt dem Modell Zugriff auf Methoden, die von einem Remote-MCP-Server bereitgestellt werden.

Für Einrichtungsschritte und Beispiele wählen Sie den Link für jedes Tool in der Tabelle aus.

Hinweis

OpenAI dokumentiert andere Tooltypen, OCI Generative AI unterstützt jedoch nur die hier für die Responses-API aufgeführten Tooltypen. Andere OCI-Funktionen, wie NL2SQL, werden separat dokumentiert und nicht über das Feld "Responses API tools" konfiguriert.

Beispiel: MCP-Aufrufe

Im folgenden Beispiel wird ein MCP-Tool in der Anforderung definiert:

response = client.responses.create(
    model="openai.gpt-oss-120b",
    tools=[
        {
            "type": "mcp",
            "server_url": "https://example.com/mcp",
        }
    ],
    input="What events are scheduled for 2026-04-02?"
)

In diesem Beispiel ruft die Responses-API das Modell auf und übergibt die MCP-Tooldefinition als Teil derselben Anforderung. Sie benötigen keine separate MCP-spezifische API.

Wann wird die grundlegende API verwendet?

Sie können die grundlegenden Agent-Bausteine mit der Responses-API verwenden, wenn Ihr Workflow eine direkte Kontrolle über Dateien, Vektorspeicher oder Container benötigt.

Häufige Beispiele:

  • Dateien vor dem Senden einer Modellanforderung hochladen
  • Verwalten von Vektorspeicherinhalten direkt
  • Wiederverwendung von Dateien oder Ressourcen über mehrere Anforderungen hinweg
  • Arbeiten mit Sandbox-Containern als Teil eines umfassenderen Workflows

Die folgende API wird häufig mit der Responses-API verwendet:

API Endpunktpfad Typische Verwendung mit der Responses-API
Datei-API /files Laden Sie Dateien hoch, die Sie später in einer Antwortanforderung referenzieren, und verwalten Sie sie.
Vector Stores-API /vector_stores/... Verwalten Sie Vektorspeicherinhalte, die für Abrufworkflows wie Dateisuche verwendet werden.
Container-API /containers und /containers/{id}/files Verwalten Sie Sandbox-Ressourcen, die in toolfähigen Workflows verwendet werden.

Beispiel: Laden Sie zuerst eine Datei hoch, und verwenden Sie sie dann in der Responses-API

Erstes Hochladen einer Datei:

file_response = client.files.create(
    file=open("example-document.pdf", "rb"),
    purpose="assistants"
)

file_id = file_response.id

Referenzieren Sie dann die hochgeladene Datei in der API-Anforderung "Antworten":

response = client.responses.create(
    model="<model-id>",
    input=[
        {
            "role": "user",
            "content": [
                { "type": "input_file", "file_id": file_id },
                { "type": "input_text", "text": "List all the cities mentioned in this document." }
            ]
        }
    ]
)

In diesem Beispiel arbeiten die Files-API und die Responses-API in einem Workflow zusammen.

SDKs und Frameworks

Sie können die OCI-Antworten-API mit dem OpenAI-SDK verwenden. Sie können sie auch mit kompatiblen clientseitigen Agent-Frameworks verwenden.

Das OpenAI SDK unterstützt folgende Sprachen:

  • Python
  • Java
  • TypeScript
  • Gehe zu
  • .NET

Mehr Sprachunterstützung ist über Community-Bibliotheken verfügbar.

Compatible Agent Frameworks umfassen:

  • OpenAI-Agent-SDK (empfohlen)
  • OpenAI Codex-SDK
  • Microsoft Agent-Framework
  • LangChain
  • Langgrafik
  • TeamKI
  • Automatisch generieren
  • Lama-Index
  • Pydantik

API für OCI-Antworten und OpenAI-Antworten

Feature OCI-Antwort-API API für OpenAI-Antworten
Modellauswahl Unterstützt von OCI gehostete Modelle und Nicht-OpenAI-Modelle Nur OpenAI-Modelle
Modell-Serving-Infrastruktur Gemeinsame OCI-Infrastruktur oder dedizierte KI-Cluster Gemeinsame OpenAI-Infrastruktur
Authentifizierung OCI IAM- oder API-Schlüssel API-Schlüssel
Datenaufbewahrung Daten bleiben in OCI Daten werden in OpenAI gespeichert
Privates Networking Unterstützt OCI-VCN-Integration und private Endpunkte Nicht verfügbar
Endpunktmodell Regionale Endpunkte Globaler Endpunkt